前言¶
DeepSeek Harness (DSH) 的核心设计理念是「一切皆插件」,通过扩展来支持不同的模型推理服务。Any Router 是一个提供多模型路由能力的中间件。当你需要在 DSH 中使用 Any Router 时,直接集成通常面临协议不兼容(如需要 Claude Code 专用的 transport 或 Codex 专用的 Responses API)以及配置复杂的问题。dsh-anyrouter 作为一个专用的 provider bundle,旨在解决这些集成细节,让 DSH 能够通过标准的插件流程接入 Any Router。
这是什么¶
dsh-anyrouter 是一个由用户 shaomingbo 维护的 DeepSeek Harness 专用 provider bundle。它将 Any Router 作为后端模型源,通过 Claude Code 兼容的 transport 代理 Claude 模型,并通过 Responses API 代理 GPT/Codex 模型。该插件采用 MIT 许可证,旨在简化 DSH 用户通过 Any Router 访问 Claude 和 GPT 模型的流程。
核心功能¶
-
基于 Key 的路由控制
插件会检查凭证服务中是否存在ANYROUTER_API_KEY。只有当 API Key 存在时,anyrouterprovider 路由才会注册,模型选择器才会显示相关模型组。一旦 Key 被移除或失效,模型组会自动隐藏,无需手动重启 DSH;重新添加 Key 后自动恢复。 -
完整的模型配置而非裸 ID
同步模型时会保留推理参数(如努力程度、自适应思考标志)以及上下文和输出限制。这意味着模型选择器和推理选择器能够正常工作,且所有参数均可通过界面编辑,不仅仅是简单的模型 ID 替换。 -
模型白名单选择
同步模型列表以复选框形式呈现,允许用户选择包含哪些 Claude 或 GPT 模型。对于不支持或被路由端拒绝的模型(如gpt-5-codex),默认处于未选中状态,以避免调用失败。 -
专用的协议适配
* Claude 模型:使用 Claude Code 2.1.239 兼容的 Anthropic Messages transport,包含特定的请求头、身份块和会话元数据。
* GPT/Codex 模型:使用POST /v1/responses端点,采用 Codex CLI 的请求形状(如store: false、include reasoning.encrypted_content)。 -
推理流通过标准选择器
推理努力(reasoning efforts)通过 DSH 原生的推理选择器进行控制,而非硬编码在插件内部。
安装与启用¶
安装过程通过 npx 执行,它会修改当前 profile 的 package.json(添加依赖和 bundles 配置),并在该目录下运行 pnpm install --ignore-scripts。安装过程中不会停止 DSH 进程,但安装完成后需要手动重启 DSH 并刷新 Web 页面。
执行以下命令进行安装:
npx --yes github:shaomingbo/dsh-anyrouter#v0.3.3
典型用法¶
安装完成后,可以通过以下命令管理插件状态或切换配置文件:
# 检查插件是否已安装
npx --yes github:shaomingbo/dsh-anyrouter#v0.3.3 status
# 卸载插件(幂等操作)
npx --yes github:shaomingbo/dsh-anyrouter#v0.3.3 uninstall
# 使用 headless 配置文件安装
npx --yes github:shaomingbo/dsh-anyrouter#v0.3.3 --profile headless
# 使用本地源码进行开发
DSH_ANYROUTER_SOURCE=link:/absolute/path/to/checkout npx --yes github:shaomingbo/dsh-anyrouter#v0.3.3
适用场景与注意¶
- 环境要求:该插件依赖于 DeepSeek Harness
0.1.1-rc.2和pi-ai0.82.1。如果使用旧版本的 DSH(如 0.1.1-rc.2 之前),客户端会因缺少必要的remote.credentials或remote.llm引用而启动失败。 - 错误处理:同步模型列表是咨询性质的,不会主动进行付费探测。当 Relay 服务端处于容量限制或无健康上游时,模型调用可能会返回
429或500错误。 - 配置说明:API Key 必须存储在凭证服务中,或通过启动环境变量提供,切勿写入配置文件的
llm-anyrouter节点。如果配置文件中缺少reasoning块,系统会回退到基于 pi-ai 目录生成的构建时配置。
总结¶
dsh-anyrouter 为 DeepSeek Harness 提供了与 Any Router 的标准化接入方案。它通过 Key-gating、完整的模型配置以及专用的协议适配,解决了多模型路由在 DSH 中的集成难点。对于需要在本地或 Web 端通过 DSH 管理多模型路由的开发者来说,这是一个功能完备的解决方案。