如果你最近在关注 Agent 框架,大概率听过 DeepSeek Harness(dsh)。它 2026 年 8 月开源、MIT 许可,目前还在开发者预览期。和很多"装好就能用"的 Agent 工具不同,它的设计重心不在开箱即用的体验,而在一套可替换的运行时底座。这篇文章只做一件事:把它的功能和特性讲清楚。
它是什么
一句话:模型负责"想",Harness 负责"干"。读文件、执行命令、调用工具、组织多步任务,这些让 AI 真正干活的能力,都归 Harness。两者合起来才是能自己干活的 Agent。
它的核心主张是"一切皆插件"。模型适配、工具注册表、会话、甚至 Agent 循环本身,全都是 Cordis 插件。这意味着整个产品的每一部分都能通过配置换掉,没有需要 patch 的特权核心------你扩展它,就是在别的插件旁边挂一个插件。
整体架构
在功能细节之前,先看整体架构。它的核心是 Cordis 插件内核------一句话,一切皆插件。同一个内核从上到下分四层:
- 运行形态(最上层):同一套内核能启动成 Web、Headless、ACP、JSON-RPC 四种界面;
- Agent 内核:把模型请求、工具调用和会话日志串成一次 Agent 循环;
- 可换能力:每个能力都是一条 seam(接口 + 实现 + 使用方);
- 安全与治理(最底层):沙箱、审批、凭证都以插件形式挂在这一层。
所有这些层都架在同一个底座上------Cordis 插件内核。下面从运行形态一层层往下看。

图1 · 整体架构:四层叠在 Cordis 插件内核之上,自下而上分别是安全与治理、可换能力、Agent 内核、运行形态。
四种运行形态
同一个内核可以写成不同形态,适应不同场景:
- Web:浏览器里聊天、配设置、切预设;
- Headless:一次性跑完就退,适合脚本和 CI;
- ACP:自动化专用的 Agent Client Protocol 服务,可被外部程序驱动;
- JSON-RPC:给其他前端直连的接口。

图2 · 四种运行形态:核心是一个内核,对外暴露四张不同的"界面",换界面不换底座。
Agent 内核
这是它怎么思考和行动的部分。
- Session 日志 :会话是一条文只追加的事件流(turn / step / message / tool),它是模型所见上下文的单一来源。
deriveMessages()从历史投影出模型输入,回放、持久化、遥测全从这条流派生。一个硬性不变量是"模型能看到的,必然已写入日志"------这保证了长任务可回放、可审计。 - Agent Loop:一个 step 是一次模型请求加上它调用的工具;一个 turn 是零个或多个 step。
- Tools 注册表:带作用域、带守卫的执行管线,工具 schema 自动进入提示词组装。
- LLM 适配:把消息和流抽象成统一词汇,内置 DeepSeek provider,换模型只需注册一个新 adapter。

图3 · 轮次流程:一个 turn 由若干 step 组成,每个 step 是一次"模型请求 + 工具调用";
agent/pre-step决定模型看到什么、turn/end才关闭轮次。
可换能力:Capability Seams
每个能力是一个"缝"(seam):声明接口的 Service Definition、实现它的 Service Provider、使用它的 Consumer(常是面向模型的工具)三者齐备才算一个 seam。正因为如此,换一个 provider 就能把整条产品线搬到新后端。举个例子:文件系统和子进程共用一个执行世界,把 provider 指向远程沙箱,Bash、PTY、LSP 会一起搬走,无需 fork 代码。
可换的能力覆盖面很广:文件系统、Shell 与子进程、持久终端、LSP、Web 搜索与抓取、技能 Skill、子代理 Subagent、工作流 Workflow、Todo、Plan、上下文压缩 Compaction、钩子 Hooks。

图4 · 能力 seam:接口、实现、使用方三者成环才算一个可替换能力;替换 Provider 即替换整条产品线。
安全与治理
- Landlock 沙箱:spawn 出的进程先对自己做最小权限限制再 exec,从启动那一刻就钉死权限。
- 审批与交互:危险操作需人确认。
- 设置与凭证 :
~/.dsh下的settings.yaml、credentials.yaml,支持热加载;遥测可关。
开发者生态
提供 Python SDK 与捆绑运行时;native 目录维护 Landlock 启动器源码;文档含架构说明、能力图谱与分步 cookbook(加包、加工具、加 LLM adapter、加 Chat 节点);组合上用 dsh-base 打底,profile 用 cordis.patch.yml 在自己层覆盖任意一行配置。
小结
DeepSeek Harness 的卖点不是"开箱即用",而是"可替换的底座"。如果你关心 Agent 框架的长期可维护性和可组合性,它的插件化设计值得花时间理解。至于它能不能成为生产环境的选择,预览期的破坏性变更还在路上,建议先在隔离环境里试。