☰
Claude Code Router 三步接入 DeepSeek:本地模型网关最小配置指南
2026/10/19 18:49:58 网站建设 项目流程

Claude Code Router 三步接入 DeepSeek:本地模型网关最小配置指南

【免费下载链接】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 Router(后文简称 CCR)是运行在本机的模型网关,默认监听http://127.0.0.1:3456,负责把 Claude Code 发出的请求路由到 DeepSeek 等第三方上游,响应再原路返回。本文用三步完成一条可跑通的接入链路:装好网关、配好 DeepSeek 供应商、定好路由;随后给出按内容分流、子代理指定模型两个进阶手法,以及三类高频故障的排查与验证方式。

先判断:这类需求是否匹配 CCR 方案

先对齐预期。CCR 的定位是"本地集中管理多家模型的路由与回退",它不替代 Claude Code 客户端,也不适合一次性调用几个模型 API 的场景。适合它的画像:

  • 日常主力工具是 Claude Code,且手里有多家供应商的额度;
  • 希望按任务类型切换模型(日常走便宜模型、难题走推理模型),而不是每次改环境变量;
  • 需要失败回退、请求日志等可观测能力。

一次接入后的请求走向如下:

判断完成且结论为"适合",再进入安装环节。

如何安装 ccr 命令并启动网关

CCR 的 npm CLI 要求 Node.js 22 及以上。安装一条命令:

npm install -g @musistudio/claude-code-router

安装完成后,ccr即可以命令行方式启动同一个网关。随后用ccr ui打开基于浏览器的管理界面,地址为http://127.0.0.1:3458。端口区分一下:3456是给 Claude Code 用的模型网关端口,3458是给人用的管理界面端口。

界面打开后,第一个任务是接入供应商。

如何用预设添加 DeepSeek 供应商并验证密钥

CCR 内置了 DeepSeek 预设,API 地址https://api.deepseek.com、协议 OpenAI Chat Completions 均已预填,基本无需手工编辑。预设定义见源码 packages/core/src/providers/presets/deepseek/。

操作路径如下:

  1. 打开供应商 → 添加供应商,选择 DeepSeek 预设;
  2. 填入 API 密钥,勾选需要的模型(deepseek-chat、deepseek-reasoner);
  3. 点检测连通性,确认 Key 与模型 ID 真实可调用。

供应商就绪后,还要让 Claude Code 从 CCR 出去。在Agent 配置添加一条 Claude Code 配置,选定默认模型,然后直接从这个配置入口打开 Claude Code——这一步决定了网关对哪一次会话生效,后面"配置不生效"的坑与它直接相关。完整字段说明见 Claude Code 接入文档。

上游通了,接下来解决"什么任务走哪个模型"。

如何按场景选模型:路由表与内置规则

打开路由页面配置分流。先理解内置路由的优先级:客户端显式选择且 CCR 可识别的模型优先;客户端未选或无法识别时,落到 Agent 配置里的默认模型;用户自定义规则仍可在其后继续改写模型。

四类常见场景的推荐模型如下:

场景推荐模型理由
复杂推理deepseek/deepseek-reasoner架构分析、难题拆解需要更强推理,留给低频任务
写代码deepseek/deepseek-chat代码任务够用,配合回退链更稳
日常问答deepseek/deepseek-chat响应快、成本低,适合高频对话
长上下文另配长上下文模型读大日志、长文档时切换,避免小窗口截断

自定义规则按列表顺序匹配,第一条命中的启用规则生效。完整字段说明见 路由文档。

规则解决的是"按任务切模型",如果需要更细的"按内容切模型",往下看进阶手法。

进阶:按内容分流与子代理单独指定模型

场景一:按消息内容分流。普通条件规则只能匹配单个字段,无法表达"像代码任务走一个模型、像推理任务走另一个"这类多条件判断。

做法:把规则类型改为Node.js 脚本,指向一个本地脚本文件。脚本按列表顺序执行,返回null表示不命中、继续下一条;CCR 每次执行前都会重新读取文件,改完脚本无需重存规则。示例:

const text = input.summary.lastUserText ?? ""; if (/(def |function |class |import )/.test(text)) { return { model: "deepseek/deepseek-chat" }; } if (/推理|证明|为什么/.test(text)) { return { model: "deepseek/deepseek-reasoner" }; } return null;

场景二:子代理单独指定模型。Claude Code 通过 Agent / Task / Workflow 派生子代理时,你希望它们不走默认模型,而是按任务选模型。

做法:在模型页面给希望被自动选择的模型填Description(写清适合的任务、速度与成本)。CCR 会把模型列表注入 Claude Code 的工具说明;派生请求的 prompt 首行携带模型标签,例如<CCR-SUBAGENT-MODEL>deepseek/deepseek-reasoner</CCR-SUBAGENT-MODEL>,CCR 识别后直接路由到该模型。注意:没有任何模型配置 Description 时,这套注入不会发生,等于机制关闭。

配置完成并不意味着万无一失,下面三类问题出现频率最高。

超时、token 超限、配置不生效:三个坑与处理

坑一:推理模型超时。

  • 现象:reasoner 类请求被默认超时打穿,任务中断。
  • 原因:推理模型出结果慢,默认超时窗口不够。
  • 处理:在对应路由规则上单独调大超时,脚本规则可设 10–30000 毫秒。
  • 验证:发一条典型难题,到请求日志确认该条请求状态为成功。

坑二:输出长度超过模型上限。

  • 现象:请求以错误返回,上游报错直接写明 token 限制。
  • 原因:Claude Code 期望的输出 token 高于 DeepSeek 模型的单次上限。
  • 处理:在命中规则里加改写,把request.body.max_tokens调小到模型可接受的范围。
  • 验证:重试同类请求,查看日志中的上游错误信息是否消失。

坑三:改了配置但没生效。

  • 现象:路由、模型都不按预期工作。
  • 原因:最常见是没从 CCR 打开 Claude Code,或配置未启用。
  • 处理:确认 Agent 配置处于启用状态,并从 CCR 入口启动 Claude Code。
  • 验证:打开 CCR 的请求日志,核对这条请求解析出的供应商/模型是否为预期组合;同时用/model确认能看到 CCR 暴露的模型列表。

跑通之后做什么

接入完成只是起点,建议按这个顺序继续:

  1. 给deepseek-chat和deepseek-reasoner都填上 Description,激活子代理自动选模型;
  2. 在路由里为推理模型规则单独设置超时与max_tokens改写,再发一条难题验证;
  3. 用请求日志抽查一天的真实流量,确认场景与模型的实际对应关系,再决定是否增加回退链。

若你只是偶尔调用几家模型 API,或打算直接换掉 Claude Code 客户端本身,CCR 这套方案收益有限,不必继续投入配置。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询