@zhixuan92/multi-model-agent 3.0.0 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +76 -161
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +5 -3
- package/dist/cli/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,216 +1,131 @@
|
|
|
1
|
-
# @zhixuan92/multi-model-agent
|
|
1
|
+
# @zhixuan92/multi-model-agent
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/@zhixuan92/multi-model-agent)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Local HTTP service for delegating tool-using work to sub-agents on different LLM providers.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Requires Node >= 22 and a config file at `~/.multi-model/config.json`.
|
|
7
|
+
*Renamed from `@zhixuan92/multi-model-agent-mcp` in 3.0.0 — the package no longer uses MCP. See [CHANGELOG](https://github.com/zhixuan312/multi-model-agent/blob/master/CHANGELOG.md#300).*
|
|
10
8
|
|
|
11
|
-
|
|
9
|
+
## Why
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
| `codex` | Your existing Codex subscription (`codex login`) | No — reads `~/.codex/auth.json` |
|
|
17
|
-
| `openai-compatible` | Any OpenAI-compatible API (GPT, MiniMax, DeepSeek, Groq, local vLLM) | Yes — `apiKeyEnv` or `apiKey` |
|
|
11
|
+
- **Save 90%+ on implementation labor.** Mechanical work runs on cheaper standard agents; your flagship model stays on architecture and decisions.
|
|
12
|
+
- **Structural quality.** Implementation and review run on different agents — different training data, different blind spots. Cross-agent review catches what self-review can't.
|
|
13
|
+
- **Client-agnostic.** One daemon serves Claude Code, Gemini CLI, Codex CLI, and Cursor via installable skills. The daemon outlives any individual client session.
|
|
18
14
|
|
|
19
|
-
|
|
15
|
+
## Install
|
|
20
16
|
|
|
21
17
|
```bash
|
|
22
|
-
|
|
23
|
-
{
|
|
24
|
-
"agents": {
|
|
25
|
-
"standard": { "type": "codex", "model": "codex-mini-latest" },
|
|
26
|
-
"complex": { "type": "claude", "model": "claude-sonnet-4-20250514" }
|
|
27
|
-
},
|
|
28
|
-
"defaults": { "timeoutMs": 1800000, "maxCostUSD": 10, "tools": "full" }
|
|
29
|
-
}
|
|
30
|
-
EOF
|
|
18
|
+
npm i -g @zhixuan92/multi-model-agent
|
|
31
19
|
```
|
|
32
20
|
|
|
33
|
-
|
|
21
|
+
Requires Node >= 22.
|
|
22
|
+
|
|
23
|
+
## Run
|
|
34
24
|
|
|
35
25
|
```bash
|
|
36
|
-
|
|
37
|
-
{
|
|
38
|
-
"agents": {
|
|
39
|
-
"standard": {
|
|
40
|
-
"type": "openai-compatible",
|
|
41
|
-
"model": "MiniMax-M2",
|
|
42
|
-
"baseUrl": "https://api.minimax.io/v1",
|
|
43
|
-
"apiKeyEnv": "MINIMAX_API_KEY"
|
|
44
|
-
},
|
|
45
|
-
"complex": {
|
|
46
|
-
"type": "openai-compatible",
|
|
47
|
-
"model": "gpt-5",
|
|
48
|
-
"baseUrl": "https://api.openai.com/v1",
|
|
49
|
-
"apiKeyEnv": "OPENAI_API_KEY"
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
"defaults": { "timeoutMs": 1800000, "maxCostUSD": 10, "tools": "full", "parentModel": "claude-opus-4-6" }
|
|
53
|
-
}
|
|
54
|
-
EOF
|
|
26
|
+
mmagent serve # starts on 127.0.0.1:7337 by default
|
|
55
27
|
```
|
|
56
28
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
Mix and match freely — e.g., `claude` for complex + `openai-compatible` for standard.
|
|
29
|
+
Leave this running in the background, or install as a user service (launchd on macOS, systemd on Linux).
|
|
60
30
|
|
|
61
|
-
|
|
31
|
+
## Install skills for your AI client
|
|
62
32
|
|
|
63
33
|
```bash
|
|
64
|
-
#
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
# OpenAI-compatible agents (pass API keys):
|
|
69
|
-
claude mcp add multi-model-agent -s user \
|
|
70
|
-
-e MINIMAX_API_KEY=... -e OPENAI_API_KEY=... \
|
|
71
|
-
-- npx -y @zhixuan92/multi-model-agent-mcp serve
|
|
34
|
+
mmagent install-skill # auto-detect installed clients
|
|
35
|
+
mmagent install-skill --target=claude-code # or gemini, codex, cursor
|
|
36
|
+
mmagent install-skill --all-targets # install for every detected client
|
|
37
|
+
mmagent install-skill --uninstall # remove skills
|
|
72
38
|
```
|
|
73
39
|
|
|
74
|
-
|
|
40
|
+
Skills are thin adapters that point HTTP requests at the running daemon. Once installed, your AI client has the full tool set without further configuration.
|
|
75
41
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
## What you get
|
|
79
|
-
|
|
80
|
-
| Tool | What it does |
|
|
81
|
-
|---|---|
|
|
82
|
-
| `delegate_tasks` | Dispatch tasks in parallel with minimal input: `prompt` plus optional `agentType`, `filePaths`, `done`, and `contextBlockIds`. The MCP interprets your request and infers missing details — if confused, it returns a proposed interpretation for confirmation. |
|
|
83
|
-
| `audit_document` | Audit docs/files for issues — parallel per file. Accepts `contextBlockIds` for delta audits (round 2+). |
|
|
84
|
-
| `review_code` | Code review with spec + quality pipeline — parallel per file. Accepts `contextBlockIds` for diff-scoped/delta reviews. |
|
|
85
|
-
| `verify_work` | Verify work against a checklist — parallel per file. Accepts `contextBlockIds` for shared context. |
|
|
86
|
-
| `debug_task` | Hypothesis-driven debugging with file context. Accepts `contextBlockIds` for shared context. |
|
|
87
|
-
| `execute_plan` | Execute tasks from a plan document — worker reads plan files, finds matching task by descriptor, implements it. Multiple tasks run in parallel. |
|
|
88
|
-
| `register_context_block` | Store reusable context for later tasks |
|
|
89
|
-
| `retry_tasks` | Re-run specific tasks from a previous batch |
|
|
90
|
-
| `get_batch_slice` | Fetch output or telemetry from a previous batch |
|
|
91
|
-
| `confirm_clarifications` | Resume a clarification set by confirming or editing proposed interpretations |
|
|
92
|
-
|
|
93
|
-
## Diagnostic logging
|
|
94
|
-
|
|
95
|
-
Diagnostic logging is OFF by default.
|
|
96
|
-
|
|
97
|
-
It stays disabled when the `diagnostics` block is absent or when `diagnostics.log` is `false` in `~/.multi-model/config.json`.
|
|
98
|
-
|
|
99
|
-
To capture a crash/disconnect log to send us, add a `diagnostics` block to your config.
|
|
100
|
-
|
|
101
|
-
Minimal example:
|
|
102
|
-
|
|
103
|
-
```json
|
|
104
|
-
{
|
|
105
|
-
"diagnostics": { "log": true }
|
|
106
|
-
}
|
|
107
|
-
```
|
|
42
|
+
## Config
|
|
108
43
|
|
|
109
|
-
|
|
44
|
+
Config file: `~/.multi-model/config.json`
|
|
110
45
|
|
|
111
46
|
```json
|
|
112
47
|
{
|
|
113
48
|
"agents": {
|
|
114
49
|
"standard": { "type": "codex", "model": "codex-mini-latest" },
|
|
115
|
-
"complex":
|
|
50
|
+
"complex": { "type": "claude", "model": "claude-sonnet-4-20250514" }
|
|
116
51
|
},
|
|
117
52
|
"defaults": {
|
|
118
53
|
"timeoutMs": 1800000,
|
|
119
54
|
"maxCostUSD": 10,
|
|
120
55
|
"tools": "full"
|
|
121
56
|
},
|
|
122
|
-
"
|
|
123
|
-
"
|
|
124
|
-
"
|
|
57
|
+
"server": {
|
|
58
|
+
"bind": "127.0.0.1",
|
|
59
|
+
"port": 7337,
|
|
60
|
+
"auth": { "tokenFile": "~/.multi-model/auth-token" }
|
|
125
61
|
}
|
|
126
62
|
}
|
|
127
63
|
```
|
|
128
64
|
|
|
129
|
-
`
|
|
65
|
+
Agent types: `claude`, `codex`, `openai-compatible`. Any OpenAI-compatible endpoint works (MiniMax, DeepSeek, Groq, Together, local vLLM) — set `baseUrl` and either `apiKey` or `apiKeyEnv`.
|
|
130
66
|
|
|
131
|
-
|
|
67
|
+
Config lookup order: `--config <path>` → `$MMAGENT_CONFIG` → `<cwd>/.multi-model-agent.json` → `~/.multi-model/config.json`.
|
|
132
68
|
|
|
133
|
-
|
|
69
|
+
The auth token is generated on first `mmagent serve`. Retrieve it with `mmagent print-token`, or set `MMAGENT_AUTH_TOKEN` in your environment to override the file.
|
|
134
70
|
|
|
135
|
-
##
|
|
71
|
+
## REST API
|
|
136
72
|
|
|
137
|
-
|
|
73
|
+
The daemon exposes 13 endpoints. All tool endpoints are async: they return `202 { batchId, statusUrl }` immediately and the executor runs in the background.
|
|
138
74
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
75
|
+
| Endpoint | Purpose |
|
|
76
|
+
|---|---|
|
|
77
|
+
| `POST /delegate?cwd=<abs>` | Fan out ad-hoc tasks to sub-agents |
|
|
78
|
+
| `POST /audit?cwd=<abs>` | Audit a document |
|
|
79
|
+
| `POST /review?cwd=<abs>` | Review code |
|
|
80
|
+
| `POST /verify?cwd=<abs>` | Verify work against a checklist |
|
|
81
|
+
| `POST /debug?cwd=<abs>` | Debug a failure with a hypothesis |
|
|
82
|
+
| `POST /execute-plan?cwd=<abs>` | Implement from a plan file |
|
|
83
|
+
| `POST /retry?cwd=<abs>` | Re-run specific tasks from a previous batch |
|
|
84
|
+
| `GET /batch/:id[?taskIndex=N]` | Poll a batch; optionally slice one task's result |
|
|
85
|
+
| `POST /context-blocks?cwd=<abs>` | Register a reusable context block |
|
|
86
|
+
| `DELETE /context-blocks/:id?cwd=<abs>` | Delete a context block |
|
|
87
|
+
| `POST /clarifications/confirm` | Confirm / override a clarification proposal |
|
|
88
|
+
| `GET /health` | Liveness probe (unauthenticated, loopback-only) |
|
|
89
|
+
| `GET /status` | Server status (authenticated, loopback-only) |
|
|
90
|
+
| `GET /tools` | OpenAPI 3 doc for all endpoints (authenticated) |
|
|
91
|
+
|
|
92
|
+
All tool endpoints require bearer auth: `Authorization: Bearer <token>`.
|
|
93
|
+
|
|
94
|
+
## Operator commands
|
|
150
95
|
|
|
151
96
|
```bash
|
|
152
|
-
mmagent serve
|
|
153
|
-
#
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
Background (macOS launchd / Linux systemd): see `scripts/README.md`.
|
|
157
|
-
|
|
158
|
-
### Point Claude Code at the daemon
|
|
159
|
-
|
|
160
|
-
In each project's `.mcp.json`:
|
|
161
|
-
|
|
162
|
-
```jsonc
|
|
163
|
-
{
|
|
164
|
-
"mcpServers": {
|
|
165
|
-
"multi-model-agent": {
|
|
166
|
-
"url": "http://127.0.0.1:7312/?cwd=/absolute/path/to/project"
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
97
|
+
mmagent serve # start daemon
|
|
98
|
+
mmagent status [--json] # show running daemon health and stats
|
|
99
|
+
mmagent print-token # print the current auth token
|
|
100
|
+
mmagent install-skill # install / update / uninstall skills
|
|
170
101
|
```
|
|
171
102
|
|
|
172
|
-
|
|
103
|
+
## Shipped skills
|
|
173
104
|
|
|
174
|
-
|
|
105
|
+
Skills are Markdown prompts that tell your AI client when and how to call each endpoint. `mmagent install-skill` inlines the shared auth/polling patterns at install time.
|
|
175
106
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
On startup, `mmagent` generates a random token at `~/.multi-model/runtime/token` (mode 600). Paste it into `.mcp.json`:
|
|
189
|
-
|
|
190
|
-
```jsonc
|
|
191
|
-
{
|
|
192
|
-
"url": "http://127.0.0.1:7312/?cwd=...",
|
|
193
|
-
"headers": { "Authorization": "Bearer <token-from-that-file>" }
|
|
194
|
-
}
|
|
195
|
-
```
|
|
107
|
+
| Skill | Target endpoint |
|
|
108
|
+
|---|---|
|
|
109
|
+
| `multi-model-agent` | Overview + skill map |
|
|
110
|
+
| `mma-delegate` | `POST /delegate` |
|
|
111
|
+
| `mma-audit` | `POST /audit` |
|
|
112
|
+
| `mma-review` | `POST /review` |
|
|
113
|
+
| `mma-verify` | `POST /verify` |
|
|
114
|
+
| `mma-debug` | `POST /debug` |
|
|
115
|
+
| `mma-execute-plan` | `POST /execute-plan` |
|
|
116
|
+
| `mma-retry` | `POST /retry` |
|
|
117
|
+
| `mma-context-blocks` | `POST/DELETE /context-blocks` |
|
|
118
|
+
| `mma-clarifications` | `POST /clarifications/confirm` |
|
|
196
119
|
|
|
197
|
-
|
|
120
|
+
## Architecture at a glance
|
|
198
121
|
|
|
199
|
-
|
|
200
|
-
mmagent status
|
|
201
|
-
# mmagent 2.8.0 · pid 6821 · uptime 3h 24m · http://127.0.0.1:7312
|
|
202
|
-
# Projects (2):
|
|
203
|
-
# /Users/me/project-X 1 sess 7 batches last seen 8s ago
|
|
204
|
-
# /Users/me/project-Y 1 sess 2 batches last seen 4m ago
|
|
205
|
-
```
|
|
122
|
+
`mmagent serve` runs a loopback HTTP server. Each tool call dispatches to a labor agent (standard or complex), runs a cross-agent review cycle, and returns a structured report. Tasks run in parallel; each has a cost ceiling and wall-clock timeout.
|
|
206
123
|
|
|
207
|
-
|
|
124
|
+
Full design rationale: [DIRECTION.md](https://github.com/zhixuan312/multi-model-agent/blob/master/DIRECTION.md).
|
|
208
125
|
|
|
209
|
-
|
|
126
|
+
## Full documentation
|
|
210
127
|
|
|
211
|
-
|
|
212
|
-
- **systemd**: `systemctl --user restart mmagent`
|
|
213
|
-
- **foreground**: `Ctrl-C` and run `mmagent serve --http` again.
|
|
128
|
+
→ **[github.com/zhixuan312/multi-model-agent](https://github.com/zhixuan312/multi-model-agent)**
|
|
214
129
|
|
|
215
130
|
## License
|
|
216
131
|
|
package/dist/cli/index.d.ts
CHANGED
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AA0BA,OAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,mCAAmC,CAAC;AAM3C;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IACtB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;IACvB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/C,8EAA8E;IAC9E,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAChC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAChC,kDAAkD;IAClD,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC;CAChC;AAED,8CAA8C;AAC9C,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CASpD;AA4BD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAKpB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC,GAC7C,OAAO,CAAC,gBAAgB,CAAC,CA0B3B;AAkCD;;;;GAIG;AACH,wBAAsB,IAAI,CAAC,IAAI,GAAE,OAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAsF5D;AA+BD,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
1
2
|
/**
|
|
2
3
|
* CLI entry point for `mmagent` / `multi-model-agent`.
|
|
3
4
|
*
|
|
@@ -231,12 +232,13 @@ function isMain() {
|
|
|
231
232
|
const argv1 = process.argv[1];
|
|
232
233
|
if (!argv1)
|
|
233
234
|
return false;
|
|
234
|
-
// Resolve to absolute path
|
|
235
|
-
//
|
|
235
|
+
// Resolve to absolute path and follow symlinks — npm installs the bin as a
|
|
236
|
+
// symlink in node_modules/.bin/, so argv[1] points at the symlink, not the
|
|
237
|
+
// real file. fs.realpathSync follows the link so it matches import.meta.url.
|
|
236
238
|
const entryPath = import.meta.url.startsWith('file://')
|
|
237
239
|
? fileURLToPath(import.meta.url)
|
|
238
240
|
: path.resolve(argv1);
|
|
239
|
-
return path.resolve(argv1) === entryPath;
|
|
241
|
+
return fs.realpathSync(path.resolve(argv1)) === entryPath;
|
|
240
242
|
}
|
|
241
243
|
catch {
|
|
242
244
|
return false;
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhixuan92/multi-model-agent",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Standalone HTTP server for multi-model-agent. Routes tool-invocation work to Claude, Codex, or OpenAI-compatible sub-agents with async-polling REST dispatch and installable skills for Claude Code, Gemini CLI, Codex CLI, and Cursor.",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"@asteasolutions/zod-to-openapi": "^8.5.0",
|
|
53
|
-
"@zhixuan92/multi-model-agent-core": "^3.0.
|
|
53
|
+
"@zhixuan92/multi-model-agent-core": "^3.0.1",
|
|
54
54
|
"minimist": "^1.2.8",
|
|
55
55
|
"zod": "^4.0.0"
|
|
56
56
|
},
|