dsh · 实战课程
学习指南 / 实战课程
Interactive Course · 11 × 30 分钟

十一课上手,
熟练使用这套框架。

这是一门完整的上手课程:每课 20 分钟精读(图解 + 代码 + 动手环节), 紧跟 10 分钟练习(单选、多选、问答,即时批改并附解析)。 四个模块层层递进——先会用,再读懂,然后会改, 最后坐上维护者的座位看上游如何运转。 练习成绩保存在你的浏览器里,十一课全过,你就具备了熟练使用 DeepSeek Harness 的完整能力。

模块 A · 会用(L1–L3) 模块 B · 读懂(L4–L7) 模块 C · 会改(L8–L10) 模块 D · 维护(L11)
01 · Technical Route

技术路线:一张图看懂要学的东西

DeepSeek Harness 是「一切皆插件」的 agent harness,跑在 vendored Cordis 微内核上。 下面这张图把整套技术栈自下而上拆开,并标注了每一层由哪一课攻克—— 它就是这门课程的路线图。

应用层 · 你怎么用它 Web UI · CLI headless · ACP 自动化 · TypeScript / Python SDK · cordis.yml 组合 L1 · L2 能力缝隙层 · Service Definition / Provider / Consumer llm 模型 L3 · L9 shell / fs L8 subagent L9 web / lsp … L9 L3 · L9 核心层 · agent loop 与工具管线 turn / step · system-prompt 组装 · tools 三段瀑布 · 审批与权限 agent / agent-loop tools 注册表 system-prompt L7 · L8 会话层 · 只增 SessionEvent 日志(一切的源头) deriveMessages() · fork / resume / transcript / telemetry 全部由它派生 L6 微内核层 · Cordis(插件 / 服务 / inject / 四种事件) 一切皆插件 · 注册即可逆 effect · emit / waterfall / parallel / serial L4 · L5
图 0 · 技术栈自下而上:Cordis 微内核 → 会话日志 → 核心循环 → 能力缝隙 → 应用。右侧标签是对应课次。

学习顺序却是自上而下的:先在应用层把它用熟(模块 A),获得体感; 再潜入内核读懂机制(模块 B);最后回到缝隙层动手扩展(模块 C)。 这与仓库官方推荐的路径一致——先当用户,再当读者,最后当作者。

02 · Syllabus

课程规划

每课 30 分钟:20 分钟精读(含动手环节)+ 10 分钟练习(2 单选 + 2 多选 + 2 问答,共 6 题)。 全程约 5.5 小时,建议每天 2–3 课,一周内完成。点击任意课卡进入学习。

模块 A

会用 · 把它跑起来、配明白

使用者视角 · L1–L3
01 启航:环境、构建与三种用法

Node/pnpm 前置条件、从源码构建、Web UI / headless / ACP 三种运行方式、API key 配置,以及学习价值最高的 --dump-config

20 分钟精读 + 10 分钟练习6 题前置:无
未开始
02 组合的艺术:cordis.yml、profile 与 bundle

一切皆插件的配置证据:读懂 cordis.yml,理解 profile / bundle / patch 的叠加顺序,动手写一个自己的 patch 替换默认行为。

20 分钟精读 + 10 分钟练习6 题前置:L1
未开始
03 接入任意模型:provider 与凭据

模型在这套 harness 下只是一个插件。学会在 Web UI 配置 provider、接入 OpenAI 兼容端点(GPT / Kimi / Claude)、管理凭据引用。

20 分钟精读 + 10 分钟练习6 题前置:L1–L2
未开始
模块 B

读懂 · 微内核与事件驱动架构

架构师视角 · L4–L7
04 Cordis 微内核:插件、服务与 inject

不懂 Cordis 读不懂这个仓库。插件生命周期、context 服务仓库、inject 依赖声明、可逆的 effect 注册——五个核心思想一次讲透。

20 分钟精读 + 10 分钟练习6 题前置:模块 A
未开始
05 事件系统:四种派发模式与三类事件

emit / waterfall / parallel / serial 的语义差异,waterfall 为什么必须调 next(),以及 session / agent / capability 三类事件的选择时机。

20 分钟精读 + 10 分钟练习6 题前置:L4
未开始
06 会话即日志:SessionEvent 与事件溯源

为什么只增日志是「一切的源头」:deriveMessages 投影模型历史,fork / resume / transcript 从同一条流派生,model-visible ⟺ logged 铁律。

20 分钟精读 + 10 分钟练习6 题前置:L5
未开始
07 主线精读:一次 turn 的完整生命周期

把前六课串起来:从 inbox 认领输入,经 pre-step / request / 工具三段瀑布,到 turn-stopping 收尾。走完这条线,核心代码任督二脉即通。

20 分钟精读 + 10 分钟练习6 题前置:L4–L6
未开始
模块 C

会改 · 在扩展点上动手

扩展者视角 · L8–L10
08 第一个扩展:写一个自己的工具

照 cookbook 实操:ctx.tools 注册、JSON schema、三段瀑布执行管线、审批拦截、UI 渲染意图。最小但完整的扩展练习。

20 分钟精读 + 10 分钟练习6 题前置:模块 B
未开始
09 能力缝隙:写一个模型适配器

Service Definition / Provider / Consumer 三角色设计法,动手把一个新的 LLM provider 接进 ctx.llm——GPT、Kimi、Claude 皆是插件的实证。

20 分钟精读 + 10 分钟练习6 题前置:L3、L8
未开始
10 工程规范与毕业实战:发布你的插件

测试政策(unit / e2e / snapshot)、Agent Notes 决策记录、常见坑复盘,以及毕业项目:写一个完整插件并挂上 dsh-plugin topic 发布。

20 分钟精读 + 10 分钟练习6 题前置:L8–L9
未开始
模块 D

维护 · 上游如何运转

维护者视角 · L11
11 维护者视角:上游如何运转

Remote API 与 api-gateway、Host/Client 双 aggregate、Session 格式迁移实操、三条发布线,以及 benchmarks / llm-retry / token-meter 三个仪表盘与 Agent Notes 的正规读法。

20 分钟精读 + 10 分钟练习6 题前置:L6 · L10
未开始
03 · Graduation

毕业标准:什么叫「熟练使用」

完成全部十一课后,用这五条检验自己。全部做到,就可以自信地说熟练使用这套框架了:

  • 会用:能从源码构建并运行 Web / headless / ACP 三种形态,会用 cordis.yml + patch 定制自己的 profile,会接入任意 OpenAI 兼容模型。
  • 懂主线:能把「用户发消息 → 收到回复」的完整 turn flow 讲给别人听,指出每个事件在哪里产生、谁消费。
  • 懂机制:理解事件溯源会话、四种事件派发、capability seam 三角色,知道新行为该挂在哪个扩展点(而不是改 loop)。
  • 会改:独立完成过一个工具扩展和一个模型适配器,懂得测试政策与文档同步的要求。
  • 会学:会用生成的地图(module-graph / event-producer-consumer / tool-catalog)定位代码,会查 Agent Notes 理解「为什么」。
每课练习全对之后,来一场「终面」

深度问答页的 42 道面试题覆盖全部课程知识点,适合做毕业前的最终检验。

进入深度问答 →