DeepSeek Harness、Claude Code 和 Codex CLI 都可以在你自己的电脑上运行 Agent:读写文件、执行命令,再把每一轮模型调用发给某个 API。但它们出自三家厂商,各说各的协议。DeepSeek Harness(dsh)是 DeepSeek 开源的 Agent 框架(agent harness):插件化设计,有本地 Web UI 和桌面版,日常工作、写代码都能用,通过你配置的提供商连接模型,支持三种 API 协议。Claude Code 是 Anthropic 的智能体编程工具,说的是 Anthropic Messages 协议。Codex CLI 是 OpenAI 出品、在本机运行的编程 agent,说的是 Responses API。接到 Router One 之后,一把 Key 就能同时接入三者:每个工具指向自己协议对应的端点,网关发往模型的每个请求都记在同一个账户(钱包或套餐额度)、同一份控制台 → 日志里(在输出任何内容之前就失败的流式请求可能没有记录);端点国内直连、无需 VPN,支付宝即可充值。
如果你只是在两个厂商 CLI 之间二选一,Claude Code vs Codex CLI 讲了自主性与沙箱的取舍;想要一个不绑定厂商的开源终端 agent,看 OpenCode vs Claude Code vs Codex CLI。本文补上剩下的一块:DeepSeek 自家的 Agent 和这两者有什么区别,以及三者怎样共用一个网关。下文的厂商事实都来自各家自己的 README、文档或许可证文件(2026-10-19 核对);每个工具的完整配置步骤在各自的接入指南里,每一节都给了链接。
对照表
| DeepSeek Harness(dsh) | Claude Code | Codex CLI | |
|---|---|---|---|
| 出品方与定位 | DeepSeek;基于插件的开源 Agent 框架,日常工作、写代码或搭建自己的 harness 都能用,目前是预览版 | Anthropic;智能体编程工具 | OpenAI;在你电脑本地运行的编程 agent |
| 在哪里运行 | 用 npx @deepseek-ai/dsh web 启动的本地 Web UI,以及 macOS(Apple Silicon)、Windows(64 位)桌面版 | 终端、IDE 扩展、桌面应用和网页 | 终端,另有 IDE 扩展、桌面应用和云端的 Codex Web |
| 许可证 | MIT | 专有许可:© Anthropic PBC,使用须遵守 Anthropic 商业服务条款 | Apache-2.0 |
| 连 Router One 用的协议 | 每个提供商选一种:OpenAI Chat Completions、OpenAI Responses 或 Anthropic Messages | Anthropic Messages,由 ANTHROPIC_BASE_URL 指定 | Responses:wire_api = "responses" 是唯一支持的值 |
| Router One 地址 | 两种 OpenAI 协议填 https://api.router.one/v1,Anthropic Messages 填 https://api.router.one | https://api.router.one(主机根地址,不带 /v1) | https://api.router.one/v1 |
| Router One Key 填在哪 | 「自定义模型 API」提供商的「API 密钥」 | ANTHROPIC_AUTH_TOKEN | env_key 指定的环境变量 |
| 经 Router One 能用的模型 | Chat Completions 提供商上的全部对话模型;另外两种协议只能用各自提供的系列 | Claude 系列 | /v1/responses 上原生提供的 GPT 系列、DeepSeek 与 Grok 对话模型 |
协议这一行决定了模型这一行:dsh 的 Chat Completions 提供商能用上 Router One 目录里的全部对话模型——Claude、GPT、Gemini、Grok 和 DeepSeek——因为 /v1/chat/completions 服务所有对话模型;Claude Code 只用 Claude 系列,Codex CLI 则能用 Router One 在 /v1/responses 上原生提供的 GPT 系列、DeepSeek 与 Grok 对话模型。
DeepSeek Harness:DeepSeek 自家的 Agent,三种协议任选
按其 README(2026-10-19 核对),DeepSeek Harness 是由 DeepSeek 开发的开源 agent harness(智能体框架),采用插件化架构(everything-is-a-plugin),由 Cordis 驱动。deepseek.com(同日核对)把它定位为日常工作、写代码或搭建自己的 harness 都能用的工具,标注为预览版、面向全球开放测试,并提供 macOS(Apple Silicon)与 Windows(64 位)桌面版下载;README 称它处于开发者预览阶段,并提示未来会出现破坏兼容性的变更。通过 npm 运行时,它是一个本地 Web UI:npx @deepseek-ai/dsh web 默认会在 http://127.0.0.1:3080 启动。按其 Web UI 指南,Agent 可以读取和编辑工作区文件、运行命令、委派工作并维护计划;当前权限策略要求审批的操作,Web UI 会先询问你。
它真正不同的地方在于怎样连接模型。按 dsh 的模型配置文档(2026-10-19 核对),「自定义模型 API」适用于中转站、公司网关、自建服务器或已安装目录中不存在的提供商;「API 协议」选择框提供三种:OpenAI Chat Completions、OpenAI Responses 和 Anthropic Messages。一个提供商只使用一种协议,网关同时提供两种时需要建两个提供商。三个工具里,只有 dsh 不绑定某一家厂商的接口格式。
接 Router One:建一个「自定义模型 API」提供商,「API 协议」选 OpenAI Chat Completions,「API 地址」填 https://api.router.one/v1,再填入你的 Key,就能用上目录里的全部对话模型。GPT 的 ID 再建一个 OpenAI Responses 提供商:按 OpenAI 的 GPT-6 指南(2026-10-19 核对),GPT-6 Astra 与 GPT-6.1 Sol 的工具调用只走 Responses API,而 Router One 在 /v1/responses 上原生提供 GPT 系列模型。想用 Claude 原生消息格式,可以再建一个 Anthropic Messages 提供商,API 地址填主机根地址 https://api.router.one。模型 ID 按 /models 原样填写,例如 anthropic/claude-sonnet-5、openai/gpt-6.1-sol 或 deepseek-v4.1-flash,截至 2026-10-19 的模型目录都列出了它们。表单怎么填、怎样获取模型列表、推理等级怎么设,见 DeepSeek Harness 接入指南(按 Web UI 编写)。
坑在这里:「设置 → 模型」上的 DeepSeek 卡片放的是 DeepSeek 官方 API 的 Key,不是 Router One 的 Key。按 dsh 文档,DeepSeek 卡片的模型列表默认使用 dsh 自带的 DeepSeek 目录,不会从 API 地址指向的端点获取,所以 Router One 的 Key 请填进「自定义模型 API」提供商,模型 ID 用 /models 上的。
Claude Code:Anthropic 的编程 agent,走 Anthropic Messages
按 Anthropic 的 Claude Code 概览文档(2026-10-19 核对),Claude Code 是一款智能体编程工具,能读懂你的代码库、编辑文件、执行命令并接入你的开发工具,可以在终端、IDE 扩展、桌面应用和浏览器里使用。它不开源:GitHub 仓库里的许可证文件写的是「© Anthropic PBC. All rights reserved.」,使用须遵守 Anthropic 的商业服务条款。连 Router One 这类网关时,它说的是 Anthropic Messages:按 Anthropic 的网关文档,ANTHROPIC_BASE_URL 把它指向网关的 /v1/messages,ANTHROPIC_AUTH_TOKEN 以 Authorization: Bearer 发送凭据。同一份文档写明,让 Claude Code 经任何网关调用非 Claude 模型不在 Anthropic 的支持范围内,所以请让它只用 Claude 系列的 ID。
CLI 接 Router One 就是两个变量:ANTHROPIC_BASE_URL=https://api.router.one(主机根地址,不带 /v1,Claude Code 会自己拼路径)和 ANTHROPIC_AUTH_TOKEN(填你的 Router One Key)。一键脚本会把两者写进 ~/.claude/settings.json 的 env 块,再发一个 1 token 的请求验证 Key。按同一份网关文档,读这些设置的是 CLI:VS Code 扩展从它自己的 claudeCode.environmentVariables 设置里读取凭据,桌面应用从自己的第三方推理配置读取网关地址,不读 ANTHROPIC_BASE_URL 或 settings.json,网页上的云端会话则不走网关。Claude Code 默认请求哪个模型、用套餐时要固定哪些别名,会随 Claude Code 版本变化,最新写法以 Claude Code 国内接入 和 Claude Code 配置指南 为准。
坑在这里: 按 Anthropic 的网关文档,设置了网关凭据变量后,请求会用它代替已保存的 claude.ai 登录,claude.ai 订阅的用量上限不作用于这些请求;只设 ANTHROPIC_BASE_URL 而不设凭据,生效的仍是已保存的登录。同一份文档还写明,settings 文件的 env 块和 shell 的 export 设了同一个变量时,以 settings 文件为准,所以 /status 显示的 base URL 不对时,先查 ~/.claude/settings.json。
Codex CLI:OpenAI 的本地编程 agent,走 Responses API
按其 README(openai/codex,2026-10-19 核对),Codex CLI 是 OpenAI 出品、在你电脑本地运行的编程 agent;Codex 另有 IDE 扩展、桌面应用和云端的 Codex Web,仓库采用 Apache-2.0 许可证。连自定义端点时它只说一种协议:按 Codex 的配置参考文档(同日核对),model provider 的 wire_api 只支持 responses 这一个值(不写时默认也是它),env_key 指定提供 API Key 的环境变量。
接 Router One 就是 ~/.codex/config.toml 里的一个 provider 块(由第一个表头之前的顶层 model_provider 选中):base_url = "https://api.router.one/v1"、wire_api = "responses",env_key 写存放 Router One Key 的环境变量名。一键脚本会写好配置文件、持久化这个变量并验证 Key。之后 Codex 就能调用 Router One 在 /v1/responses 上原生提供的模型:GPT 系列、DeepSeek 与 Grok 对话模型。例外是 Codex cloud:按 Codex 认证文档(2026-10-19 核对),它必须用 ChatGPT 登录。model 这一行写什么、套餐和钱包怎么计费,见 Codex CLI 国内使用 和 Codex 与 Responses API。
坑在这里: Claude 系列 ID 发到 /v1/responses,网关会在任何模型运行之前返回 HTTP 400,因为 Router One 在 /v1/messages 和 /v1/chat/completions 上提供 Claude;要用 Claude,请交给 Claude Code,或放在 dsh 的提供商下。如果 Codex 提示某个模型「is not supported when using Codex with a ChatGPT account」,说明请求走的是 Codex 的 ChatGPT 账号登录,而不是你的 provider 块,见 Codex 模型不支持报错的修法。
一把 Key 接三个工具
三个工具都接受同一把以 sk- 开头的 Router One Key,区别只在 Key 填在哪里、请求发到哪个端点。网关带来的东西对三者一样:
- 每个工具一个硬上限。 在控制台 → API 密钥为每个工具单独建一把 Key,各设
maxSpend上限。Agent 的每一轮模型调用都是一个请求,只把工具结果交回模型的那几轮也算,所以长任务可能在你不再输入的情况下产生大量计费请求;Key 到达上限后返回 HTTP 402 并停止,其他 Key 照常可用。 - 三个工具一份日志。 网关发往模型的每个请求都记录在控制台 → 日志中,包括模型、Token、费用、状态、总耗时和请求 ID(在输出任何内容之前就失败的流式请求可能没有记录);按 API Key 筛选,就能看到单个工具的花费。
- 同模型故障转移。 上游返回可重试的 5xx 或超时时,Router One 可以把请求改由另一条提供同一个所请求模型的健康线路重试。它不会换成别的模型,也不是零宕机保证。
- 一个钱包,套餐可选。 请求按 Token 从钱包扣费,单价见各模型详情页;用 Pro、Max、Ultra 套餐时,各档位列出的模型先扣套餐额度,详见定价。
国内使用
在国内,难点不在 DeepSeek Harness 本身,而在 Claude 和 GPT:Claude Code 和 Codex CLI 默认调用 Anthropic 与 OpenAI 的服务,在国内网络上不挂 VPN 都不稳定,计费也默认你有境外卡;dsh 想用这两个系列,也得先有一个能连得上的端点。Router One 的端点国内直连、无需 VPN,一把 Key 同时服务三个工具,dsh 的自定义提供商还能用上目录里的全部对话模型。钱包支持支付宝或银行卡在同一个托管收银台完成充值,也支持 6 条链上的 USDT/USDC(Tron、BSC、以太坊、Polygon、Base、Arbitrum),无需美国信用卡。Router One 只承载模型请求,不分发工具的安装包(Claude Code 和 Codex 的一键脚本在未安装时会通过 npm 或官方安装器安装):dsh 用 npx 从 npm 仓库运行,或从 deepseek.com 下载桌面版;另外两个工具的国内配置见 Claude Code 国内接入 和 Codex CLI 国内使用。
常见问题
DeepSeek Harness 和 Claude Code 有什么区别? 形态相似:两者都在你的机器上运行 Agent,读写文件、执行命令,把每一轮模型调用发给 API。区别在出品方、许可证和协议:Claude Code 是 Anthropic 的编程工具,不开源,连 Router One 这类网关时说的是 Anthropic Messages;DeepSeek Harness 是 DeepSeek 以 MIT 许可证开源的插件式 Agent 框架,目前是预览版,每个自定义提供商可以在 OpenAI Chat Completions、OpenAI Responses 和 Anthropic Messages 中选一种。经 Router One,Claude Code 只用 Claude 模型,而 dsh 通过自定义提供商能用上目录里的全部对话模型:GPT 的 ID 放在 Responses 提供商上,其余放在 Chat Completions 提供商上。
DeepSeek Harness 和 Codex 是一样的吗?
不是。Codex CLI 是 OpenAI 以 Apache-2.0 许可证开源的编程 agent,Codex 里的自定义 provider 只说 Responses API(wire_api = "responses");DeepSeek Harness 则是 DeepSeek 出品的独立项目,以 MIT 许可证开源,每个提供商可以用三种协议中的任意一种。两者接 Router One 时都可以填 https://api.router.one/v1:Codex 写在 config.toml 的 provider 块里并通过 env_key 读 Key,dsh 填在使用任一种 OpenAI 协议的「自定义模型 API」提供商里。
DeepSeek Harness 能用 Claude 和 GPT 吗?
能,通过「自定义模型 API」提供商。Router One 在 Chat Completions 上提供全部对话模型,所以一个填了 https://api.router.one/v1 和你的 Key 的提供商,就能用上 /models 里 Claude、GPT、Gemini、Grok 与 DeepSeek 的 ID。GPT 的 ID 放到第二个 OpenAI Responses 提供商;想用 Claude 原生消息格式,再建一个 Anthropic Messages 提供商,API 地址填主机根地址 https://api.router.one。完整表单见 DeepSeek Harness 接入指南。
DeepSeek Harness 和 DeepSeek 模型是什么关系? DeepSeek Harness 是 Agent,模型是它调用的对象。它的「设置 → 模型」页有连接 DeepSeek 官方 API 的 DeepSeek 卡片、dsh 自带的第三方提供商,以及可接任意网关的「自定义模型 API」提供商。在 Router One 提供商下,目录里的 DeepSeek ID——截至 2026-10-19 的模型目录列出的 deepseek-v4.1-flash 与 deepseek-v4-flash——和其他模型一样用你的 Router One Key 调用;DeepSeek 卡片则仍需 DeepSeek 自己的 API Key。
需要三把 Key 或三份订阅吗? 一把 Router One Key 三个工具都能用;分开建 Key,可以由同一个钱包供血,同时给每个工具各设 maxSpend 上限。用 Router One Key 发出的请求不需要厂商订阅:按 Anthropic 的网关文档,Claude Code 用网关凭据代替 claude.ai 登录;Codex 的自定义 provider 从 env_key 指定的变量读 Key;dsh 把 Key 保存在提供商里。想要固定月费,可以选 Router One 自己的 Pro、Max、Ultra 套餐,见定价。
国内能直连吗? 能。Router One 在国内可直连、无需 VPN,三个工具都从你的机器直接把模型请求发到 api.router.one,所以配置与其他地区完全一致。钱包支持支付宝或银行卡在同一个托管收银台充值,也支持 6 条链上的 USDT/USDC;Router One 只承载模型请求,不分发工具的安装包。
下一步
- DeepSeek Harness 接入:DeepSeek Harness 接入指南
- Claude Code:Claude Code 国内接入,或 Claude Code 配置指南
- Codex CLI:Codex CLI 国内使用,或 Codex 与 Responses API
- 更多对比:Claude Code vs Codex CLI、OpenCode vs Claude Code vs Codex CLI、Goose、OpenCode、Qwen Code、Aider 横评
- 所有编程工具走同一个网关:AI 编程工具统一接入;实时模型与套餐:模型页、定价
到 router.one 建 Key,每个工具一把、各设上限,再用同一个任务把三个工具都跑一遍。