DeepSeek Harness 架构速览
August 14, 2026 · View on GitHub
本文档是 dsh 架构的精简中文参考,帮助开发者在写插件前快速建立全局认知。
核心理念:一切皆插件
dsh 建立在 Cordis 微内核框架之上。没有特权核心——所有能力(模型、工具、会话、沙箱、存储、UI)都是可替换的插件。
五大核心概念
| 概念 | 说明 |
|---|---|
| 插件即 Service | 实现 apply(ctx) 的对象,可带 inject 和 name |
| Context 是服务仓库 | 服务通过 ctx.tools、ctx.llm 等稳定键被发现 |
| inject 声明依赖 | inject: ['tools'] 让 Cordis 等待所需服务就绪 |
| 类型化事件 | emit(观察)、waterfall(中间件)、parallel(并行)、serial(串行) |
| 注册可逆 | 所有注册在插件卸载时自动撤销 |
分层架构
Profile (web/headless) ← 命名的插件树组合
↓
Bundle (dsh-base 等) ← 配置行的分发格式
↓
Core Packages ← session/tools/agent/llm 等核心包
↓
Cordis Kernel ← 插件挂载/卸载/依赖/事件
执行流程
一次用户任务 = 一个 Turn,一个 Turn 可包含多个 Step(模型请求 + 工具调用):
turn/start → 组装 prompt + tool schemas
step/start → 模型请求 → 工具调用 → 工具结果
step/end
turn/end
核心不变量:模型可见 = 已记录。所有到达模型的内容都必须能从会话日志重建。