如果把大语言模型比作 Agent 的“大脑”,那么 Harness 就是连接模型与真实环境的“身体”:它负责把工具、文件、终端、上下文、会话和执行流程组织起来,让模型不只会回答问题,还能持续完成真实任务。

  DeepSeek Harness(简称 DSH)正是 DeepSeek 开源的一套 Agent Harness。它最鲜明的设计理念可以概括为一句话:一切皆插件(Everything is a Plugin)

  目前 DSH 处于开发者预览阶段,项目采用 MIT 许可证开放源代码。对于希望研究 AI Coding Agent、构建自定义 Agent,或者实验新工具与工作流的开发者来说,它提供了一个很有意思的技术底座。

一、什么是 Agent Harness?

  模型本身擅长理解与生成内容,但要让它真正参与软件开发,还需要解决一系列工程问题:

  • 如何读取和修改项目文件?
  • 如何安全地执行 Shell 命令?
  • 如何接入网页检索、Skills 和外部工具?
  • 如何保存会话、恢复任务或从历史节点分叉?
  • 如何调度子 Agent,并记录完整执行过程?
      Harness 的作用,就是把这些能力组织成模型可使用的运行环境。

  因此,Agent 并不等于模型本身。更准确地说:

Agent = Model + Harness
  同一个模型接入不同的 Harness,最终呈现出的工具能力、执行效率、可观察性和扩展方式都可能完全不同。

二、DSH 的核心设计:一切皆插件

  传统 Agent 框架经常把模型接入、工具调用、记忆、会话和界面写在同一套核心代码中。功能不断增加后,替换其中一个模块往往会牵动整个系统。

  DSH 采用了更彻底的插件化思路。模型、工具、技能、会话、沙箱、存储、循环、调度和 UI 等能力,都可以由插件提供。

  其底层使用 Cordis 插件系统。Cordis 内核主要负责三件事:

  1. 插件的加载与卸载;
  2. 插件之间的依赖管理;
  3. 通过服务和事件组织插件协作。
      内核本身不承载具体 Agent 能力。开发者可以在配置层选择、替换或扩展插件,而不必修改 DSH 的核心源码。

  这种设计带来了几个直接好处:

  • 可替换:模型、工具或存储实现可以独立更换;
  • 可组合:根据不同任务组合出不同的 Agent 运行环境;
  • 可扩展:通过插件加入新的工具、界面和工作流;
  • 低耦合:单个能力的实现变化不必侵入整个框架。
      换句话说,DSH 不只是一个固定功能的 AI 编程助手,更像是一套可以自由拼装的 Agent 运行平台。

三、每一次运行都有迹可循

  Agent 在长任务中经常要调用多个工具、注入多段上下文,甚至调度子 Agent。如果缺乏完整记录,出现问题时很难判断模型究竟看到了什么、做了什么。

  DSH 使用仅追加的会话日志记录运行过程。根据官方介绍,记录内容包括系统提示词、推理过程、工具调用与结果、子 Agent 调度,以及上下文注入等事件。

  在 Trajectory 视图中,开发者可以按来源检查这些记录。会话恢复、分叉、检索与回放也建立在同一份事件流之上。

  这类设计对以下场景尤其有价值:

  • 排查 Agent 为什么做出某个决策;
  • 分析工具调用失败的具体环节;
  • 对比不同模型或插件组合的表现;
  • 从历史会话恢复任务或创建新分支;
  • 构建可复现的 Agent 测试与评估流程。

四、四种运行模式

  DeepSeek Harness 提供多种运行模式,以适配不同的使用和实验目标。

1. 标准模式

  标准模式是一套功能完整的编码 Agent 环境,支持文件编辑、Shell、文件与网页检索、Skills、计划、目标、子 Agent 和工作流等能力。

  如果只是想体验 DSH 的完整能力,可以从这一模式开始。

2. PTC 模式

  PTC 模式具备标准模式的能力,同时通过 Code Mode SDK 暴露工具,使模型能够使用一段 TypeScript 程序组合多步操作。

  它适合需要减少多轮工具往返、希望让模型以代码方式编排复杂操作的场景。

3. 极简模式

  极简模式只保留持久 Bash 和 str_replace_editor 两个工具,为模型提供尽可能精简的执行环境。

  这种模式很适合模型能力测试、基准评估,以及研究最小工具集合下的 Agent 行为。

4. 创造模式

  创造模式面向自定义 Agent preset 的开发者。它在标准能力之外提供运行时检查、插件实验和 preset 创作指导,可以用于探索新的插件组合与运行方式。

五、如何快速体验 DSH?

  开始之前,需要先安装 Node.js。

  最简单的方式是通过 npx 启动 Web UI:

npx @deepseek-ai/dsh web

  根据官方仓库说明,本地启动后默认访问地址为:

http://127.0.0.1:3080

  正常情况下,命令会自动打开默认浏览器。如果不希望自动打开,可以添加 --no-open 参数。

  如果希望阅读源码或参与开发,可以从 GitHub 克隆项目:

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web

  其中,pnpm run build 用于准备项目构建产物,pnpm dsh web 会使用已经生成的产物启动 Web UI。

六、哪些开发者值得关注?

  DSH 尤其适合以下几类开发者:

  • 想理解 AI Coding Agent 工程结构的人;
  • 希望自由替换模型、工具、存储或沙箱实现的人;
  • 正在开发 Agent 插件、Skills 或自动化工作流的人;
  • 需要追踪、恢复、分叉和回放 Agent 会话的人;
  • 希望在最小环境中评估模型工具使用能力的研究者。
      如果你的目标只是偶尔向模型提问,完整 Harness 可能显得偏重;但如果你希望 Agent 长时间执行任务、连接真实工具,并且能够调试和扩展其运行过程,DSH 的插件架构就很有吸引力。

七、当前阶段需要注意什么?

  DeepSeek 官方明确说明,DSH 目前仍是开发者预览版,正在快速迭代,未来可能出现破坏兼容性的变化。

  因此,在现阶段使用时建议注意以下几点:

  1. 优先参考官方文档和仓库中的最新说明;
  2. 升级前检查版本变化,不要默认配置和 API 始终兼容;
  3. 执行第三方插件前先检查其源代码、权限和依赖;
  4. 涉及 Shell、文件系统和网络访问时,应为 Agent 设置清晰的安全边界;
  5. 重要项目应使用版本控制,并避免让实验环境直接操作敏感数据。
      开发者预览意味着它更适合技术探索和插件开发,而不是在未经验证的情况下直接承载关键生产任务。

八、总结

  DeepSeek Harness 的价值,不只是提供了一个新的 AI 编程界面,而是把 Agent 的运行能力拆解成了一组可以替换、组合和扩展的插件。

  它通过 Cordis 管理插件生命周期与依赖,通过事件流记录完整运行轨迹,并提供标准、PTC、极简和创造等多种模式。这样的设计既方便普通开发者快速体验,也为 Agent 工程、插件生态和模型评估留下了足够大的扩展空间。

  随着 Agent 从“对话工具”走向“持续工作的执行系统”,Harness 的工程质量会越来越重要。DSH 提出的“一切皆插件”,值得每一位关注 Agent 基础设施的开发者持续观察。

参考资料

  • DeepSeek Harness 官方页面:https://deepseek.com/harness/
  • DeepSeek Harness GitHub:https://github.com/deepseek-ai/deepseek-harness
  • DeepSeek Harness 开发者文档:https://deepseek-harness.github.io/deepseek-harness/
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐