bots-garden/mini-mepublic Fork
⑂ v1.0.4
Commits
⬇ Clone ▾
git clone https://git.rickub.com/bots-garden/mini-me.git
git clone ssh://git@rickub.com/bots-garden/mini-me.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Download ZIP
🛟 Updated. eca9ec1 · on v1.0.4 · k33g · 7d ago
README.en.md · 26 lines · 1.8 KBmarkdown
Blame HistoryOpen raw

Using mini-me as a library, over ACP

Version française

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
nodejs-sdk/ Node.js, official ACP TypeScript SDK (ticket 188) done: same API as nodejs/, on @agentclientprotocol/sdk, four examples, tests
go/ Go (ticket 168) done: package minime, four examples, tests
kotlin/ Kotlin (ticket 187) done: minime.Agent on the official ACP Kotlin SDK, four examples, tests
python/, rust/, swift/, nushell/ tickets 169–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); go/ says when to choose which.

 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
# Using mini-me as a library, over ACP

*[Version française](README.fr.md)*

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/`](nodejs/README.en.md) | Node.js (ticket 167) | done: `minime.js`, four examples, tests |
| [`nodejs-sdk/`](nodejs-sdk/README.en.md) | Node.js, official ACP TypeScript SDK (ticket 188) | done: same API as `nodejs/`, on `@agentclientprotocol/sdk`, four examples, tests |
| [`go/`](go/README.en.md) | Go (ticket 168) | done: package `minime`, four examples, tests |
| [`kotlin/`](kotlin/README.en.md) | Kotlin (ticket 187) | done: `minime.Agent` on the official ACP Kotlin SDK, four examples, tests |
| `python/`, `rust/`, `swift/`, `nushell/` | tickets 169–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); [`go/`](go/README.en.md) says when to choose which.