llm-relay 0.68.4 → 0.68.6
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 +10 -4
- package/dist/cli.js +7 -2
- package/dist/cli.js.map +1 -1
- package/dist/mcp/server.js +11 -4
- package/dist/mcp/server.js.map +1 -1
- package/dist/setup-claude.d.ts +2 -2
- package/dist/setup-claude.js +29 -11
- package/dist/setup-claude.js.map +1 -1
- package/package.json +1 -1
- package/scripts/install-skill.mjs +71 -26
- package/skills/llm-relay/SKILL.md +29 -635
- package/skills/llm-relay/references/direct-routing.md +142 -0
- package/skills/llm-relay/references/dispatch-lanes.md +292 -0
- package/skills/llm-relay/references/operations.md +204 -0
package/README.md
CHANGED
|
@@ -12,10 +12,16 @@ weaker (often free) models.
|
|
|
12
12
|
npm install -g llm-relay
|
|
13
13
|
llm-relay onboard # collect free provider keys (NIM, Groq, Gemini, OpenRouter, ...)
|
|
14
14
|
llm-relay onboard --import keys.env # import dotenv or a FreeLLMAPI export JSON
|
|
15
|
-
llm-relay setup claude-desktop # or
|
|
15
|
+
llm-relay setup claude-desktop # register MCP dispatch; or set up a routed claude-cli
|
|
16
16
|
llm-relay # start the proxy — leave it running
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
+
For agent-to-agent work, use the `llm-relay` MCP `dispatch` tool from any host. It returns the
|
|
20
|
+
chosen lane's answer and owns the process details. If MCP is unavailable, use
|
|
21
|
+
`llm-relay dispatch --next-command -t "<task>"` and follow its result. Do not create a `pool/*`
|
|
22
|
+
collaboration child in Codex Desktop: its ChatGPT launcher rejects that model before the relay is
|
|
23
|
+
contacted. A global install registers the MCP server for local Codex automatically.
|
|
24
|
+
|
|
19
25
|
Then verify:
|
|
20
26
|
|
|
21
27
|
```bash
|
|
@@ -42,9 +48,9 @@ at login.
|
|
|
42
48
|
and outages cascade to the next member. Free-model pools update themselves from live catalogs.
|
|
43
49
|
- **Passthrough** — Claude traffic keeps your own credentials and reaches real Anthropic
|
|
44
50
|
untouched, while `pool/*` requests go elsewhere. One proxy, both behaviours.
|
|
45
|
-
- **
|
|
46
|
-
|
|
47
|
-
|
|
51
|
+
- **Host-independent offload** — MCP `dispatch` chooses and runs a lane from Claude, Codex,
|
|
52
|
+
desktop, CLI, or another MCP host; the CLI dispatch contract is the universal fallback. Direct
|
|
53
|
+
HTTP-routed clients can also opt in to rerouting marked subagents or whole conversations.
|
|
48
54
|
- **Tool-call repair** — malformed tool calls are corrected and re-validated; destructive
|
|
49
55
|
tool calls are refused, never fabricated; unrepairable calls fail clean.
|
|
50
56
|
- **Both API fronts** — Anthropic `/v1/messages` plus OpenAI `/v1/chat/completions` and
|
package/dist/cli.js
CHANGED
|
@@ -172,7 +172,7 @@ Usage:
|
|
|
172
172
|
${formatTextTable([
|
|
173
173
|
["llm-relay [options]", "Start proxy."],
|
|
174
174
|
["llm-relay onboard [--import <file>] [--force]", "Set up or import provider keys."],
|
|
175
|
-
["llm-relay setup [target]", "
|
|
175
|
+
["llm-relay setup [target]", "claude-desktop: MCP dispatch; claude-cli: routed CLI wrapper."],
|
|
176
176
|
["llm-relay keys | keys check | check-keys", "Check every configured credential slot."],
|
|
177
177
|
["llm-relay keys <action> ...", "action: add|list|rotate|revoke|remove|disable|enable|export|import|unlock."],
|
|
178
178
|
["llm-relay pools [--probe]", "List members; --probe tests each deployment once."],
|
|
@@ -199,7 +199,7 @@ ${formatTextTable([
|
|
|
199
199
|
["llm-relay dispatch [lane] [options]", "Choose next dispatch lane; adapts to the calling host."],
|
|
200
200
|
["llm-relay dispatch --next-command -t <task>", "Print only the runnable command for the next lane."],
|
|
201
201
|
["llm-relay delegate-gate <diff-file> --repo <root> [--fix]", "Quality-gate a delegated lane's diff before judgment/merge."],
|
|
202
|
-
["llm-relay mcp", "
|
|
202
|
+
["llm-relay mcp", "Preferred dispatch entry point for every MCP host; one call returns an answer."],
|
|
203
203
|
["llm-relay help | --help | -h", "Show help."],
|
|
204
204
|
["llm-relay version | --version | -v", "Print version."],
|
|
205
205
|
], " ")}
|
|
@@ -224,6 +224,11 @@ subagent can be rerouted and "@relay:" is inert. "llm-relay dispatch" detects th
|
|
|
224
224
|
back runnable commands instead; "offload claude on" there also installs a PreToolUse(Agent)
|
|
225
225
|
hook that redirects Agent() calls to the same lane. "offload claude off" removes it.
|
|
226
226
|
|
|
227
|
+
Codex Desktop is also not a native relay-child path: its ChatGPT collaboration launcher rejects a
|
|
228
|
+
pool/* child model before contacting the custom provider or llm-relay. Use the llm-relay MCP
|
|
229
|
+
dispatch tool there. On any host without MCP, use "dispatch --next-command" and follow its result
|
|
230
|
+
instead of guessing which child mechanism the host supports.
|
|
231
|
+
|
|
227
232
|
Setup checks: "llm-relay keys" checks every credential slot; "llm-relay pools --probe" spends one
|
|
228
233
|
real completion per unique pool deployment through one serviceable slot, not every credential.
|
|
229
234
|
Environment variables override ~/.llm-relay/.env.
|