@killingjacky/claude-code-router 2.1.0 → 2.2.0
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 +53 -19
- package/dist/cli.js +234 -238
- package/dist/main/cli.js +8896 -0
- package/dist/main/fusion-tool-fallback-mcp.js +5 -0
- package/dist/main/fusion-vision-mcp.js +10 -0
- package/dist/main/gateway-bootstrap.js +2 -0
- package/dist/main/local-agent-auth-provider-hook.js +294 -0
- package/dist/main/media-tools-proxy-mcp.js +6 -0
- package/dist/main/request-log-worker.js +951 -0
- package/dist/main/route-script-worker.js +61 -0
- package/dist/main/toolhub-mcp.js +48 -0
- package/dist/main/upstream-header-sanitizer.js +1 -0
- package/dist/models.json +657155 -0
- package/dist/renderer/assets/assets/anthropic-CJYB5ODC.png +0 -0
- package/dist/renderer/assets/assets/bailian-6RH6ASGG.ico +0 -0
- package/dist/renderer/assets/assets/claude-code-WX35JWK4.png +0 -0
- package/dist/renderer/assets/assets/claudeapi-A6VUG2I3.png +0 -0
- package/dist/renderer/assets/assets/code0-XF6QJ6WD.png +0 -0
- package/dist/renderer/assets/assets/codex-3X2KBXKY.png +0 -0
- package/dist/renderer/assets/assets/deepseek-ZIDCDTQF.ico +0 -0
- package/dist/renderer/assets/assets/fenno-XFKUO3XQ.jpg +0 -0
- package/dist/renderer/assets/assets/gemini-7QB7T63T.svg +1 -0
- package/dist/renderer/assets/assets/grok-RUIG6CO6.ico +0 -0
- package/dist/renderer/assets/assets/infistar-ai-QGWTTUZK.jpg +0 -0
- package/dist/renderer/assets/assets/kilo-WKXQUJ25.svg +13 -0
- package/dist/renderer/assets/assets/logo-IPLFWCDN.png +0 -0
- package/dist/renderer/assets/assets/mascot-transition-DUBPNIIV.svg +100 -0
- package/dist/renderer/assets/assets/minimax-5TL6POE3.ico +0 -0
- package/dist/renderer/assets/assets/mistral-2RFSC6K3.webp +0 -0
- package/dist/renderer/assets/assets/moonshot-FNEXMLNW.ico +0 -0
- package/dist/renderer/assets/assets/nvidia-CCRWBFBH.svg +1 -0
- package/dist/renderer/assets/assets/openai-2EIP7LI2.png +0 -0
- package/dist/renderer/assets/assets/opencode-CEWXDOQI.ico +0 -0
- package/dist/renderer/assets/assets/openrouter-CZIFREDB.ico +0 -0
- package/dist/renderer/assets/assets/pi-O6OOC4YY.svg +21 -0
- package/dist/renderer/assets/assets/qiniu-ai-A5VJAOJ6.png +0 -0
- package/dist/renderer/assets/assets/runapi-UAX35AOL.jpg +0 -0
- package/dist/renderer/assets/assets/siliconflow-QCZUQAH2.png +0 -0
- package/dist/renderer/assets/assets/teamorouter-3LCEETRZ.png +0 -0
- package/dist/renderer/assets/assets/tray-cyan-C3U4WBE7.png +0 -0
- package/dist/renderer/assets/assets/tray-orange-VUJTRHBB.png +0 -0
- package/dist/renderer/assets/assets/tray-violet-EGMLZ2GB.png +0 -0
- package/dist/renderer/assets/assets/unity2-QCJYG2D6.jpg +0 -0
- package/dist/renderer/assets/assets/workbuddy-LBUELROU.png +0 -0
- package/dist/renderer/assets/assets/xiaomi-mimo-LQ6RRXCR.png +0 -0
- package/dist/renderer/assets/assets/zai-global-coding-OMCES3LL.svg +219 -0
- package/dist/renderer/assets/assets/zai-global-general-OMCES3LL.svg +219 -0
- package/dist/renderer/assets/assets/zcode-Z7V7YY2Q.png +0 -0
- package/dist/renderer/assets/assets/zhipu-cn-coding-7BBWPUTC.png +0 -0
- package/dist/renderer/assets/assets/zhipu-cn-general-7BBWPUTC.png +0 -0
- package/dist/renderer/assets/browser.js +408 -0
- package/dist/renderer/assets/log-body.worker.js +3 -0
- package/dist/renderer/assets/main.css +2 -0
- package/dist/renderer/assets/main.js +103 -0
- package/dist/renderer/assets/tray.js +8 -0
- package/dist/renderer/assets/web-client-bridge.js +1 -0
- package/dist/renderer/pages/browser/index.html +13 -0
- package/dist/renderer/pages/home/index.html +18 -0
- package/dist/renderer/pages/tray/index.html +17 -0
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -195,12 +195,13 @@ Here is a comprehensive example:
|
|
|
195
195
|
}
|
|
196
196
|
],
|
|
197
197
|
"Router": {
|
|
198
|
-
"
|
|
199
|
-
"
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
"
|
|
203
|
-
|
|
198
|
+
"primary": "deepseek,deepseek-chat",
|
|
199
|
+
"aliases": {
|
|
200
|
+
"haiku": "ollama,qwen2.5-coder:latest"
|
|
201
|
+
},
|
|
202
|
+
"capabilities": {
|
|
203
|
+
"webSearch": "gemini,gemini-2.5-flash"
|
|
204
|
+
}
|
|
204
205
|
}
|
|
205
206
|
}
|
|
206
207
|
```
|
|
@@ -243,7 +244,7 @@ ccr model
|
|
|
243
244
|
This command provides an interactive interface to:
|
|
244
245
|
|
|
245
246
|
- View current configuration:
|
|
246
|
-
- See all configured
|
|
247
|
+
- See all configured primary, alias, and capability models
|
|
247
248
|
- Switch models: Quickly change which model is used for each router type
|
|
248
249
|
- Add new models: Add models to existing providers
|
|
249
250
|
- Create new providers: Set up complete provider configurations including:
|
|
@@ -439,15 +440,15 @@ You can also create your own transformers and load them via the `transformers` f
|
|
|
439
440
|
|
|
440
441
|
#### Router
|
|
441
442
|
|
|
442
|
-
The `Router` object
|
|
443
|
+
The `Router` object uses explicit intent and model capabilities:
|
|
443
444
|
|
|
444
|
-
- `
|
|
445
|
-
- `
|
|
446
|
-
- `
|
|
447
|
-
- `
|
|
448
|
-
- `
|
|
449
|
-
|
|
450
|
-
|
|
445
|
+
- `primary`: The general-purpose model. `default` remains a legacy synonym.
|
|
446
|
+
- `aliases`: Maps Claude Code's `haiku`, `sonnet`, and `opus` model intents to provider models. `background` remains a legacy synonym for `aliases.haiku`.
|
|
447
|
+
- `capabilities.webSearch`: A model for Anthropic web-search requests. `webSearch` remains a legacy synonym.
|
|
448
|
+
- `capabilities.vision`: A vision-capable model for current user images. `image` remains a legacy synonym and CCR's image agent handles historical-image fallback.
|
|
449
|
+
- `subagents`: Maps explicit `<CCR-ROUTE>profile</CCR-ROUTE>` tags in custom subagent system prompts to provider models.
|
|
450
|
+
|
|
451
|
+
CCR does not route on `thinking` or estimated context length. Claude Code owns adaptive thinking, 200K/1M context selection, and compaction.
|
|
451
452
|
|
|
452
453
|
- You can also switch models dynamically in Claude Code with the `/model` command:
|
|
453
454
|
`/model provider_name,model_name`
|
|
@@ -494,15 +495,48 @@ module.exports = async function router(req, config) {
|
|
|
494
495
|
|
|
495
496
|
##### Subagent Routing
|
|
496
497
|
|
|
497
|
-
|
|
498
|
+
Claude Code custom agents are Markdown files in `~/.claude/agents/` (or
|
|
499
|
+
`.claude/agents/` in a project). Give each agent a native Claude model alias and
|
|
500
|
+
an explicit CCR route profile in its prompt:
|
|
501
|
+
|
|
502
|
+
```markdown
|
|
503
|
+
---
|
|
504
|
+
name: ccr-explore
|
|
505
|
+
description: Fast, read-only codebase exploration.
|
|
506
|
+
model: haiku
|
|
507
|
+
tools: Read, Glob, Grep
|
|
508
|
+
---
|
|
498
509
|
|
|
499
|
-
|
|
510
|
+
<CCR-ROUTE>explore</CCR-ROUTE>
|
|
500
511
|
|
|
512
|
+
Explore the codebase and report concise, evidence-backed findings. Do not modify files.
|
|
501
513
|
```
|
|
502
|
-
|
|
503
|
-
|
|
514
|
+
|
|
515
|
+
Map the profile and give it its own fallback list. Profile fallbacks are
|
|
516
|
+
intentional: `Fallback.subagents.explore` does not implicitly inherit the
|
|
517
|
+
`haiku` alias fallback.
|
|
518
|
+
|
|
519
|
+
```json
|
|
520
|
+
{
|
|
521
|
+
"Router": {
|
|
522
|
+
"subagents": {
|
|
523
|
+
"explore": "groq,llama-3.3-70b-versatile"
|
|
524
|
+
}
|
|
525
|
+
},
|
|
526
|
+
"Fallback": {
|
|
527
|
+
"subagents": {
|
|
528
|
+
"explore": ["openrouter,meta-llama/llama-3.3-70b-instruct"]
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
}
|
|
504
532
|
```
|
|
505
533
|
|
|
534
|
+
Use the agent with `ccr code --agent ccr-explore`, or ask Claude Code to use
|
|
535
|
+
the named agent. CCR removes the route tag before forwarding the request.
|
|
536
|
+
|
|
537
|
+
`<CCR-SUBAGENT-MODEL>provider,model</CCR-SUBAGENT-MODEL>` remains available as
|
|
538
|
+
a legacy per-prompt override; it takes precedence over a profile tag.
|
|
539
|
+
|
|
506
540
|
## Status Line (Beta)
|
|
507
541
|
To better monitor the status of claude-code-router at runtime, version v1.0.40 includes a built-in statusline tool, which you can enable in the UI.
|
|
508
542
|

|