DeepSeek Harness: DeepSeek Harness 简介
最后更新:2026-08-31
DeepSeek Harness(DSH)是 DeepSeek 开源的 Agent 智能体框架,核心理念"一切皆插件"——从模型适配器到工具系统、从会话管理到沙箱机制,全部以插件形式注入共享上下文,实现极致的可扩展性。
📋 前置知识:零基础可学,了解基本命令行操作即可
1. 你将学到
- DeepSeek Harness 的定位与核心理念
- Cordis 插件架构:服务、事件、副作用
- 四种运行模式概览(标准/PTC/极简/创造)
- DSH 与其他 Agent 框架的对比
- Developer Preview 阶段的使用注意事项
2. 关于代码示例的输出
本课程的代码示例采用确定性/非确定性分离模式,这是 Agent 框架教程的行业最佳实践(参考 LangChain、CrewAI 等竞品做法):
| 标记 | 含义 | 你的输出 |
|---|---|---|
| 输出: | 确定性结果(安装、配置、计数等) | 应与示例基本一致 |
| 交互流程: | Agent 行为流程(LLM 调用、工具选择等) | 实际文本会不同,但流程相似 |
| 验证方法: | 练习题的检查方式 | 按描述步骤验证 |
1 + 1 = 2(永远相同),Agent 编程 agent.chat("分析代码") = ???(每次不同)。这是 Agent 框架的本质特性,不是 Bug。
3. 一个 AI 工程团队的选型故事
(1) 痛点:Agent 框架碎片化
Alice 是一家 AI 初创公司的架构师。她的团队在 2026 年 Q2 面临 Agent 框架选型难题:
- Claude Code:Anthropic 官方 CLI,但绑定单一模型,无法切换
- Cursor:IDE 集成优秀,但 Agent 能力受限于编辑器环境
- OpenCode:开源 CLI 工具,但插件生态薄弱
- AutoGPT:概念先行,但生产稳定性不足
- LangChain:编排灵活,但运行时开销大、调试困难
产品经理 Bob 加码施压:
"我们需要一个模型无关、插件可插拔、支持多种交互模式的 Agent 框架。三个月内必须上线。"
(2) DSH 的解法
经过评估,Alice 选择了 DeepSeek Harness:
Plugin system: 0 extensible → everything is plugin
Model support: 1 provider → DeepSeek + OpenAI-compatible
Interaction modes: CLI only → Web UI + CLI + SDK + Headless
Runtime overhead: high → minimal (Cordis lazy-loading)
Community: GitHub 187.3k stars, MIT license
DSH 的"一切皆插件"让 Alice 团队能按需组装:
- 第 1 周:Web UI + DeepSeek API 跑通首个 Agent
- 第 3 周:接入 OpenAI 兼容端点,切换到 GPT-4o
- 第 6 周:自定义工具插件,接入公司内部 API
- 第 10 周:Python SDK 集成到生产管线
(3) 收益
使用 DSH 三个月后:
- 开发效率:Agent 功能上线周期从 2 周缩短到 3 天
- 模型灵活性:无缝切换 3 种 LLM,零代码改动
- 插件复用:5 个团队共享 12 个自定义插件
- 运维成本:Headless 模式部署,资源占用降低 60%
4. DeepSeek Harness 是什么?
DeepSeek Harness(DSH)是 DeepSeek 团队推出的开源 Agent 框架,GitHub 仓库获 187.3k stars,采用 MIT 许可证。它不是一个 Agent,而是一个运行 Agent 的框架——提供模型适配、工具编排、会话管理、沙箱执行等基础设施。

(1) ▶ 示例 1
graph TB
subgraph DSH[DeepSeek Harness]
C[Cordis 内核<br/>插件引擎]
M[模型适配器<br/>DeepSeek / OpenAI]
T[工具系统<br/>file_edit / shell / search]
S[沙箱引擎<br/>审批与隔离]
L[会话日志<br/>append-only log]
end
C --> M
C --> T
C --> S
C --> L
U[用户] -->|Web UI / CLI / SDK| DSH
| 维度 | DSH | 传统 Agent 框架 |
|---|---|---|
| 设计哲学 | 一切皆插件 | 功能硬编码 |
| 模型绑定 | 模型无关 | 绑定特定 LLM |
| 扩展方式 | 插件注入 | 修改源码或回调 |
| 交互模式 | Web/CLI/SDK/Headless | 通常仅 CLI |
| 运行时 | Cordis 懒加载 | 全量初始化 |
(2) Developer Preview 说明
DSH 当前处于 developer preview 阶段,这意味着:
- API 可能在后续版本中发生破坏性变更
- 部分功能尚不完善(如多模态、沙箱高级特性)
- 文档可能滞后于代码
- 不建议直接用于生产环境
# 安装时会提示 developer preview
npx @deepseek-ai/dsh web
# ⚠️ DeepSeek Harness is in developer preview.
# APIs may change before stable release.
但 developer preview 不意味着不可用——核心功能(对话、工具、插件)已经稳定可用,社区也在快速迭代。
5. Cordis 内核:一切皆插件
Cordis 是 DSH 的核心框架,名称源自拉丁语"心"——它是整个系统的跳动中枢。
(1) 插件贡献模型
每个插件向 Cordis 共享上下文贡献三类内容:
interface PluginContribution {
services: Service[]; // 可被其他插件调用的功能
events: EventType[]; // 类型化的事件流
sideEffects: SideEffect[]; // 可逆的副作用操作
}
- 服务(Services):插件暴露的可调用能力,如
llm.complete()、shell.execute() - 事件(Events):类型化的事件流,如
tool.beforeExecute、session.forked - 副作用(Side Effects):可逆操作,如文件修改可回滚、Shell 命令可撤销
(2) ▶ 示例 2
graph LR
P1[LLM 插件] -->|贡献 service| CTX[共享上下文]
P2[工具插件] -->|贡献 service| CTX
P3[沙箱插件] -->|贡献 event| CTX
P4[日志插件] -->|订阅 event| CTX
CTX -->|分发| P1
CTX -->|分发| P2
CTX -->|分发| P3
CTX -->|分发| P4
这种设计确保:
- 插件之间零直接依赖——通过共享上下文间接通信
- 新增插件无需修改已有插件代码
- 副作用可逆——支持操作回滚和会话恢复
(3) ▶ 示例 3
import { definePlugin } from '@deepseek-ai/dsh';
export default definePlugin({
name: 'hello-dsh',
version: '1.0.0',
contribute(ctx) {
ctx.registerService('hello', {
greet(name: string) {
return `Hello, ${name}! Welcome to DSH.`;
}
});
ctx.emit('hello.registered', { timestamp: Date.now() });
}
});
6. 四种运行模式概览
DSH 提供四种运行模式,适配不同的使用场景和偏好:
(1) 模式速览
| 模式 | 全称 | 特点 | 适用场景 |
|---|---|---|---|
| 标准 | Standard | 默认模式,Agent 自主决定何时使用工具 | 通用编程、问答 |
| PTC | Plan-then-Code | 先规划再执行,计划可见可控 | 复杂任务、代码重构 |
| 极简 | Minimal | 最少工具调用,Agent 主要靠自身能力 | 简单问答、知识查询 |
| 创造 | Creative | 自由度最高,鼓励探索性输出 | 创意写作、头脑风暴 |
(2) 模式切换
# CLI 模式切换
dsh --mode standard
dsh --mode ptc
dsh --mode minimal
dsh --mode creative
在 Web UI 中,模式可通过界面顶部下拉菜单实时切换。
graph LR
USER[用户输入] --> MODE{运行模式}
MODE -->|standard| S[Agent 自主决策]
MODE -->|ptc| P[先 Plan 后 Code]
MODE -->|minimal| M[最少工具调用]
MODE -->|creative| C[探索性输出]
S --> TOOLS[工具系统]
P --> TOOLS
M --> TOOLS
C --> TOOLS

详细模式对比与配置见
04-modes.md。
7. 与其他 Agent 框架对比
(1) 核心维度对比
| 维度 | DeepSeek Harness | Claude Code | Cursor | OpenCode |
|---|---|---|---|---|
| 开源 | ✅ MIT | ❌ 闭源 | ❌ 闭源 | ✅ MIT |
| 模型无关 | ✅ 多模型适配 | ❌ 仅 Claude | ❌ 多模型 | ✅ 多模型 |
| 插件系统 | ✅ Cordis | ❌ 无 | ⚠️ 有限 | ❌ 无 |
| Web UI | ✅ 内置 | ❌ 仅 CLI | ✅ IDE 内 | ❌ 仅 CLI |
| SDK | ✅ Python | ❌ | ❌ | ❌ |
| Headless | ✅ | ❌ | ❌ | ❌ |
| 沙箱 | ✅ 可配置 | ⚠️ 内置 | ❌ | ❌ |
| GitHub Stars | 187.3k | — | — | — |
(2) DSH 的差异化优势
- 模型自由:不绑定任何 LLM 供应商,DeepSeek API 和 OpenAI 兼容端点即插即用
- 插件生态:Cordis 架构让功能扩展变成"写插件"而非"改源码"
- 多端交互:Web UI 适合初学者,CLI 适合开发者,SDK 适合集成,Headless 适合自动化
- 可逆副作用:操作可回滚,这在 Agent 框架中极为罕见
(3) DSH 不适合的场景
- 需要 100% 生产稳定性(developer preview)
- 纯浏览器端运行(DSH 需要 Node.js 运行时)
- 极低资源环境(Cordis 内核有基本开销)
8. 技术栈全景
DSH 的完整技术栈:
graph TB
subgraph 交互层
WEB[Web UI<br/>React + Vite]
CLI[CLI<br/>终端交互]
SDK[Python SDK<br/>程序化调用]
HEAD[Headless<br/>无人值守运行]
end
subgraph 核心层
CORDIS[Cordis<br/>插件引擎]
SESSION[Session Manager<br/>会话管理]
TRAJ[Trajectory<br/>日志引擎]
end
subgraph 插件层
LLM[LLM 适配器<br/>DeepSeek / OpenAI]
TOOLS[工具插件<br/>file_edit / shell / search]
SANDBOX[沙箱插件<br/>审批与隔离]
PROFILE[Profile 插件<br/>配置组合]
end
WEB --> CORDIS
CLI --> CORDIS
SDK --> CORDIS
HEAD --> CORDIS
CORDIS --> SESSION
CORDIS --> TRAJ
CORDIS --> LLM
CORDIS --> TOOLS
CORDIS --> SANDBOX
CORDIS --> PROFILE
❓ 常见问题
📖 小节
- DSH 是 DeepSeek 开源的 Agent 框架,核心理念"一切皆插件"
- Cordis 内核通过共享上下文实现插件解耦:服务、事件、可逆副作用
- 四种运行模式适配不同场景:标准/PTC/极简/创造
- 与 Claude Code、Cursor 等相比,DSH 的核心优势是模型无关 + 插件生态 + 多端交互
- 当前为 developer preview 阶段,核心功能可用但 API 可能变更
- GitHub 187.3k stars,MIT 开源,社区活跃
📝 作业
1. ⭐ 基础题:访问 DSH 的 GitHub 仓库,阅读 README,列出三个最吸引你的特性,并说明原因。
2. ⭐⭐ 进阶题:用表格对比 DSH 与你最熟悉的另一个 Agent 工具(如 Claude Code、Cursor),至少包含 6 个对比维度。
3. ⭐⭐⭐ 挑战题:画一张 Mermaid 架构图,展示你理解的 Cordis 插件贡献模型——包含至少 3 个插件,标注它们贡献的服务、事件和副作用。