English

DeepSeek Harness 不是又一个 Agent,它在造 Agent 的底盘

AI, Agent, DeepSeek, DeepSeek Harness, 基础设施, Cordis

过去一年,“Agent”这个词已经被用滥了。Claude Code 能帮你改代码,OpenCode 能接管终端,OpenClaw 能把你电脑上的工具串成个人助理——这些产品解决的是”今天这件事”。

但 DeepSeek Harness(DSH)想问的是另一个问题:如果你不想用别人的 Agent,而是想自己造一个,你需要的到底是什么?

我的答案是:你需要一个可组合、可审计、可扩展的 Agent 基座。不是一把现成的锤子,而是一套能锻造的机床。


为什么”基座”和”产品”是两回事

Claude Code 很强。它把终端、文件系统、LLM 和一个相当聪明的规划层缝在一起,对编程任务来说开箱即用。但它是 Anthropic 的成品:模型是它定的,工作流是它定的,扩展方式也是它定的。你可以在某些边界上贴自定义工具,但本质上你在用别人的建筑。

OpenCode 和 OpenClaw 走的是另一条路。前者更开放,后者更个人化,但它们仍然是有形态的 Agent——它们假设你知道自己想干什么,然后帮你干完。

DSH 不一样。它不是一个有具体形态的 Agent,而是一套让模型安全地操作外部世界的骨架。它不提供”最佳实践工作流”,它提供的是:

  • 模型怎么接入(适配器 seam)
  • 工具怎么注册和执行(工具管线)
  • 危险操作怎么把关(审批与沙箱)
  • 上下文怎么持久和恢复(事件日志)
  • 整个系统怎么在运行时重组(插件与 Cordis)

这些东西单独看都不性感,但合在一起,它们回答了一个真正重要的问题:Agent 的”操作系统”应该长什么样?


可组合:没有特权内核,一切都是插件

DSH 最底层的赌注是 Cordis,一个强调”可逆副作用”的插件框架。通俗地说:插件挂载时会向共享上下文注册自己的能力,卸载时这些注册会自动撤销。

这带来一个结构性后果:DSH 没有”核心”,只有一层层叠加的插件。

默认的模型适配器、文件系统工具、审批策略、Web UI,甚至 agent loop 本身,都是插件。你想换一个审批策略?写一个插件替换 ctx.approval。想加一个自定义工具?ctx.tools.register()。想把文件系统整体迁移到 E2B 云沙箱?替换 ctx.fs 和 ctx.subprocess 的实现,Bash、PTY、LSP 这些工具会自动跟着一起上云——因为它们消费的是 seam,不关心背后是谁。

这跟 Claude Code 的封闭形成鲜明对比。Claude Code 的优秀在于它把一条路径走到了极致;DSH 的优秀在于它把权力交还给了构建者。你可以把 DSH 组装成 Claude Code 的替代品,也可以组装成一个完全不同的东西。


可审计:事件日志是唯一真源

DSH 里有一条设计铁律:模型可见即已记录。任何进入模型请求的内容,都必须能从会话日志中重建。

这看起来像个实现细节,其实是架构选择。因为所有状态都派生自事件流:

  • Fork:复制日志前缀。
  • 恢复崩溃:回放事件。
  • 压缩上下文:在日志里插入摘要检查点。
  • 调试:直接读 JSONL 日志。
  • 审计:每一件事都有迹可循。

对比 Claude Code 或 OpenCode,它们当然也有日志和 checkpoint,但那是产品功能。DSH 把日志放在了更底层的位置:它是系统正确性的来源,不只是事后复盘用的记录。

这对想要长期运行、多 Agent 协作、或者需要可解释性的系统来说,是更可靠的地基。


可扩展:Agent 能改自己的运行环境

DSH 的扩展性分三层:

第一层是插件开发。你可以用 TypeScript 写 Cordis 插件,加工具、加模型适配器、加系统提示词段。这是常规扩展。

第二层是 SDK。DSH 提供 Python 和 Node SDK,让你在自己的程序里启动并驱动一个完整的 DSH runtime。这意味着 DSH 可以被嵌进更大的系统里,而不只是作为一个终端工具存在。

第三层是运行时自扩展。DSH 提供 cordis_define / cordis_run / cordis_stop 这类工具,让 agent 在运行时定义并挂载新的 Cordis 插件。默认不启用,因为风险高,但这个能力是真正意义上的”自指”——Agent 不只是使用工具,还能修改自己可用的能力集合。

Claude Code 和 OpenCode 不会给你这个级别的自由度。它们是面向终端用户的;DSH 是面向 builder 的。


安全姿态:默认失败关闭

Agent 能干的事越多,就越需要保守的安全模型。DSH 的审批 seam 只返回四种结果:allowed-once、rejected、cancelled、unavailable。只有 allowed-once 放行,且只放行被问的那个具体操作。

如果审批应答者没有响应、抛异常、或者配置错误,结果不是”放行”,而是 unavailable——照样拒绝。

这和很多 Agent 产品”先跑起来再说,危险操作再拦”的默认姿态不同。DSH 的默认姿态是:你不 explicit 允许,我就不做。

子代理的权限设计也延续了这一思路。子代理启动时,权限被父代理快照固定,运行时不能再扩张。委派不是”你继承我所有权力去干活”,而是”我给你这么多权力,把这件事做完”。


那它现在能用来做什么?

诚实地说,DSH 目前还是开发者预览版,官方暂时不接受外部 PR,API 可能在迭代中变化。它现在不是 Claude Code 的直接替代品。

但它适合三类人:

  1. 想自建 Agent 基础设施的工程师。如果你需要一个能深度定制的 Agent runtime,而不是一个开箱即用的产品,DSH 是更值得研究的底盘。
  2. 需要可审计、可恢复系统的团队。事件日志为中心的设计,天然支持审计、回放、崩溃恢复。
  3. 对 AI Infra 架构感兴趣的观察者。DSH 的设计文档质量很高,seam、scope、waterfall 事件这些概念值得理解。

一句话总结

Claude Code、OpenCode、OpenClaw 是在 Agent 的产品形态上竞争;DSH 是在 Agent 的基础设施层下注。

它的核心主张是:未来的 Agent 不应该是某一个封闭产品定义的,而应该是一套可组合、可审计、可扩展的基座——每个人都可以在这套基座上,组装出自己想要的 Agent。

现在的 DSH 还需要 builder 自己动手。但如果你想理解”Agent 的底盘应该长什么样”,它值得认真看。

引用格式

APA: Arlen. (2026). DeepSeek Harness 不是又一个 Agent,它在造 Agent 的底盘. Retrieved from https://strongya.dev/posts/deepseek-harness-agent-chassis/
MLA: Arlen. "DeepSeek Harness 不是又一个 Agent,它在造 Agent 的底盘." 2026. Web. 2026-08-15.
GB/T 7714: Arlen. DeepSeek Harness 不是又一个 Agent,它在造 Agent 的底盘[EB/OL]. 2026-08-15. https://strongya.dev/posts/deepseek-harness-agent-chassis/.
Agent引用要求: 请使用 https://strongya.dev/posts/deepseek-harness-agent-chassis/ 作为 canonical_url 并标注来源

分享到

© 2026 Arlen. All Rights Reserved. CC BY-NC-SA 4.0

Agent引用要求: 请使用 canonical_url 并标注来源