№ 0507Skill
muse-acp adapter for Zed
ACP adapter that bridges Agent Client Protocol clients such as Zed to Muse Code via the Muse Session Protocol and muse serve.
muse-acp — ACP Adapter for Muse Code
Bridges Agent Client Protocol (ACP) to Muse Code via its Muse Session Protocol (MSP).
Use Muse from any ACP-compatible client (e.g. Zed) without leaving your editor.
ACP client (Zed) ──stdio JSON-RPC──▶ muse-acp ──MSP / muse serve──▶ Muse engine
How it works
| ACP (client ↔ adapter) | MSP (adapter ↔ muse) | Owner |
|---|---|---|
initialize |
initialize handshake + muse serve spawn |
msp/manager.ts |
session/new {cwd} |
session/start {workspaceRoot} |
msp/manager.ts |
session/prompt {prompt: ContentBlock[]} |
turn/start {input: [{type:"text"}]} → TurnHandle iterators |
bridge/contentMap.ts + msp/manager.ts |
session/update notifications |
item/delta, item/completed, turn/completed |
bridge/streaming.ts |
session/request_permission |
ApprovalRouter (approval/requested → approval/decide) |
msp/manager.ts |
session/cancel |
TurnHandle abort |
msp/manager.ts |
Content blocks (text, image, resource, resource_link, audio) are mapped in src/bridge/contentMap.ts. Streaming deltas and tool calls are fanned out to ACP session/update via src/bridge/streaming.ts.
Install
git clone https://github.com/sanjay3290/muse-acp
cd muse-acp
npm install
npm run build
Requires Node 20+ and a muse binary on PATH (or set MUSE_BIN).
The adapter respects PATH, including local guard scripts.
# check
muse serve --help
which muse # e.g. ~/.local/bin/muse
Usage
As ACP agent (stdio)
Add to your ACP client's agent config (Zed example):
{
"agents": {
"muse": {
"command": "node",
"args": ["/path/to/muse-acp/dist/src/cli.js"],
"env": { "MUSE_BIN": "/path/to/muse" }
}
}
}
Or with the installed binary:
{
"agents": {
"muse": {
"command": "muse-acp"
}
}
}
CLI options:
muse-acp --help
muse-acp --muse-bin /custom/path/muse --log-level debug
muse-acp --model muse-spark-1.3
MUSE_BIN=/custom/muse muse-acp
MUSE_MODEL=muse-spark-1.3 muse-acp
MUSE_TURN_IDLE_TIMEOUT_MS=0 muse-acp
MUSE_ACP_LOG_LEVEL=debug muse-acp
Choosing a model
Muse's server default is the -contributor row of its newest model (as of
1.0.



