DeepSeek Harness 和 Claude Code 都是默认使用 Anthropic Messages 格式进行通信的代理——dsh 使用 DeepSeek 的 Anthropic 兼容端点,Claude Code 使用 Anthropic——因此选择重点不在协议,而在于由谁收费、每个请求携带什么内容,以及哪些内容会离开你的机器。我们于 2026 年 10 月 1 日让二者都指向同一个录制替身,并分别交给它们同一个单文件任务;二者都完成了工具往返,但请求在一些会影响成本和隐私的方面有所不同。
有关 dsh 本身的成本,请参阅 DeepSeek Harness 定价;如需将其指向其他端点,请参阅 Kunavo 的 DeepSeek Harness 设置。
并排比较
| DeepSeek Harness | Claude Code | |
|---|---|---|
| 检查版本 | npm 上的 0.2.0-rc.2(2026 年 9 月 29 日),“开发者预览版” | npm 上的 2.1.286(2026 年 9 月 30 日) |
| 许可证 | MIT | Anthropic 的条款;非开源 |
| 使用界面 | Web UI、终端 UI、无头模式、macOS/Windows 桌面端、ACP、Python SDK | 终端、IDE 扩展、桌面端和 Web、SDK |
| 默认模型路由 | deepseek-flash通过 DeepSeek 的 Anthropic 格式 API | 通过 Anthropic 使用 Claude |
| 付费方式 | 按 token 向 DeepSeek 付费,预付费;无订阅 | Claude Pro 或 Max 计划,或使用 API 密钥按 token 付费 |
| 其他提供商 | 自定义模型 API:openai-completions、openai-responses 或 anthropic-messages,每个提供商使用一个 | 通过 ANTHROPIC_BASE_URL 使用一个 Anthropic 格式端点 |
| 指令文件 | AGENTS.md 和 CLAUDE.md(加上 .local 覆盖文件) | CLAUDE.md |
同一任务,两种请求形态
| 任务的第一个请求 | dsh 0.2.0-rc.2,内置路由 | Claude Code 2.1.286 |
|---|---|---|
| 路径 | /v1/messages | /v1/messages?beta=true |
| 发送的工具 | 24 | 20 |
| 正文大小 | 65,321 字节,其中 39,142 字节是两个非模型字段 | 107,404 字节 |
| 输出上限 | max_tokens: 256000,开启思考,effort 为“high” | max_tokens: 64000 |
| 额外调用 | 每个新会话都会发起一次标题请求,携带相同的非模型字段 | 在 -p 模式下没有 |
| 完成请求数 | 3 次(轮次、标题、工具结果后的轮次) | 2 |
这些是由替身记录的字节数,而不是 token 数;替身也不是模型,因此这里没有任何内容可以衡量回答质量。它体现的是:dsh 默认开启推理,并请求大得多的输出上限,这对按 token 计费很重要;Claude Code 则在每轮发送更大的提示。dsh 在三个全新会话中运行,每次请求的字节完全相同;Claude Code 运行了一次。
哪些内容会离开你的设备
dsh 请求中的两个非模型字段是 dsh_session_log 和 dsh_plugin_packages。第一个是会话的事件日志——包括你的工作目录路径——会随代理、压缩和标题请求增量发送,每个请求最多 8 MiB;它来自一个默认开启的插件。第二个列出已安装的插件包及其版本。运行期间,它们被发送到 DEEPSEEK_BASE_URL 所指向的地址。Web UI 中 Settings → General 下的“Upload Session Log when using the official model API”开关可以关闭日志。dsh 还默认将 OpenTelemetry 反馈导出到 DeepSeek 的收集器;DSH_TELEMETRY_MODE=DISABLED 可将其停止。Claude Code 有自己的遥测和非必要流量开关,在其运行期间均已关闭。dsh 中的自定义 pi-ai 提供商不会发送这两个字段。
使用对方的模型运行
在 DeepSeek 上运行 Claude Code:DeepSeek 自己的指南使用 DeepSeek 密钥设置 ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic。DeepSeek 会映射模型名称:claude-opus… 映射到 deepseek-v4-pro(按其价格计费),claude-sonnet… 和 claude-haiku… 映射到 deepseek-flash,任何不受支持的名称映射到 deepseek-flash。其兼容性表会忽略 cache_control,并且只让 effort 在 output_config 中生效。
在 Claude 上运行 dsh:添加自定义模型 API。使用 anthropic-messages 时,填写网关的裸根路径——本次运行发往 /v1/messages?beta=true;在末尾加上 /v1 时,则发往 /v1/v1/messages。使用 openai-completions 时,填写以 /v1 结尾的基础 URL。在 Kunavo 上,Claude Sonnet 5 在 $1.40 中列出的价格为每百万 token 输入价,在 $7.00 中列出的价格为每百万 token 输出价,Claude Haiku 4.5 的价格位于 $0.70 和 $3.50,从预付余额中扣费,最低充值金额为 $10;请参阅 Claude Code 设置 或 DeepSeek Harness 设置。Kunavo 没有人使用其端点运行过任一工具;这里的运行使用的是替身。
在二者之间切换
- 指令会随之迁移。dsh 会从项目根目录加载到工作目录的 AGENTS.md 和 CLAUDE.md,并加载 AGENTS.local.md、CLAUDE.local.md 以及用户全局的
$DSH_HOME/AGENTS.md,总计不超过 65,536 字节。 - 技能需要移动。dsh 会扫描
.dsh/skills、.agents/skills、$DSH_HOME/skills和~/.agents/skills——不会扫描.claude/skills——以查找包含name和descriptionfrontmatter 的SKILL.md包;使用customSkillDirs添加该文件夹,或直接复制它。 - MCP 工具保留其名称。dsh 会将它们暴露为 Claude Code 所使用的形态
mcp__<server>__<tool>,但服务器列表位于 dsh 的配置文件中,而不是 Claude Code 的文件中。 - 会话不会迁移。dsh 会将压缩后的会话日志保存在
$DSH_HOME/sessions下;两种方式之间都没有导入器。 - 请预期 dsh 升级会造成破坏性变化。其 README 承诺在预览期间进行不兼容变更,而 0.2.0-rc.2 自己的说明称,一些较旧的模型 ID 已被移除,已保存的选择可能需要重新选择。
常见问题
DeepSeek Harness 和 Claude Code 有什么区别?
DeepSeek Harness(dsh)是 DeepSeek 基于插件构建的 MIT 许可代理框架,提供 Web UI、终端 UI、无头模式、桌面应用和 Python SDK,目前是 0.2.0-rc.2 版本的开发者预览。Claude Code 是 Anthropic 自有的编码代理;截至 2026 年 10 月 1 日,其 npm 版本为 2.1.286。两者默认都使用 Anthropic Messages 格式:dsh 连接 DeepSeek 的兼容 Anthropic 端点并使用 deepseek-flash,Claude Code 连接 Anthropic。实际差异在于计费方式、每个请求携带的内容,以及各自上传的内容。
DeepSeek Harness 和 Claude Code 哪个更便宜?
On list price, dsh on DeepSeek. deepseek-flash is $0.30 per million input tokens and $1.20 per million output at peak, half that off-peak; Claude Code is either included in Claude Pro ($17 a month billed annually, $20 monthly) or Max (from $100), or billed per token on an API key, where Claude Sonnet 5 through Kunavo lists at $1.40 in and $7.00 out per million. The free Claude plan does not include Claude Code. Price per token is not price per finished task: run the same task on both before you decide.
Claude Code 可以使用 DeepSeek 模型吗?
可以,通过 DeepSeek 的 Anthropic 格式端点:将 ANTHROPIC_BASE_URL 设置为 https://api.deepseek.com/anthropic,并将 ANTHROPIC_API_KEY 设置为 DeepSeek 密钥,正如 DeepSeek 自己的指南所示。随后,DeepSeek 会映射 Claude Code 发送的 Claude 模型名称:以 claude-opus 开头的名称会路由到 deepseek-v4-pro,并按其价格计费;claude-sonnet 和 claude-haiku 名称会路由到 deepseek-flash。DeepSeek 的兼容性表显示,cache_control 会被忽略,只有 output_config 中的 effort 字段会生效。
DeepSeek Harness 可以使用 Claude 模型吗?
Yes, as a custom model API in Settings → Models. Choose anthropic-messages and give the bare root of an Anthropic-compatible gateway: in a 0.2.0-rc.2 run that posted to /v1/messages?beta=true, while a base URL ending in /v1 posted to /v1/v1/messages, which a real gateway answers with 404. Or choose openai-completions with a base URL ending in /v1. Either way the gateway bills the tokens; Kunavo bills per token from a prepaid balance with a $10 minimum top-up.
我的 CLAUDE.md 文件在 DeepSeek Harness 中有效吗?
可以。dsh 的指令插件会从项目根目录到工作目录之间的每个目录加载 AGENTS.md 和 CLAUDE.md,并加载 AGENTS.local.md 和 CLAUDE.local.md 覆盖文件,以及用户全局的 $DSH_HOME/AGENTS.md,总预算为 65,536 字节。技能则不同:dsh 默认扫描 .dsh/skills、.agents/skills、$DSH_HOME/skills 和 ~/.agents/skills,而不是 .claude/skills,因此需要移动 Claude Code 技能,或添加自定义的 customSkillDirs 条目。
运行日期为 2026 年 10 月 1 日:@deepseek-ai/dsh 0.2.0-rc.2(dsh --profile headless,已禁用遥测)和 @anthropic-ai/claude-code 2.1.286(claude -p,临时配置目录,已关闭遥测和非必要流量);二者都从 npm 安装到临时文件夹,并指向同一个本地录制替身,使用虚假密钥。运行之外的行为依据已发布 dsh 包中的 README;DeepSeek 的模型映射和兼容性表来自 api-docs.deepseek.com;Claude 计划来自 claude.com/pricing;Kunavo 费率来自实时目录。