你昨天在 Hermes 中运行了一个任务。今天又在 dsh 中运行了感觉完全相同的任务。同一个模型,同一个 API 密钥,同一台笔记本电脑。但使用量数字却不一样。
你的眼睛没问题。没有东西在一夜之间重新定价。
几乎所有的 DeepSeek Harness vs Hermes 对比文章都忽略了这一点:框架是包裹在模型外面的壳,而这个壳决定了每一步输出多少上下文、它宣传多少工具、它重试多少次、以及它是否在每次调用时都重新发送整个对话。换壳,就换账单。
所以我锁定了模型变量并进行了测量。两个框架,一个端点,同一个 deepseek-ai/deepseek-v4-pro,同一个提示,同一台机器,同一个下午。相同的任务,两者都完成了,但其中一个的提示令牌移动量是另一个的 8.4 倍。
关键要点
- 相同模型,相同任务,都通过了:dsh 耗时 121 秒,Hermes 耗时 780 秒。
- Hermes 移动了 1,111,573 个提示令牌,而 dsh 是 132,600 个。同一任务,高出 8.4 倍。
- 在两个代理做任何事之前,它们的系统提示就已经消耗了令牌:dsh 10,898 vs Hermes 13,892,仅仅为了回答“OK”。
- 除非你覆盖
defaultContextWindow,否则 dsh 会静默地将上下文限制在 262,144,丢弃 V4 窗口的 75%。- 编码任务选 dsh,记忆、定时任务和聊天界面选 Hermes。或者两者都运行。

拆分工程车间,左边是一个裸发动机缸体夹在钢制测试台架中,右边是一个黄铜文件自动机,两者都由一根铜燃料管供料
一根燃料管,两个测试台架。这就是整个实验。使用 openai/gpt-image-2 生成。
DeepSeek Harness vs Hermes,相同模型,相同任务
两个框架都得到了这个提示,逐字逐句:构建一个单文件 Breakout 克隆,包含一个挡板、5行砖块、一个实时分数计数器、一个 P 键暂停,以及一个内联自测脚本,该脚本断言三个物理不变量并打印 PASS 或 FAIL。然后以无头模式运行它,修复直到所有三个都打印 PASS。
没有库。没有 CDN。没有构建步骤。
两者都实际完成了。这是两个文件,在真实浏览器中渲染。

两个 Breakout 构建并排显示动画:左侧是 DeepSeek Harness (dsh),右侧是 Hermes Agent,两者都从相同的 DeepSeek V4 Pro 提示自动播放
两个构建重新录制并排播放,以便你可以观察每个实际运行。左侧:dsh,其游戏自动启动。右侧: Hermes ,其游戏启动时暂停,然后运行。相同的单文件提示,相同的 DeepSeek V4 Pro ,两个框架。
现在来看实际决定的因素。
| 运行 | 挂钟时间 | 工具调用次数 | 提示令牌(新鲜 + 缓存) | 输出令牌 | V4 Pro 成本 |
|---|---|---|---|---|---|
| dsh,第1轮 | 121.2秒 | 8 | 14,840 + 117,760 = 132,600 | 5,231 | $0.24 |
| Hermes,第1轮 | 780秒 | 35 | 49,685 + 1,061,888 = 1,111,573 | 19,317 | $1.93 |
| dsh,第2轮 | 未完成 | 11(截止前) | 44,291 + 132,608 | 2,463 | 未完成 |
| Hermes,第2轮 | 未完成 | 未运行 | 未完成 | 未完成 | 未完成 |
2026-08-21 在 deepseek-ai/deepseek-v4-pro 上测量,一台机器,每次运行空工作目录。令牌计数为机器读取:dsh 来自其会话日志,Hermes 来自其 --usage-file JSON。请注意,两个工具计数来源不同:dsh 的 8 个来自其日志(它声称是 6 个),而 Hermes 的 35 个是其自己的报告,其使用文件记录了 38 个 API 调用。成本计算方法在最后一节中说明。
为什么有两行空白?第2轮从未运行,原因就是本文最好的单个数据点。Hermes 的第1轮单独就向账户推送了 1.13 百万令牌,而在 dsh 的第2轮进行到一半时,端点回复了:
plaintext1dsh: QUOTA: 429: {"code":"member_spend_limit_exceeded", 2"message":"Member day spend limit reached (set by your team admin); 3resets at 2026-08-22T00:00:00Z.","type":"insufficient_quota"}
一个代理,一个 Breakout 游戏,一天预算上限。我不会用估算来填充那些单元格。
还有一个值得指出的细节。dsh 在其最终答案中报告了“工具调用次数:6”。其自己的会话日志记录了 8 次。代理关于自己支出的叙述不可靠,这正是本测试读取日志而非摘要的原因。
为什么大多数 DeepSeek Harness vs Hermes 对比都是错误的
先下结论:几乎所有排名靠前的关键词页面都测量了错误的变量,你可以从它们设置的一行中看出端倪。
这些测试测量的是模型,而不是壳
去阅读排名靠前的结果。模式重复:在 DeepSeek 模型上运行 dsh,在 Hermes 当前指向的任何模型上运行 Hermes,然后将整个差异归因于框架。
那不是框架对比。那是模型对比,披着框架形状的标签。
如果 dsh 在 V4 Pro 上,而 Hermes 在其他东西上,你测量的差异主要来自两个模型,而壳的贡献被埋没到无法恢复。因此,本测试做了无聊但必要的事:两个框架指向相同的 base URL、相同的模型 ID、相同的密钥。
框架本身的选择就会改变数字
想要证明仅壳本身就很昂贵?让每个框架什么都不做。
我向两者发送了相同的琐碎提示:Reply with exactly the word: OK。不需要工具,不需要文件,不需要思考。
| 框架 | 说“OK”所需的提示令牌 | 输出令牌 | 挂钟时间 |
|---|---|---|---|
| DeepSeek Harness (dsh) | 10,898 | 2 | 5.6秒 |
| Hermes Agent | 13,892 (+1,024 缓存) | 17 | 8.5秒 |
相同模型。相同问题。在开始任何实际工作之前就有 2,994 个令牌的差距,因为这个差距 就是 框架:它的系统提示、它的工具模式、它的规则文件。Hermes 搭载了更多的表面积,所以 Hermes 搭载了更多的令牌。
现在,将其乘以一个 38 次调用的代理循环,其中每次调用都重新发送到目前为止的对话。缓存读取占 dsh 提示令牌的 88.8%,占 Hermes 的 95.5%。那个重新读取就是账单。
一个端点,两个框架:DeepSeek V4 设置
要比较框架,你需要模型端完全静止。不仅仅是相同的模型名称:相同的端点、相同的速率限制、凌晨 3 点和下午 3 点相同的价格。
最后一点比听起来更重要。如果你的提供商对高峰和非高峰时段收费,那么“Hermes 第1轮在 09:00”和“dsh 第2轮在 11:00”就不是可比较的运行,你永远无法理清多少差异来自框架,多少来自时钟。
因此,两个框架都指向 Atlas Cloud 上的一个统一费率 OpenAI 兼容端点:https://api.atlascloud.ai/v1。全天相同价格,无高峰时段,每个框架没有单独的队列,一个密钥用于两者。
| 测试中的角色 | 模型 ID | 上下文 / 最大输出 | 每百万输入/输出价格 |
|---|---|---|---|
| 两个框架的主引擎 | deepseek-ai/deepseek-v4-pro | 1,048,576 / 393,216 | $1.68 / $3.38 |
| 廉价层,“手臂”角色 | deepseek-ai/deepseek-v4-flash | 1,048,576 / 393,216 | $0.14 / $0.28 |
| 长期运行的定时任务 | deepseek-ai/deepseek-v3.2 | 163,840 / 163,840 | $0.26 / $0.38 |
价格从 2026-08-21 的模型页面读取。目前 DeepSeek 系列没有折扣徽章,所以这里没有下周到期的促销费率。
一件容易被忽略的小事:/v1/models 报告 deepseek-v4-pro 和 deepseek-v4-flash 为 fp4,而 deepseek-v4-pro-0813 返回 fp8。想要更高精度的权重?固定带日期的 ID。
好的。让我们开始构建。
自己运行 DeepSeek Harness vs Hermes 测试
预览:七个步骤,两个配置文件,一个提示,你将得到你自己版本的表格,而不是相信我的。证明它有效:上面的每个数字都来自这些步骤,在标准 MacBook、Node v24.15.0、dsh 0.1.0-rc.7、Hermes v0.20.4 上。
让我们开始。
步骤 1:获取一个稳定的端点
两个框架都严重依赖函数调用,所以在安装任何东西之前,先证明端点支持工具:
plaintext1curl -s https://api.atlascloud.ai/v1/models \ 2 -H "Authorization: Bearer $ATLAS_API_KEY" \ 3 | jq '.data[] | select(.id|test("v4-pro$")) | {id, context_length, max_output_length, supported_features}'
该调用的实际输出:
plaintext1{ 2 "id": "deepseek-ai/deepseek-v4-pro", 3 "context_length": 1048576, 4 "max_output_length": 393216, 5 "supported_features": ["json_mode", "tools", "structured_outputs"] 6}
列表中的 tools 就是你要检查的东西。没有工具,就没有代理循环,两个框架都会以令人困惑的方式失败,而不是告诉你原因。
从 DeepSeek V4 Pro 模型页面 获取你的密钥,然后在每个以下命令之前执行 export ATLAS_API_KEY=...。
Hermes 方面的一个注意事项:响应将数组包装为 {"code":200,"msg":"succeed","data":[...]}。Hermes 在设置期间探测 /v1/models 并可以正常解析,但如果你正在编写自己的工具,不要期望一个裸列表。
步骤 2:安装两个代理
plaintext1# DeepSeek Harness 2npm install @deepseek-ai/dsh 3 4# Hermes Agent 5curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
三个安装说明曾让我花费时间:
- dsh 需要 Node
^22.19.0 || >=24.0.0。它不支持 23.x。大多数教程说“Node 20+”,这完全是错误的。 - 那个 npm 安装拉取了 453 个包,耗时 8 分钟。这不是一个小依赖。
- Hermes 通过
uv自带其自己的 Python 3.11,所以你的系统 Python 无关紧要(我的是 3.9)。如果安装程序在 PyPI 小故障中下载中途失败,重新运行依赖同步而不是整个脚本。
步骤 3:将 DeepSeek Harness 指向端点
将以下内容写入 $DSH_HOME/settings.yaml(默认 ~/.dsh):
plaintext1llm-pi-ai: 2 providers: 3 atlas: 4 displayName: Atlas Cloud 5 apiKeyEnv: ATLAS_API_KEY 6 api: openai-completions 7 baseURL: https://api.atlascloud.ai/v1 8 defaultContextWindow: 1048576 9 defaultMaxTokens: 65536 10 compat: 11 thinkingFormat: deepseek 12 models: 13 - id: deepseek-ai/deepseek-v4-pro 14 name: DeepSeek V4 Pro 15 reasoningEfforts: 16 off: 17 high: high 18 - id: deepseek-ai/deepseek-v4-flash 19 name: DeepSeek V4 Flash 20 reasoningEfforts: 21 off: 22 high: high 23agent-default-model: 24 provider: atlas 25 model: deepseek-ai/deepseek-v4-pro
其中三行值得各用一句话说明,因为弄错任何一行都会改变你的账单:
compat.thinkingFormat: deepseek是没人写的那一行。 dsh 从端点 URL 推断思考方言。其自己的适配器 README 直言不讳:私有网关的 URL 不说明任何问题,因此未识别的端点会被“当作 OpenAI 本身”来对待。然后你的 DeepSeek 方言网关会收到 OpenAI 方言的对话。此键仅在api: openai-completions下存在。- 覆盖
defaultContextWindow。 路由级别的回退是 262,144 上下文和 32,768 最大令牌。不覆盖就声明 V4 模型,你就悄悄丢弃了 1,048,576 窗口的 75%。 agent-default-model将provider和model作为两个单独的键。 将其写成一个字符串model: atlas/deepseek-ai/deepseek-v4-pro看起来合理但不起作用。你会得到MISSING_CREDENTIAL: no API key for provider route "deepseek-official",然后你开始寻找一个你并不存在的密钥问题。
注意 apiKeyEnv 是一个凭证引用,而不是秘密。没有密钥放在这个文件中。
步骤 4:将 Hermes 指向相同的端点
向导方式是 hermes model,然后选择“自定义端点”。可脚本化的方式是五个命令:
plaintext1hermes config set model.provider custom 2hermes config set model.default deepseek-ai/deepseek-v4-pro 3hermes config set model.base_url https://api.atlascloud.ai/v1 4hermes config set model.api_key "$ATLAS_API_KEY" 5hermes config set model.context_length 1048576
这写入 ~/.hermes/config.yaml:
plaintext1model: 2 provider: custom 3 default: deepseek-ai/deepseek-v4-pro 4 base_url: https://api.atlascloud.ai/v1 5 api_key: apikey-... 6 context_length: 1048576
这里的 provider: custom 是一个一级提供商,不是别名,base URL 必须以 /v1 结尾,因为 Hermes 自己会附加 /chat/completions(Hermes Agent 文档,配置模型,2026)。
不要跳过 api_key 那一行。文档说密钥会回退到 OPENAI_API_KEY,但在我的运行中,仅导出该变量是不够的:Hermes 发送了没有可用认证的请求,Atlas 回复了 HTTP 401: {"code":401,"msg":"unauthorized"}。显式设置 model.api_key 在下次尝试时修复了它,耗时 8.5 秒。
步骤 5:在两个框架上运行第1轮
首先清除 Hermes 的技能目录(~/.hermes/skills)。预先存在的技能会使第1轮不公平,而第2轮正是你想观察技能被创建然后复用的地方。
然后给两个框架相同的提示,逐字节:
plaintext1Create a single self-contained file game.html: a Breakout clone with paddle, 5 rows of bricks, 2a live score counter, and a P key that pauses. No external libraries, no CDN, no build step. 3Then append an inline <script id="selftest"> block that asserts three physics invariants 4(ball reflects on paddle hit, score increments exactly once per brick, ball never leaves the canvas) 5and prints PASS/FAIL to the console. Run it headlessly, fix anything that fails, and stop only 6when all three asserts print PASS. Report the number of tool calls you used.
设置:每个框架使用一个全新的空目录,保留推理,最大输出至少 32,768,机器上不运行其他任务,以便挂钟时间有实际意义。
plaintext1# dsh,一次性持久会话 2DSH_HOME=~/.dsh dsh --profile headless "$(cat prompt-r1.txt)" 3 4# Hermes,一次性,带机器可读的使用报告 5hermes -z "$(cat prompt-r1.txt)" --yolo --usage-file hermes-r1-usage.json
两件事会让你惊讶。
首先,hermes -z 在完成之前完全不输出任何内容。没有横幅,没有旋转器,没有工具预览。我的静默了 13 分钟,看起来像挂死了;其实没有,它正在通过 38 次 API 调用。如果需要安心,检查 ps 是否有子 shell。
其次,Hermes 忽略了我的工作目录,并将 game.html 写到了 $HOME。如果你希望文件写在你启动的目录,传递 --no-restore-cwd 或 --in DIR。我因此损失了一轮。
同时,dsh 在 121 秒内完成,它的 Web UI 可以回读同一个会话:

DeepSeek Harness Web UI 显示完成的 Breakout 会话,三个 PASS 断言,9 步,133K 输入令牌,在 DeepSeek V4 Pro 上
dsh Web UI 在 127.0.0.1:3080 上。注意状态栏:9 步,缓存命中率 89%,输入 133K 令牌,模型选择器显示来自步骤 3 配置的 DeepSeek V4 Pro。
Hermes 端的 --usage-file 非常有用且文档不足:它将输入令牌、输出令牌、缓存读取、推理令牌、api_calls 和估计成本写入 JSON,并且即使运行失败也会写入该文件。
dsh 没有等效的标志,但它也不需要。其仅追加的会话日志包含所有内容,但有一个陷阱。$DSH_HOME/sessions/<编码后的工作目录>/session-<uuid>/session.jsonl.zstd 处的日志是一个多帧 zstd 流,每次刷新一帧。zlib.zstdDecompressSync(buf) 只返回第一帧,因此一个 150KB 的日志解码后只有几百字节,看起来是空的。自己分割魔数字节:
plaintext1const MAGIC = [0x28, 0xb5, 0x2f, 0xfd], offs = []; 2for (let i = 0; i < buf.length - 4; i++) 3 if (MAGIC.every((m, j) => buf[i + j] === m)) offs.push(i); 4const text = offs 5 .map((o, k) => zlib.zstdDecompressSync(buf.subarray(o, offs[k + 1] ?? buf.length)).toString()) 6 .join('');
使用情况存在于 assistant/chunk 事件中,其中 data.chunk.type === 'usage',比你想象的深一层(data.chunk.usage.inputTokens)。工具调用来自 assistant/message 内容块,类型为 tool-call。而 request/header.data.header.config 显示实际发送到线上的模型和 maxTokens,这证明了你的步骤 3 配置生效了,而不是你期望的那样。
步骤 6:第2轮,变更请求
相同目录,game.html 已经来自第1轮。现在请求两者进行更改:
plaintext1Add a falling power-up: when a brick in the top row breaks, drop a token that widens the paddle 2for 10 seconds. Keep all three selftest asserts passing and add a fourth assert for the power-up 3timer. Same file, no libraries.
这一轮区分了两种设计。Hermes 在复杂任务后编写技能,并保持三层记忆,因此第2轮是第1轮技能要么得到回报要么没有的地方。dsh 根本没有长期记忆,但它有一个仅追加的会话日志,你可以从中分叉并从中间重放,而不是重新开始。
在开始之前要对预算诚实。我的第2轮在 11 次工具调用后因每日支出上限而终止,这就是为什么上表有两个空行而不是两个编造的行。Hermes 自己的仪表盘显示了原因:

Hermes Agent 仪表盘会话页面,列出 Breakout 运行在 deepseek-v4-pro 上,共 76 条消息
Hermes v0.20.4 回读自己的会话。完成的 Breakout 运行是 76 条消息,全部在 deepseek-v4-pro 上,通过 Atlas 端点。
步骤 7:读取账单
每次运行两个数字,来自框架自己的日志,而不是代理的摘要:
plaintext1# Hermes 2jq '{input_tokens, output_tokens, cache_read_tokens, api_calls}' hermes-r1-usage.json 3 4# dsh:聚合解码后的会话日志 5node dsh-stats.js "$DSH_HOME/sessions/<编码后的工作目录>"
然后与你的提供商的使用页面交叉核对。当框架日志和提供商不一致时,信任提供商:那是你支付的数字。
顺便说一句,dsh 自己的状态栏与我的日志解析器在四舍五入范围内一致(133K 输入令牌,89% 缓存命中率 对比 我计算的 132,600 和 88.8%)。工具是诚实的。代理的英文摘要不是。
超越 DeepSeek Harness vs Hermes:将两者作为大脑和手臂运行
这是“选哪个”辩论中没人提供的答案:你不必选择。
两个项目在相反的方向上失败,这使得它们成为异常好的队友。
| 能力 | DeepSeek Harness (dsh) | Hermes Agent |
|---|---|---|
| 编码任务 | 强,这是设计目标 | 完成了相同任务,但耗时 6.4 倍 |
| 长期记忆 | 无 | 三层,代理管理 |
| 自我改进的技能 | 无 | 是,兼容 agentskills.io |
| 会话日志分叉/重放 | 是,仅追加 JSONL | 会话搜索,带 LLM 摘要 |
| 内置定时任务 | 否 | 是,自然语言调度 |
| 聊天界面 | 否 | Telegram、Discord、Slack、WhatsApp、Signal |
| 界面 | Web UI、TUI、无头模式 | TUI、CLI、仪表盘、网关 |
| 运行时 | Node 22.19+/24+ | Python 3.11(捆绑) |
| 成熟度 | 0.1 开发者预览,可能有破坏性变更 | 2026 年 2 月发布,v0.20.4 |
| 许可 / 星标 | MIT,176.5k | MIT,233.6k |
星标数来自 2026-08-21 的两个仓库(deepseek-ai/deepseek-harness 176.5k 星,19.2k 分叉;NousResearch/hermes-agent 233.6k 星,46.8k 分叉)。关注趋势,而不是总数:dsh 在我于 2026-08-17 检查时为 144,361 星,因此它在四天内增加了大约 32,000 星。
三种组合方式:
- 大脑和手臂。 Hermes 在 V4 Pro 上持有记忆、日程和 Telegram 线程。它将实际的编码任务委托给廉价层上的 dsh。一个密钥覆盖两者,因此你不必管理两个计费关系。
- 循环用廉价层,决策用昂贵层。 重复的定时任务运行在
deepseek-v3.2或 DeepSeek V4 Flash 上;困难决策升级到 Pro。 - 两者都无头模式。 dsh
--profile headless和 Hermes-z都接受一个提示并打印一个答案,因此任何一个都可以放入 shell 脚本或 CI 步骤,无需 TUI。
关于诚实弱点的公平警告,因为只列出优点的对比是广告。dsh 是 0.1 开发者预览版,其自己的 UI 也这么说:它会在版本之间 break,没有记忆,没有原生消息通道,并且对自己的工具调用报告不足。Hermes 是更成熟的项目,差距很大,但它是每个令牌更重的那个,差距 8 倍,它在 dsh 2 分钟完成的任务上静默了 13 分钟,并且将我的输出文件写到了错误的目录。
DeepSeek Harness vs Hermes 每个任务的实际成本
现在进行计算,假设公开。
Atlas 为 V4 Pro 发布一个输入价格(每百万 $1.68),模型页面上没有单独的缓存命中价格。因此,我按全输入价格定价每个提示令牌,包括缓存读取。这是一个保守的上限,不是伪装成测量的猜测。
工作示例,dsh 第1轮:
- 提示:14,840 新鲜 + 117,760 缓存 = 132,600 令牌。按 $1.68/百万 计算,即 $0.2228。
- 输出:5,231 令牌。按 $3.38/百万 计算,即 $0.0177。
- 总计:$0.2404 每个任务。
相同方法,Hermes 第1轮:1,111,573 提示令牌 = $1.8674,加上 19,317 输出令牌 $0.0653,总计 $1.9327。Hermes 自己的 --usage-file 估计该次运行约为 $0.2817,这意味着它假设缓存输入价格接近每百万 $0.125。如果你的提供商真的对缓存读取给予如此大的折扣,那么下面的两个数字一起下降,它们之间的比率几乎不变。
| 场景 | V4 Pro 每个任务 | V4 Flash 每个任务 | 每天 20 个任务,30 天(Pro) |
|---|---|---|---|
| dsh 第1轮 | $0.24 | $0.02 | $144.27 |
| Hermes 第1轮 | $1.93 | $0.16 | $1,159.64 |
| 第2轮,任一框架 | 未完成 | 未完成 | 未完成 |
该表格中跳出的两件事。
框架的选择值 8 倍。相同模型,相同任务,相同结果,一个壳的成本是另一个的八倍。这不是你后来可以优化掉的四舍五入差异。
模型层级在此基础上值 12 倍。这就是为什么大脑和手臂的分割不是噱头:dsh 在 Flash 上每个任务仅需 2 美分,而 Hermes 在 Pro 上为相同的 Breakout 游戏几乎需要 2 美元。
而最便宜的优化仍然是步骤 3 中的那个。dsh 路由如果保持其默认的 262,144 上下文窗口,则需要更多步骤进行更多压缩才能适应相同的工作,而你为每一步都付费。
这就是 DeepSeek Harness vs Hermes 的真正答案:在你去寻找更便宜的模型之前,先测量你自己的壳。
DeepSeek Harness vs Hermes 常见问题
Hermes Agent 和 DeepSeek Harness 可以使用相同的模型和 API 密钥吗?
是的,而且这是比较它们的唯一诚实方式。两者都兼容 OpenAI 风格的端点。dsh 需要带有 api: openai-completions 和 baseURL 的 llm-pi-ai 提供商路由;Hermes 需要 provider: custom 和以 /v1 结尾的 base_url。一个密钥,两个框架,两层价格。完整配置在步骤 3 和 4 中。
DeepSeek Harness 比 Hermes 更适合编码吗?
在这个测试中,明显是:121 秒对 780 秒,8 次工具调用对 35 次,令牌消耗是八分之一,并且两者都通过了所有三个自测。但“更适合编码”不等于“更好”。如果你需要的是一个每天早上向 Telegram 报告并记住上周学到的东西的定时任务,dsh 没有这些功能,而 Hermes 全部都有。
DeepSeek Harness 和 Hermes 是免费且开源的吗?
两者都是 MIT 许可,可免费下载。你支付的是令牌,如上表所示,这不是一个四舍五入误差。值得重复的是,dsh 明确是 0.1 开发者预览版,并在其自己的 UI 中警告可能有破坏性兼容变更,所以如果你要将其用于生产环境,请固定版本。
为什么相同的任务在一个框架中成本更高?
四个原因,大致按影响大小排列:
- 对话重读。 缓存提示令牌占 dsh 总量的 88.8%,占 Hermes 的 95.5%。每一步额外操作都会重新发送之前的所有内容。
- 系统提示和工具模式。 如上测量:在开始任何工作之前,10,898 对 13,892 令牌。
- 步骤数量。 8 次工具调用和 9 步,对比 35 次工具调用和 38 次 API 调用。
- 受限的窗口。 dsh 回退到 262,144 而不是 1,048,576,迫使在长时间任务上进行额外的压缩工作。
我可以同时运行 DeepSeek Harness 和 Hermes 吗?
是的。它们共享的只有你的 API 密钥:不同的运行时、不同的配置目录、不同的会话存储、不同的端口(默认 3080 和 9119)。通常的模式是 Hermes 作为始终在线的大脑,在昂贵层上,dsh 作为编码手臂,在廉价层上。
DeepSeek Harness 只能与 DeepSeek 自己的 API 一起使用吗?
不,这是关于它最常见的误解。任何 OpenAI 兼容的网关都可以通过 api: openai-completions 和 baseURL 使用。只需要记住 compat.thinkingFormat: deepseek,因为 dsh 从 URL 推断思考方言,而第三方网关 URL 对它不提供任何信息。






