by mixpeek
Open-source control plane for AI coding agents. Run an AI engineering team: parallel Claude Code, Codex, and Gemini workers with a shared board, atomic tasks, schedules, loops, origin-stamped messaging, model switching, and self-healing recovery. One dashboard, or your phone. MIT, single Rust binary.
# Add to your Claude Code skills
git clone https://github.com/mixpeek/amuxLast scanned: 5/30/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-30T15:37:34.459Z",
"npmAuditRan": true,
"pipAuditRan": true
}See how amux compares with popular alternatives.
amux is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by mixpeek. Open-source control plane for AI coding agents. Run an AI engineering team: parallel Claude Code, Codex, and Gemini workers with a shared board, atomic tasks, schedules, loops, origin-stamped messaging, model switching, and self-healing recovery. One dashboard, or your phone. MIT, single Rust binary. It has 502 GitHub stars.
Yes. amux passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/mixpeek/amux" and add it to your Claude Code skills directory (see the Installation section above).
amux is primarily written in Rust. It is open-source under mixpeek on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh amux against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
amux is the open-source control plane for AI coding agents. Run an AI engineering team: dozens of parallel workers (Claude Code, Codex, Gemini CLI, OpenCode, Ollama) coordinated from one web dashboard or your phone. Local-first, self-hosted, SQLite-backed, one Rust binary.
What the fleet gets that a single agent never had:
done requires evidence, verified requires a peer checkdaily at 9am, every 15m) plus self-pacing autonomous loops for overnight runsamux.io · Getting started · FAQ · Blog
git clone https://github.com/mixpeek/amux && cd amux && ./install.sh
That is the whole setup. The installer checks prerequisites (Rust toolchain, tmux; it prompts before installing anything), builds the workspace, installs the server and CLI to ~/.local/bin, loads the launchd agents on macOS, mints ~/.amux (DB, TLS, auth token) on first boot, waits for /health, and prints:
Dashboard https://localhost:8824
Auth token ~/.amux/auth_token
CLI amux-rs --url https://localhost:8824 health
Open https://localhost:8824, accept the self-signed cert warning once, and add your first worker from the dashboard. Re-running ./install.sh upgrades in place and never touches your data; ./uninstall.sh removes the binaries and agents and leaves ~/.amux alone.
Once installed, day-to-day commands are short:
make run # rebuild + reinstall; the running server self-adopts in ~5s
make dev # run against a scratch DB (safe for testing migrations)
make status # launchd + /health at a glance
make restart # kick the launchd-managed server
make check # cargo check + JS syntax (fast, no link)
make test # clippy + cargo test
make run is the command after git pull — it rebuilds release, installs the binary, and the launchd-managed server picks it up automatically. make dev is for working on migrations or features you don't want touching the live DB.
Requirements: tmux 3.2+, and at least one of Claude Code, Codex CLI, or Gemini CLI. The Rust toolchain is installed via rustup if you don't have it (with your confirmation).
On Linux with systemd (Ubuntu 22.04+, Debian 11+, Fedora 36+), ./install.sh automatically creates and enables three user-level services:
amux-server.service — the main serveramux-builder.service — auto-rebuild on code changesamux-builder.timer — periodic rebuild check (every 60s)After ./install.sh completes, the services are ready to start:
systemctl --user enable amux-server amux-builder.timer
systemctl --user start amux-server
View logs and status:
journalctl --user -u amux-server -f # follow logs
systemctl --user status amux-server # service status
See docs/systemd-setup.md for complete documentation: troubleshooting, multi-user setup, environment overrides, and migration between versions.
For other Linux distributions without systemd, run the server manually:
AMUX_RS_PORT=8824 ~/.local/bin/amux-server-rs
Platform support:
./install.sh sets up launchd agents for automatic startup and rebuild./install.sh creates systemd user services (Ubuntu 22.04+, Debian 11+, Fedora 36+)./install.sh builds and installs binaries; run the server manually or wrap in your process managerLicense: MIT + Commons Clause — free to use, modify, and self-host. Commercial resale requires a separate license.
The Rust server (crates/amux-server, port 8824). That is what ./install.sh installs, what the dashboard talks to, and where all new work lands. Every /api family answers natively; the live proof is GET /api/debug/boundary, which reports proxied: []. If you are reading code, start in crates/ — it is the only server code in the tree. The same binary also answers the retired port 8822 while a compatibility bind survives (see Legacy), so there is no second server to reason about; the Python predecessor is gone.
One Rust workspace, four crates:
| Crate | What |
|---|---|
crates/amux-server |
The server: axum HTTP API on 8824 (HTTPS, self-signed; plain HTTP redirected), single-writer SQLite store with an event journal, SSE + delta sync, scheduler/orchestrator runtime, embedded dashboard |
crates/amux-dashboard |
The SPA, embedded into the server binary at build time (no node/npm needed) |
crates/amux-cli |
amux-rs, the CLI (board, workers, send, schedules, health) |
crates/amux-core |
Shared domain types: ids, scopes, revisions, memory, protocol |
Everything in amux is built on eight primitives, and new capability is expressed by composing them rather than wrapping them:
done ≠ verified)The uniform way to read/write per-scope configuration (memory, rules, env, board gates, status availability at global/group/worker level) is one endpoint: GET/PUT /api/scope.
Useful pointers:
/api/debug/boundary.tmux is the default and fully supported backend. Sessions can instead run on herdr: set AMUX_HERDR_SESSION=<herdr session name> in ~/.amux/server.env (the herdr session that hosts amux workspaces; workers opt in per-session with CC_BACKEND=herdr). The herdr path is not covered by CI (its tests mock the process boundary), so treat a green build as proving backend selection, not the integration.
Longer term, terminal scraping is the fallback, not the plan: the opencode module (crates/amux-server/src/opencode/) defines the structured AgentProtocol through which prompts, messages, cancellation, and state queries flow directly, shrinking the scraper to a liveness check as coverage grows.
.mdaiA .mdai file is a computed markdown file: a node in a directed acyclic graph (DAG) whose value is produced by a model. It composes two existing primitives, the filesystem and the model over linked files, and adds no new subsystem. A node connects to source files, folders, or other .mdai files through per-connection prompts (the edges), and its markdown body is the instruction that synthesizes those sources into the node's output. Opening a node runs its whole upstream chain and populates the output.
The extension is `.mdai