专栏
DeepSeek Harness
深入 DeepSeek Agent Harness(dsh)的架构与机制:设计思想拆解、核心实现与上手实践。
共 14 篇 · 按阅读顺序排列
- 1 DeepSeek Harness 专栏开篇:学习路径总览 dsh 是什么、源码地图长什么样、以及由浅入深的六阶段学习路线——本专栏的全部规划都在这一篇。
- 2 十分钟跑通 DeepSeek Harness:npx、Web UI 与 dump-config 不读一行源码,先把 dsh 跑起来——三种启动方式、配置树长什么样、退出码与信号的意义。
- 3 从源码构建 dsh:构建流水线与 Host/Client 双面 clone 到 pnpm dsh web 之间发生了什么——四步构建流水线、两个 TypeScript 世界、以及为什么产物缺一不可。
- 4 Cordis 入门:读懂「一切皆插件」的地基 dsh 构建在 Cordis 之上——插件的三种形态、ctx 键、类型化事件、五种分发模式、effect 与 fiber 生命周期。读 dsh 任何源码前先读这篇。
- 5 Profile 与组合包:dsh 是如何被组装出来的 运行中的 dsh 是一棵按序叠加的插件树——patch 的语法、层的优先级、五种 profile 的差异,以及为什么 web profile 改配置不用重启。
- 6 Session:仅追加的事件日志,模型上下文的唯一真源 12 种会话事件、deriveMessages 投影、「模型可见即已记录」不变量——dsh 不存消息历史,只存事件日志。
- 7 agent-loop:一个轮次的完整旅程 turn 与 step 的状态机、inbox 三入口、pre-step 改写与拒绝、事件瀑布与 turn-stopping——循环本体逐行读。
- 8 system-prompt:提示词是怎么组装出来的 片段注册、集中分配的稀疏 order、协作式 waterfall——dsh 把「模型是谁、能用什么工具」变成一份可缓存的确定性文本。
- 9 tools:一次工具调用的把关流水线 从 tool/call 落日志到 tool/result 回流——注册表、pre-execute 决策、审批、单调 guard、环绕分发、post-execute 改写,十道工序逐一看。
- 10 能力 seam:换一个提供方,换掉半个产品 Service Definition / Provider / Consumer 三角色——dsh 把「可替换」做成了一等公民。以文件系统为例走通一条完整链路。
- 11 LLM 适配器与流式:从请求到 settlement ctx.llm 的适配器 seam、七种 StreamChunk、start/chunk/end 实时帧与持久 settlement 的双轨制——以及 deepseek 适配器的每一处细节。
- 12 人机协作平面:审批、权限与提问 ask 决策如何变成浏览器里的审批卡片、两档权限预设的旋钮模型、凭据为什么只存引用——dsh 的安全边界全在这篇。
- 13 三种产品形态:Web、headless 与 SDK 同一棵插件树,三种出口——浏览器 GUI 的 host/client 分工、一次性运行的退出码、以及一条 JSON-RPC 管道。
- 14 实战:为 dsh 写一个自己的工具插件 从零写一个工具、用 --patch 挂载、在 Web UI 里验收——并把前十二篇的机制全部用上。专栏收官之作。