第 2 卷
30 分钟第 8-9 章扫读(工具/上知道 dsh 的能力全貌与扩下文、MCP/子代理/工作展方向
流)+ 术语表
**验收**:能给 dsh 生态贡献一个小改进或写一篇使用心得。
之后:按需深入
想做什么去读
| 接外部工具 | 第9章MCP +官方mcp包文档 |
|---|---|
| 并行任务 | 第9章子代理 |
| 确定性流程 | 第9章工作流+官方examples |
| 生产部署 | 官方架构文档+安全模型 |
(sandbox/权限)
性能极致第 6 章 + 第 4 章示例源码
生态变现第 7 章 + dsh-plugin topic
学习原则(白皮书全程)
- **动手 > 阅读**:每章命令都跑一遍,不看会后悔
- **先复制后理解**:第 4 章完整代码先跑通,再改参数理解机制
- **单测 + 实机双证据**:开发插件时两个都要过
- **善用 --dump-config**:疑惑时看合成配置,比猜快
第 1 章:认识 DeepSeek Harness
> 本章目标:从一个完全零基础的角度,建立对 DeepSeek Harness(dsh)的完整认知——**它是什么、为什么值得学、和主流 Agent 有什么区别、什么时候用它**。读完本章,你不需要任何
前置知识,就能理解 dsh 在整个 AI 开发工具版图中的位置。
TL;DR(本章核心,30 秒版)
- **dsh = Agent 的乐高底座**:官方开源(MIT)的运行时,一切能力都是插件,你
可以自由拼装
- **harness = 模型外面的工程层**:会话、工具、上下文、循环控制——让模型在仓
库里真正干活
- **和 Claude Code 的区别**:Claude Code 是"整车",dsh 是"底座 + 积木"——可
定制面完全不同
- **生态窗口**:2026-08-13 开源,中文教程此前为零——现在入场是早期
- **谁该用**:要深度定制/玩生态/跑 CI 的开发者;要开箱即用的选 Claude Code
<!-- [fix] 结构核验:补齐本章导航(第 1 章原缺失,与第 3-11 章结构保持一致) -->
<details><summary>本章导航</summary>
- [1.1 先建立三个直觉](#11-先建立三个直觉)
- [1.2 官方定义与核心事实](#12-官方定义与核心事实)
- [1.3 架构是怎么"一切皆插件"的](#13-架构是怎么一切皆插件的)
- [1.4 DSH 与主流 Agent 的全面对比](#14-dsh-与主流-agent-的全面对比)
- [1.5 什么时候用 dsh(选型决策)](#15-什么时候用-dsh选型决策)
- [1.6 常见问题(FAQ)](#16-常见问题faq)
</details>
1.1 先建立三个直觉
在讲技术之前,先用三个类比建立直觉:
**① dsh 是什么?——它是"Agent 的乐高底座"。**
想象乐高:官方提供底板和标准积木(运行时 + 核心插件),你可以自由拼装(加插件、换界面、改行为)。对比之下,Claude Code 更像"一辆整车"——很好开,但你想改装发动机
得找官方。
**② 为什么需要"harness"这个词?——它是"套在模型外面的工程层"。**
一个模型(DeepSeek V4)本身只会"回复文字"。要让它在你的代码仓库里干活(读文件、跑命令、改代码、多轮循环),外面需要一层工程:会话管理、工具调用、上下文控制、错误
恢复。**这层工程就叫 harness**。dsh 是 DeepSeek 官方把这层工程开源出来的产品。
**③ 为什么 2026 年才开源?——因为 Agent 进入"可编程时代"。**
2025 年是"模型能力竞赛"(谁能生成更好的代码);2026 年进入"Agent 工程竞赛"(谁能更好地组织模型干活)。DeepSeek 开源 harness 的战略意图:**把"如何组织 Agent"这件
事变成开放生态**——像当年 Android 开源改变手机生态一样。
1.2 官方定义与核心事实
**一句话定义**:DeepSeek Harness(`dsh`)是 DeepSeek 官方开源的 Agent 运行时,采用"一切皆插件"(everything is a plugin)架构,基于 Cordis 插件容器构建。
事实内容
开源时间2026-08-13
协议MIT(可商用、可改)
语言TypeScript(Node.js ≥ 22)
版本线0.1.0-rc.x(当前 rc.6,迭代快,官方明示"将有破坏性变更")
底层Cordishttps://github.com/ cordiverse/cordis(可组合插件容
器)
内置形态web(Web UI)+ headless(一次性 CLI)
官方定位官方 README 原话:"everything is a plugin"
1.3 架构是怎么"一切皆插件"的
flowchart TBsubgraph Profile["你的 profile(可启动形态)"]P1["dsh web(Web UI)"]P2["dsh headless(CLI)"]P3["自定义 profile(TUI/桌面/机器人)…"]
| end | subgraph Plugins["能力层(每个能力=一个插件)"] | L["llm:模型接入+推理档位"] |
|---|---|---|
| T["tools:写文件/终端/搜索/技能"] | S["session:会话持久化"] C["client:界面 | |
| (web/终端)"] | ST["settings:用户配置"] | end subgraph Cordis["Cordis插件容 |
| 器"] | D["依赖注入·事件·生命周期"] | end Profile --> Cordis Cordis --> |
| Plugins | Plugins --> L Plugins --> T | Plugins --> S Plugins --> C Plugins |
--> ST
<!-- [style] 子标题统一不带编号(原 3.1/3.2 为旧章节号残留,对齐其余章节) -->
分层视图
| ┌──────────────────────────────────────────────┐ │ | 你的profile(可启动形态) |
|---|---|
| │ │ = bundle栈+你的补丁层 | │ │ · dsh web(Web UI形态) |
| │ │ · dsh headless(CLI形态) | │ │ ·你的自定义profile(TUI/桌面/机器人 |
| …) │ ├──────────────────────────────────────────────┤ │ | 能力层(每个能力=一个插件) |
| │ │ · llm:模型接入(DeepSeek V4系+推理档位) | │ │ · tools:工具(写文件/终端/搜索/技能 )… |
| │ │ · session:会话持久化 | │ │ · client:界面(web浏览器半/终端半) |
| │ │ · settings:用户配置 | │ │ …(60+官方包) |
| │ ├──────────────────────────────────────────────┤ │ | Cordis插件容器:加载、依赖注入、事件、 |
生命周期 │ └──────────────────────────────────────────────┘
全站分卷索引 · 43 卷
- 1第 1 卷
- 2第 2 卷
- 3第 3 卷
- 4第 4 卷
- 5第 5 卷
- 6第 6 卷
- 7第 7 卷
- 8第 8 卷
- 9第 9 卷
- 10第 10 卷
- 11第 11 卷
- 12第 12 卷
- 13第 13 卷
- 14第 14 卷
- 15第 15 卷
- 16第 16 卷
- 17第 17 卷
- 18第 18 卷
- 19第 19 卷
- 20第 20 卷
- 21第 21 卷
- 22第 22 卷
- 23第 23 卷
- 24第 24 卷
- 25第 25 卷
- 26第 26 卷
- 27第 27 卷
- 28第 28 卷
- 29第 29 卷
- 30第 30 卷
- 31第 31 卷
- 32第 32 卷
- 33第 33 卷
- 34第 34 卷
- 35第 35 卷
- 36第 36 卷
- 37第 37 卷
- 38第 38 卷
- 39第 39 卷
- 40第 40 卷
- 41第 41 卷
- 42第 42 卷
- 43第 43 卷