简要结论
DeepSeek Harness 不是模型,而是围绕模型运行的开源 Agent 执行环境。它统一组织工作区、会话、工具、权限、模型提供商、Plugin 与用户界面,让 Agent 能在明确的运行边界内完成多步骤软件任务。
DeepSeek Harness(命令名为 dsh)是 DeepSeek AI 开源的 Agent Harness。它不是一个新模型,而是围绕模型运行的一整套环境:把工作区、工具、权限、会话、模型适配器和界面组织起来,让模型能够完成多步骤任务。
官方:项目目前处于开发者预览阶段,可能出现破坏兼容性的变化。
Model、Agent、Harness 的关系
可以把三者分成三层:
| 层 | 负责什么 | 例子 |
|---|---|---|
| Model | 生成和推理 | DeepSeek 模型 |
| Harness | 工具、状态、权限、循环和运行环境 | DeepSeek Harness |
| Agent | 模型在 Harness 中形成的可执行主体 | 一个能读仓库并修改代码的会话 |
只有模型时,它只能根据输入生成输出。加入 Harness 后,它可以读取真实项目、调用工具、等待结果、继续下一步,并把整个过程记录下来。
“Everything is a Plugin” 是什么意思
DeepSeek Harness 底层由 Cordis 驱动。模型适配器、工具注册表、Session Log、Agent Loop 乃至 Web UI 都可以作为插件挂载。官方架构文档强调:扩展行为通常通过安装或组合插件完成,而不是修改一个不可替换的核心。
这带来两个结果:
- 运行时可以高度组合,团队能替换模型、沙箱、工具和界面。
- Plugin 质量和权限边界会直接影响整个 Agent 的可靠性。
用五个问题理解 Harness
面对任何 Agent 产品,都可以用下面五个问题拆解,而不是只比较模型名称:
| 问题 | DeepSeek Harness 中对应的机制 |
|---|---|
| 模型应该怎样做? | 系统提示、用户任务、Plan Mode、Skill |
| 模型不能随意做什么? | 审批策略、沙箱、工具参数校验 |
| 系统如何知道做对了? | 工具结果、测试、日志和人工复核 |
| 长任务如何保留关键事实? | Session Event、持久消息、压缩与 Fork |
| 复杂任务如何拆分? | Agent Loop、工具链、子智能体和插件组合 |
这五项并不是五个独立按钮。比如“只读分析仓库”既需要清楚的任务说明,也需要只读沙箱作为硬边界,还需要文件清单或测试结果作为验证证据。
一次任务实际发生了什么
把一个“修复测试”请求沿运行路径展开,大致会经历:
- Harness 从 Session Log 和当前配置构造模型请求。
- 模型决定回复、调用工具,或先进入规划状态。
- 工具注册表验证参数;需要副作用时,审批与沙箱参与决策。
- 工具结果写回会话,模型基于新证据继续下一步。
- 当上下文变长时,可选的压缩能力把旧内容替换为可追溯摘要。
- 最终回答应说明改了什么、如何验证,以及仍有哪些不确定性。
因此,Harness 的价值不只是“让模型能运行命令”,而是把执行过程变成可以约束、观察、复现和扩展的系统。
自测:这是模型问题还是 Harness 问题?
为每个现象先归类:
- 回答知识过时:通常先检查模型或检索来源。
- 命令参数正确却不能写文件:检查沙箱与权限。
- 模型不知道某个团队流程:考虑 Skill 或项目说明。
- 工具已经运行但结果没进入下一轮:检查工具渲染、事件或 Agent Loop。
- 长任务后忘记早期约束:检查任务契约、持久笔记与压缩策略。
这种分层诊断会贯穿后面的课程。
什么时候适合尝试
- 你想理解 Agent 如何把模型、工具和会话组合起来。
- 你愿意接受开发者预览期的接口变化。
- 你需要 Web UI、Headless 模式或可扩展 Plugin Runtime。
- 你希望通过实际事件日志理解一次任务发生了什么。
如果你的生产流程要求长期稳定 API,现在更适合在隔离环境中评估,而不是直接替换关键工作流。
下一步
继续阅读10 分钟快速开始,在本机启动 Web UI 并完成第一次任务。