Using mini-me as a library, over ACP
Programs in other languages use mini-me as a library by driving mm -acp: the same JSON-RPC protocol an editor such as Zed speaks, on the child process's stdin and stdout. Nothing changes in mm; every agent file works, with its tools, hooks, MCP servers and other agents.
| Folder | Language | Status |
|---|---|---|
nodejs/ |
Node.js (ticket 167) | done: minime.js, four examples, tests |
go/, python/, rust/, swift/, nushell/ |
tickets 168–172 | not started |
What every client does:
| Wanted | ACP message |
|---|---|
| start | initialize, then session/new {cwd} |
| run a completion | session/prompt |
| stream | the session/update notifications: agent_message_chunk, agent_thought_chunk, tool_call, tool_call_update |
| not streamed | join the text chunks until session/prompt answers with its stopReason |
| cancel | the session/cancel notification; the prompt then answers stopReason: "cancelled" |
confirm a tool (yolo: false) |
answer mm's session/request_permission request |
Limits shared by all: the mm binary must be installed, it runs locally (stdio), and the agent is a file (mm -acp -config <file>). For a Go program without the binary, see ticket 139 (an in-process SDK).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|