How to use mini-me from an editor (ACP)
This guide shows how to host mm inside an editor that speaks the Agent Client Protocol, such as Zed. It assumes mm is built and installed on your PATH (./install.sh copies it to /usr/local/bin), and that your model server is running.
Steps
-
Register
mmas an agent server in the editor, with the-acpflag. In Zed, add tosettings.json:{ "agent_servers": { "mini-me": { "type": "custom", "command": "mm", "args": ["-acp"], "env": { "AGENT_CONFIG": "/absolute/path/to/agent.yaml" } } } } -
Point
AGENT_CONFIGat an absolute path. The editor launchesmmwith the project's directory as working directory, so a relative./agent.yamlwould not be found. In ACP mode a relativeskillsDirin that file is resolved next to the file, not next to the editor's working directory. -
Open the agent panel and start a conversation. Each
bash,read_file,write_fileandedit_filecall appears as a tool call; the editor asks you to allow it before it runs.read_skillruns without a dialog. -
Read the logs when something looks wrong. In ACP mode nothing human-readable goes to stdout: the banner, the warnings and a
[acp] …trail go to stderr, which Zed shows underdev: open acp logs.
Variants
- Allow a tool for the whole session. Pick "Allow bash for this session" in the permission dialog; the choice is remembered per tool until the session ends.
- Cancel a running turn. Use the editor's stop key (Escape in Zed). The agent answers the prompt with stop reason
cancelledand keeps the commands that already ran in the history. There is no/abortover ACP. - Compress or restart the conversation. Send
/compactor/new; editors that list the agent's commands offer both in the slash-command menu. See the slash commands reference. - Attach a file with
@. The editor's picker sends aresource_link, passed to the model as[attached file: <path>]; a path typed by hand as@pathis understood the same way (see@path). The model reads the file with its tools. - Run from a terminal to debug the protocol.
mm -acpreads JSON-RPC on stdin and writes it on stdout, one message per line.
See also
- The exact methods and capabilities exposed: ACP reference
- Why the terminal and the editor share one loop: architecture
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
|