ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Claude Code Router:本地 AI Agent 网关与多模型路由实战手册

Claude Code Router:本地 AI Agent 网关与多模型路由实战手册 Claude Code Router本地 AI Agent 网关与多模型路由实战手册【免费下载链接】claude-code-routerOne local control plane for every AI agent: route across models, fuse new capabilities, orchestrate tools, and stay fully in control.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-router当 Claude Code 一个账号不够用、Codex 又只能吃 GPT 系模型、你手里还攥着 DeepSeek 和 OpenRouter 好几张 key 的时候哪个请求走哪个模型就成了每天都要手动搬砖的事。Claude Code RouterCCR就是一个跑在本地的模型网关与控制面所有 Agent 统一指向http://127.0.0.1:3456provider、模型、凭证、路由规则、请求日志全部在一个应用里管理。先定位你的场景该读哪一节适用场景核心能力推荐配置上手难度想给现有 Agent 换供应商不想改 Agent 配置Agent Profile 一键接入预设 Provider 默认路由低多个 key 轮流用怕单 key 触顶凭证池、优先级与本地限额Credential pool Limits JSON中不同任务走不同模型长上下文、推理、图像条件路由、请求改写、模型链兜底自定义规则 Fallback targets中请求莫名失败不知道最终走了哪条路请求日志、resolved model、成本估算Request logs Agent observability低接入 Provider 与凭证池预设模板与自定义端点CCR 内置了 Anthropic、OpenAI、Gemini、DeepSeek、OpenRouter、Moonshot、Mistral 等预设选预设后 Base URL、协议、默认模型列表自动带出任何 OpenAI/Anthropic/Gemini 兼容上游都走Other / custom API endpoint。保存前点Check Connection会用真实请求验证 key、模型名和协议是否可用——注意它是真实调用按量计费的上游建议只勾选需要验证的模型。凭证池多 key 优先级与限额单 key 直接填 API key 即可多 key 在 Advanced 里展开 Credential pool。每条凭证有优先级数字小先试与权重超出本地限额的 key 会被自动跳过再试下一条下面这个 Limits JSON 表示该 key 每分钟最多 60 次请求、每分钟 10 万 token超限后 CCR 换池内下一条 key。{ rpm: 60, tpm: 100000 }凭证池管的是上游 provider 的 key和 API Keys 页里给 CCR 客户端用的访问 key 是两套东西不要混用。核心要点Provider 决定能用什么模型凭证池决定用哪把钥匙、哪把先挂。路由与回退策略实战内置路由主请求与 Subagent 分模型CCR 的内置 Claude Code 路由会在客户端未指定可识别模型时把主请求送进 Agent Config 里配置的模型Subagent/Task 派生的请求则靠模型描述Models 页的 Description 字段自动挑模型——Description 同时是这个机制的开关不填描述就不会注入选择指令。自定义规则条件匹配与请求改写规则按列表顺序匹配第一条命中的启用规则生效。最简套路是条件 一次改写条件选request.body的model操作符starts with值claude-改写request.body.model为目标provider/model即可把所有 claude 前缀请求整体换道。单条件表达不了的判断多字段决策、灰度、动态改写把规则类型选成 Node.js script脚本是 async 函数体直接读input、返回路由决策这段脚本把命中原模型的请求重写到目标模型未命中返回 null 让后续规则继续处理。if (input.body.model ! Provider/original-model) { return null; } return { model: Provider/target-model };脚本跑在隔离 Worker 里失败或超时是 fail-open记录诊断后继续走下一条规则所以可以放心先上灰度。完整字段与限额见 Routing 文档。回退重试还是换模型429、5xx、网络抖动用Retry对同一模型重试主模型或整个 provider 不可靠用Fallback targets按顺序换模型任何 4xx/5xx 都会触发模型不存在、鉴权失败这类只影响当前目标的错误也能靠备胎救回来。响应头里的x-ccr-fallback-attempts、x-ccr-fallback-model能让你在客户端直接看到回退发生过。核心要点Routing 决定第一枪打谁Fallback 决定打空之后往哪补枪两者分开配置、规则级覆盖全局。Agent 接入与请求可观测一条命令接入任意 Agent不想装桌面端的话npm CLI 就是最轻的入口需要 Node.js 22安装后执行ccr ui在http://127.0.0.1:3458的管理页里按 Providers → Server → Agent Profiles 顺序配置模型网关始终在http://127.0.0.1:3456。npm install -g musistudio/claude-code-router ccr ui # 预期输出浏览器打开 127.0.0.1:3458 管理页网关监听 127.0.0.1:3456Agent Config 页给每个 AgentClaude Code、Codex、Kimi CLI、OpenCode 等建 Profile选模型、设作用域、应用后即写入对应 Agent 的配置。之后换供应商只动 CCRAgent 侧零改动。用请求日志确认请求到底去了哪开启 Settings → Logs Observability 的 Request logs 后每条记录能看到 request model、resolved provider、resolved model、状态码、耗时、token 数与成本估算支持按状态、provider、模型过滤。路由是否命中、回退是否发生以这里为准——管理页能打开不代表网关在跑。快速确认网关存活curl http://127.0.0.1:3456/health # 预期输出HTTP 200若返回 502 说明网关尚未启动核心要点可观测是 CCR 的验收手段不是装饰——日志里看到的 resolved model 才是最终真相。部署后自检清单管理页与网关地址区分清楚管理页 3458CLI/Docker网关固定 3456Server 页状态为 Running/health返回 200Provider 的 Check Connection 对所选模型全部可用发一条最小请求Logs 里 request model 与 resolved model 符合预期配置了 Fallback 的话故意填一个错 key 的请求确认x-ccr-fallback-model出现在响应头凭证池限额生效连续打满 rpm 后换 key 且无 429 外泄到客户端接下来你可以…给 Models 页的每个模型填 Description让 Claude Code 的 Subagent 自动分模型给高价值路由加规则级 Fallback给全局只留保守的 Retry用 Node.js script 规则按input.tokenCount做长上下文分流把超阈值的请求转给长上下文模型在 Server 页评估 Proxy mode让不配代理的客户端流量经 MITM 直接折进 CCR需要服务端部署时参考 Docker 部署文档先去把一条路由规则配上、再发一条真实请求看日志——能亲眼看到 resolved model 变掉的那一刻这套网关才算真正上线。【免费下载链接】claude-code-routerOne local control plane for every AI agent: route across models, fuse new capabilities, orchestrate tools, and stay fully in control.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-router创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进