概念解读
什么是 DeepSeek Harness?架构与使用场景

DeepSeek Harness 是由 DeepSeek AI 开发的开源 Agent 运行时。它不是语言模型,而是为模型提供外围运行机制,包括会话、工具执行、文件系统、审批、持久化、Agent 循环和交互界面。它采用“一切皆插件”的架构,开发者可以组合或替换这些部分,因此适合构建定制化编码 Agent、内部工具和可控的 Agent 实验。
本指南面向正在评估 DeepSeek Harness 是否适合自身 AI 技术栈的开发者、创始人和技术产品团队。读完后,你将获得一套实用的理解框架、架构图景、启动路径,以及用于真实任务评估的检查清单。
研究与披露: 本文由 Ottermind 发布。我们于 2026 年 8 月 17 日审阅了 DeepSeek Harness 官方仓库、架构文档和用户指南。我们没有进行受控基准测试、将该项目部署到生产环境,也没有测试所有插件和服务提供商。项目目前仍处于开发者预览阶段,因此行为和兼容性可能发生变化。
DeepSeek Harness 概览
| 问题 | 答案 |
|---|---|
| 它是什么? | 一个开源 Agent Harness,也称为 dsh |
| 由谁开发? | DeepSeek AI |
| 它是 DeepSeek 模型吗? | 不是。它是一个可将模型连接到工具、会话、策略和界面的运行时 |
| 核心设计原则是什么? | “一切皆插件” |
| 底层框架是什么? | Cordis |
| 用户如何运行它? | 可通过 Web UI 或无头配置运行,也可以使用配置档和插件进行更多组合 |
| 当前状态如何? | 开发者预览版,预计会出现破坏兼容性的变更 |
| 使用什么许可证? | MIT |
| 适合谁? | 希望检查、扩展、替换或组合 Agent 运行时的开发者 |
最简洁而准确的定义是:DeepSeek Harness 是 AI 模型外围的执行层。模型负责生成回复和工具调用;Harness 决定如何组装上下文、可以使用哪些工具、操作在哪里执行、记录哪些内容、何时需要审批,以及多步骤任务如何继续推进。
Agent Harness 有什么作用?
语言模型可以提出操作建议,但仅靠模型并不能构成一个完整可用的 Agent。真正可用的 Agent 还需要一套围绕模型运行的系统。
这套系统必须回答一些实际问题:
- 哪些文件和指令会进入模型上下文?
- 请求会发送给哪个模型提供商?
- 模型可以调用哪些工具?
- Shell 命令和文件操作在哪里执行?
- 哪些操作需要审批?
- 消息、工具调用和结果如何保存?
- 工具失败或需要继续执行下一步时会发生什么?
- 开发者能否替换单项能力,而不必重建整套系统?
Agent Harness 负责协调这些职责。这个概念很有价值,因为它将模型智能与运行时行为区分开来。即使使用同一个模型,只要工具、上下文规则、权限、会话状态和 Agent 循环不同,两个产品的表现也可能完全不同。
DeepSeek Harness 将这套外围系统明确地暴露出来。它没有把运行时隐藏在一个固定应用中,而是将各个部分呈现为插件、服务、事件、配置档和配置层。
DeepSeek Harness 与模型、助手、自动化工具和工作区的区别
这些类别存在交集,但不能互相替代。
| 层级 | 主要职责 | 示例问题 |
|---|---|---|
| 语言模型 | 生成 Token 并进行推理 | 哪个模型应该回答这个请求? |
| AI 助手 | 为用户提供界面和一组支持的任务 | 我如何提出请求并审核回复? |
| 工作流自动化 | 按预定义的触发器和动作传递数据 | 发生这个事件后应该执行什么? |
| Agent Harness | 协调模型、工具、会话、策略、执行和后续步骤 | Agent 应该如何执行并记录一个多步骤任务? |
| AI Agent 工作区 | 将来源、决策、任务、Agent 和交付物保持关联 | 这个 Agent 任务如何融入更大的项目? |
理解这一点可以避免一个常见误区:安装 DeepSeek Harness 并不等于安装一个新的 DeepSeek 模型。Harness 仍然需要配置模型提供商。它也不会自动提供围绕 Agent 任务的业务上下文、审核流程或最终项目交付物。
如果需要更全面的模型层对比,请参阅 2026 年最佳 AI 模型。如果你更关注面向最终用户的开发体验,请参阅最适合开发者的 AI 助手。
DeepSeek Harness 如何工作?
从宏观上看,一个 DeepSeek Harness 任务会按以下 Agent 循环运行:
- 运行时接收用户输入和所有已排队的上下文。
- 插件组装系统提示词、模型可见消息和工具 Schema。
- 模型适配器将请求发送给选定的提供商。
- 运行时记录流式输出和完整的助手消息。
- 如果模型请求调用工具,受保护的工具管道会先检查再执行。
- 工具结果返回会话,并可能触发下一次模型步骤。
- 当没有待处理的工具、消息或后续步骤时,本轮任务结束。
官方架构文档区分了 step(步骤) 和 turn(轮次)。一个步骤包含一次模型请求及其调用的工具;一个轮次可以包含零个或多个步骤。当任务需要重复观察和操作,而不是一次回复即可完成时,这个区别非常重要。
会话日志是该流程的核心。用户消息、助手输出、工具调用、工具结果、步骤和轮次都会成为持久事件。模型历史由这些日志派生,因此运行时可以基于同一条记录流支持重放、恢复、转录、持久化等会话行为。
DeepSeek Harness 架构解析
该项目用一句话概括自己的架构:一切皆插件。要理解这句话,需要掌握五个概念。
1. Cordis 提供组合模型
DeepSeek Harness 基于 Cordis 构建。在官方架构中,插件向共享上下文贡献服务、类型化事件和可撤销副作用。
模型适配器、工具注册表、会话日志、Agent 循环、持久化层、沙箱和用户界面都不是不可触碰的核心,而是通过同一套组合系统提供。插件加载时可以注册行为,卸载时这些注册也可以随之撤销。
这不同于在固定核心外围只提供少量插件 API 的应用。DeepSeek Harness 的设计目标是让运行时的大部分能力都可以通过配置替换。
2. 配置档描述可运行的组合
配置档(profile) 是存储在 Harness 主目录中的命名组合。它列出要加载的 Bundle,保存安装在项目外部的插件,并记录用户的补丁配置。
项目提供 Web 和无头配置档模板。Web 配置档加入浏览器应用;无头配置档支持无需服务器的一次性运行。开发者可以使用 dsh --profile web --dump-config 检查最终生效的插件树。
配置档回答的是:这项任务应该启动哪一种 Harness 组合?
Web UI 还提供 Standard、Code、Minimal 和 Creator 等 Agent 预设。预设控制单个会话可用的插件组合,而配置档决定启动时更广泛的 Harness 组合。

3. Bundle 封装有序配置
Bundle 用于分发 Cordis 配置行及其挂载的代码。Bundle 按顺序堆叠加载,随后再应用配置档级、主目录级补丁以及命令行补丁覆盖。
这种分层方式允许开发者从标准组合开始,只替换选定的配置行,而不必 Fork 整个运行时。它也意味着配置顺序非常重要:后加载的层可以修改前一个 Bundle 插入的行为。
4. 事件连接运行时行为
DeepSeek Harness 使用多个事件域:
- 会话事件记录重新加载后仍需保留的持久事实。
- Agent 事件暴露正在进行的工作,包括请求、步骤、状态、验证和后续执行。
- 能力事件将提供商和策略附加到文件系统、工具和遥测等边界。
事件为插件提供了一个有文档说明的位置,用于观察、拦截、扩展或终止行为,也减少了无关软件包直接导入并修改 Agent 循环的需要。
5. 能力接缝让提供商可替换
能力接缝(capability seam) 将三个角色分开:服务定义、实现服务的提供商,以及使用服务的消费者。
例如,文件系统和子进程提供商可以共享同一个执行环境。更换提供商后,Shell、终端和语言服务器行为可以迁移到另一个沙箱,而不需要每个消费者自行实现远程路径。
同样的模式也适用于模型适配器、工具、子 Agent、持久化、凭据、遥测、终端、任务和界面集成。
理解 DeepSeek Harness 的实用框架
官方架构十分详细。进行项目规划时,可以将其压缩为五个层级。
| 层级 | 需要定义的内容 | 应检查的证据 |
|---|---|---|
| 1. 意图与输入 | 目标、来源上下文、排除项和验收标准 | 已批准的任务说明和纳入的消息 |
| 2. Agent 循环 | 何时规划、请求模型、调用工具、继续或停止 | 步骤、轮次和 Agent 事件 |
| 3. 模型与工具 | 提供商、模型、提示词区段、Schema 和工具注册表 | 生效的配置档和工具调用 |
| 4. 执行边界 | 文件系统、子进程、沙箱、权限、凭据和审批策略 | 提供商配置、审批记录和命令范围 |
| 5. 持久证据 | 消息、工具结果、失败、输出和未解决风险 | 会话日志、转录、检查结果和产出物 |
编辑框架: 以上五层理解框架是 Ottermind 根据 DeepSeek Harness 官方架构整理的编辑框架,并非 DeepSeek 官方图示,也不表示我们对每一层都进行了基准测试。
这套框架也适用于评估其他 Agent Harness。第三层演示成功,并不能证明执行边界足够安全,也不能证明最终证据足以供他人审核。
“一切皆插件”在实践中意味着什么?
插件设计改变了开发者扩展运行时的方式。
你可以向语言模型服务注册适配器来增加模型提供商,通过工具注册表增加模型可见能力,通过文件系统提供商替换文件访问方式,通过沙箱后端限制命令,借助任务服务添加后台工作,或创建一个新的界面来驱动 Agent 并呈现会话事件。
它的实际优势是无需长期维护 Fork 即可组合能力。团队可以在现有插件旁挂载新能力,或修改一个配置行,而不必为每次定制都改写中央循环。
代价是灵活性会把复杂度转移到架构和配置中。开发者需要理解插件所有权、事件顺序、服务边界、补丁分层、版本兼容性和第三方代码权限。“一切皆插件”并不意味着每个插件都可以安全安装或轻松维护。
DeepSeek Harness 能做什么?
具体行为取决于启用的配置档和插件,但官方项目提供了支持以下几类任务的基础能力。
仓库与编码任务
配置适当的文件系统、子进程、终端和语言服务器能力后,Agent 可以检查工作区、编辑文件、运行命令并返回验证证据。Harness 负责协调这些操作;仓库指令、测试和人工审核仍然决定变更是否可以接受。
定制内部 Agent
团队可以为狭窄的内部任务组合专用配置档,例如迁移助手、验证器、支持调试 Agent、测试运行器或领域专用开发工具。精简配置档可以只暴露该任务真正需要的能力。
有关专用 Agent 如何应用于日常运营的示例,请参阅适合小型企业的 AI Agent。
模型与提供商实验
由于模型访问由适配器隔离,开发者可以比较不同配置,或在不重新设计工具和会话层的情况下支持其他提供商。有效的评估仍需要固定任务、重复运行、评分标准和明确记录的局限性。
沙箱或远程执行
能力提供商可以将文件系统和子进程行为迁移到受控执行环境。这在不适合本地访问的场景中很有用,但提供商、凭据路径、网络规则、隔离方式和失败行为都必须作为信任边界的一部分进行审核。
新界面与 Agent 体验
Web UI 只是其中一种界面,而不是产品的全部定义。插件和会话事件可以支持其他编辑器、客户端或专用视图,并共享底层 Agent 和会话行为。
DeepSeek Harness 插件
开发者可以将可复用的提供商、工具、策略、集成或界面行为封装为插件。官方项目建议使用 dsh-plugin GitHub Topic 提高可发现性。在授予插件访问仓库、凭据、Shell 或网络的权限前,应把它视为可执行代码进行审查。

如何运行 DeepSeek Harness
官方 npm 快速入门要求安装 Node.js。运行 npx @deepseek-ai/dsh web。
默认情况下,该命令会在 http://127.0.0.1:3080 启动 Web UI。用户可以在其中配置模型提供商、选择工作区并启动会话。

负责任的首次运行应当使用:
- 小型演示仓库,而不是生产环境代码库;
- 合成或非敏感输入;
- 范围严格受限的工作区;
- 明确的审批策略;
- 现有测试或检查;
- 具有清晰停止条件的任务。
从源代码运行的开发者可以克隆官方仓库、安装依赖、构建项目并运行 Web 配置档。由于项目变化迅速,记录实验所用的 Commit 或 Release 很重要。
DeepSeek Harness 只能使用 DeepSeek 模型吗?
Harness 由 DeepSeek AI 开发,但架构通过适配器隔离模型访问。官方文档将模型适配器描述为可替换插件,并提供了添加提供商的扩展点。
因此,这个运行时不只是单一模型的封装。但这并不保证所有提供商或模型都有同等表现。工具调用、流式传输、消息格式、上下文限制、凭据和错误行为都可能不同,每个适配器和目标模型仍需专项测试。
权限、沙箱与安全
Agent 运行时可以把模型输出与文件访问、命令、凭据、网络调用和第三方插件结合起来,因此配置本身就是安全模型的一部分。
在使用 DeepSeek Harness 处理重要工作前:
- 将工作区限制为任务真正需要的文件;
- 不要在提示词和交接文档中放入 API Key 或生产凭据;
- 安装前检查插件、补丁、脚本和外部调用;
- 对后果重大的操作启用审批策略;
- 确认文件系统和子进程提供商实际在哪里执行;
- 要求运行仓库正常使用的测试、Lint、类型检查和安全检查;
- 由人工负责人审核最终 Diff 和命令历史;
- 如实记录失败和未经验证的假设,不要隐藏。
沙箱可以降低部分风险,但不能证明模型输出、插件代码、网络目标或生成的变更值得信任。
DeepSeek Harness 的局限性
最重要的限制是当前状态。官方 README 将 DeepSeek Harness 标记为开发者预览版,并提醒用户未来会出现破坏兼容性的变更。
这会带来一些实际影响:
- 配置档、插件、配置和 API 可能需要迁移。
- 文档和示例可能跟不上快速变化的实现。
- 与某个版本兼容的插件可能无法在另一个版本中工作。
- 团队需要自行负责测试、版本锁定、升级和运维支持。
- 灵活的运行时可能比托管式助手更考验技术判断。
因此,DeepSeek Harness 更适合希望检查和塑造 Agent 运行时的团队,而不是只想要稳定、完整编码助手的用户。它也不能取代项目需求、代码审核、安全策略或领域专业知识。
谁适合使用 DeepSeek Harness?
如果你至少有以下一项需求,DeepSeek Harness 值得评估:
- 需要可组合的 Agent 运行时,而不是固定助手;
- 需要定制工具、提供商、策略、界面或执行后端;
- 需要可检查的会话与工具事件;
- 需要针对不同 Agent 环境的配置档;
- 需要用于 Agent 架构研究的平台;
- 需要控制 Agent 操作在何处、以何种方式运行。
如果你需要有保证的兼容性、最少的设置、集中式企业管理,或团队无意自行维护的成熟任务体验,应该暂缓采用或选择托管程度更高的产品。
如果你在比较更广泛的产品类别,AI Agent 工作区指南解释了不同工具在上下文、执行、可重复性、审核和交接方面的差异。
Ottermind 在其中扮演什么角色?
DeepSeek Harness 更接近 Agent 运行时层。真实项目还会涉及客户证据、研究、任务说明、决策、审核、文档、演示文稿和后续任务。
Ottermind 是面向真实工作的 AI Agent 工作区。它可以围绕一个边界明确的技术任务,将更广泛的项目上下文及其交付物保持关联。团队可以在 Ottermind 中准备实施说明和验收标准,在受控的 Harness 工作区中执行仓库任务,再返回经过验证的结果用于文档记录和审核。
产品团队可以通过产品团队最佳 AI 工具指南比较周边的规划、研究和交付技术栈。
我们没有发现或测试 DeepSeek Harness 与 Ottermind 之间的原生一键集成。目前应将两者的关系理解为明确的产物交接,而不是已经存在的连接器或产品承诺。
如何判断 DeepSeek Harness 是否适合你
采用前请检查以下问题:
- 你是否需要替换或组合 Agent 运行时的某些部分?
- 团队能否维护插件、配置档、补丁和版本升级?
- 目标任务是否受到工作区、权限和验收标准的明确约束?
- 你能否检查提供商、工具、沙箱、凭据和网络边界?
- Agent 之外是否还有测试和人工审核?
- 会话证据是否足以让其他人验证结果?
- 项目能否承受开发者预览版带来的变化?
如果大多数答案是肯定的,DeepSeek Harness 为构建定制 Agent 提供了一个罕见且高度可检查的基础。如果大多数答案是否定的,可以先使用托管式助手或 Agent 工作区,等到运行时控制需求变得明确后再重新考虑 Harness。
“什么是 DeepSeek Harness?”的答案
DeepSeek Harness 不是新模型,也不只是一个聊天界面。它是一个开源、由插件组合而成的运行时,用于将模型连接到工具、会话、执行环境、策略和用户体验。
它的价值在于控制力:开发者可以检查事件流、替换提供商、组合配置档并扩展能力,而不必把 Agent 循环视为一个封闭黑盒。它的成本在于责任:团队需要在快速变化的开发者预览阶段自行承担架构、权限、插件信任、测试和兼容性工作。
下一项任务: 在 Ottermind 中定义一个边界明确的 Agent 任务,写明源材料、允许访问的工作区、权限、验收标准和所需证据。然后根据这份说明判断 DeepSeek Harness 是否需要为该任务定制配置档、插件或提供商。
