🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

插件化架构精读 diguike/book-deepseek-harness

DeepSeek Harness
diguike78 天前有提交已提供中文文档扫描:含敏感能力

读懂 dsh 插件树设计,动手写迷你实现与真实插件

31.7/100
综合分
7
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装。以下命令仍可尝试,但可能失败。
无法用 dsh 插件命令安装(仓库内无 dsh 插件清单)
git clone https://github.com/diguike/book-deepseek-harness.git
按该仓库 README 的原生方式安装;若作者另行发布了 DSH 插件包,请以其文档为准

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · dev
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
数据截至 2026/10/30·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 78 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

⚠︎ 实装验证未通过(unknown · 2026/10/30) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
安装兼容性检查需源码安装

仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包book-deepseek-harness(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/11 22:05:14

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 2 处,展示前 2 条)
  • 写入本地文件
    extensions/dsh-plugin-audit/src/index.js:54
    mkdirSync(dirname(sink), { recursive: true })
  • 写入本地文件
    extensions/dsh-plugin-audit/src/index.js:64
    try { appendFileSync(sink, line + '\n') }
扫描于 2026/11/4(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 精读插件树源码
  • 编写迷你实现
  • 开发真实插件

《一切皆插件》— DeepSeek Harness 源码精读、Mini 实现与插件开发实战。21 章 + 可运行的 mini-dsh + 真实插件案例,全部数据实测。

README

由 DeepSeek 最新模型翻译生成
一切皆插件 DeepSeek Harness 源码精读、Mini 实现与插件开发实战 这本书讲 DeepSeek 官方开源的 agent harness dsh 本身是怎么设计的——不是怎么用它写代码,是它凭什么能让主循环、模型适配器、会话日志都变成配置里的一行。 dsh --profile web --dump-config 会打印出你这台机器上将要启动的整棵插件树。490 行 YAML、129 个插件行。模型适配器是一行,会话日志是一行,主循环 agent-loop 也是一行。任意一行都能被你自己的一行 YAML 顶掉。 为什么读这本书 如果你用过 Claude Code 或 Codex,想给它加点东西,最后发现只能挂一个 hook——那你已经碰到这本书要解决的问题了。你能扩展的,是人家预留给你的那几个洞。 dsh 给了另一个答案:没有内核,所以没有洞,因为没有墙。 这本书做四件官方文档不做的事: 1. 把设计取舍和代价讲透。「没有内核」放弃了什么,「日志是唯一真相源」谁在付账 2. 横向对比与选型判断。dsh 和 Claude Code / Codex / OpenClaw 的分野,以及为什么 LangGraph 压根不在同一个抽象层 3. 源码走读 + 亲手重建。
展开完整文档(README 剩余 1 节)
一切皆插件

DeepSeek Harness 源码精读、Mini 实现与插件开发实战

这本书讲 DeepSeek 官方开源的 agent harness dsh 本身是怎么设计的——不是怎么用它写代码,是它凭什么能让主循环、模型适配器、会话日志都变成配置里的一行。

dsh --profile web --dump-config 会打印出你这台机器上将要启动的整棵插件树。490 行 YAML、129 个插件行。模型适配器是一行,会话日志是一行,主循环 agent-loop 也是一行。任意一行都能被你自己的一行 YAML 顶掉。

为什么读这本书

如果你用过 Claude Code 或 Codex,想给它加点东西,最后发现只能挂一个 hook——那你已经碰到这本书要解决的问题了。你能扩展的,是人家预留给你的那几个洞。

dsh 给了另一个答案:没有内核,所以没有洞,因为没有墙。

这本书做四件官方文档不做的事:

1. 把设计取舍和代价讲透。「没有内核」放弃了什么,「日志是唯一真相源」谁在付账
2. 横向对比与选型判断。dsh 和 Claude Code / Codex / OpenClaw 的分野,以及为什么 LangGraph 压根不在同一个抽象层
3. 源码走读 + 亲手重建。用 TypeScript 写一个能跑的迷你实现,约 3500 行
4. 把工程方法提炼成能搬走的清单。dsh 是人和 agent 共同维护 50 万行代码的公开样本

写给谁

- 在公司搭 agent 平台的人(第一优先)——第 4、13、14、18 章能直接变成设计文档和 PR
- 已在用 CC / Codex、想扩展却碰壁的中高级工程师——技术栈 TypeScript / Node
- 从传统后端转 AI 的工程师——第 2 章做概念对齐,附录 D 补 TypeScript 缺口

不适合:想找「用 AI 写代码技巧」的人;想要中文 API 手册的人(官方文档更准)。

怎么读

| 目的 | 路线 | 时间 |
| 只做选型 | 1 → 3 → 4 | 半天 |
| 系统学架构 | 全书顺读,5–11 章跟着写 mini-dsh | — |
| 只要工程方法 | 1 → 19 → 20 → 21 | — |
| 搭内部平台 | 1、3、4 打底,跳 13、14、18 | — |

模型 API key 不是必需的,但有更好。 第 1、11、15 章的核心数据来自 DeepSeek 官方端点——端到端事件流、十变量的前缀缓存实验、六轮调用的真实用量轨迹,都带缓存命中数字。没有 key 也能跟着做:examples/mock-llm-server 把本机 claude CLI 包成 OpenAI 兼容端点,两条 patch 接上去。

目录

* 前言

第一部分 它为什么长这样

- 第 1 章 主循环也只是配置里的一行
- 第 2 章 agent harness 的系统模型
- 第 3 章 DeepSeek 的六个取舍
- 第 4 章 什么团队该上 dsh,什么团队不该

第二部分 核心机制:亲手写一遍才懂

- 第 5 章 服务、注入与激活顺序
- 第 6 章 注册即可撤销
- 第 7 章 会话日志即真相
- 第 8 章 请求信封与流式协议
- 第 9 章 主循环:turn 与 step
- 第 10 章 三段瀑布、守卫与并发确定性
- 第 11 章 把 KV cache 写进架构契约

第三部分 组合与落地

- 第 12 章 三层配置合成
- 第 13 章 换一个 provider,搬走整个执行世界
- 第 14 章 给真 dsh 装一个能上线的插件

第四部分 生产级子系统

- 第 15 章 压缩、裁剪与预算
- 第 16 章 把 Claude Code 挂成子 agent
- 第 17 章 前端也是插件

第五部分 工程化与迁移

- 第 18 章 从单机 harness 到内部平台
- 第 19 章 把约束变成可执行的门禁
- 第 20 章 让文档和测试跟着代码走
- 第 21 章 把这套思想搬进你自己的项目

附录

- 附录 A mini-dsh 源码导读与数字复现
- 附录 B 集成面速查
- 附录 C 术语与速查表
- 附录 D 读这本书需要的 TypeScript

配套代码

mini-dsh/ 手写的迷你实现,2,655 行 TS,65 个测试。零依赖,Node 22.6+ 直接跑 examples/ mock-llm-server:没有 API key 时把本机 claude CLI 包成 OpenAI 兼容端点 extensions/ 第 14 章那个真能装到 dsh 上的审计插件 assets/ 各章原始实测产物:dump 全文、会话日志、请求录制、实验数据、采集命令

跟着写 mini-dsh

八章各有两个 tag:

git checkout ch07-start # 起点:函数体挖空,签名、JSDoc、测试都在
cat mini-dsh/CHECKPOINT.md # 这一章要填哪几个函数
cd mini-dsh && node --test packages/session/tests/session.spec.ts # 绿了就是对了
git checkout ch07-done # 卡住了看参考答案

任何一章都能直接 checkout 开工,不需要前面的自己写对。可用 tag:ch05 ch06 ch07 ch08 ch09 ch10 ch12 ch13。

关于版本

本书写的是一个 0.1.0-rc 阶段的项目,官方 README 明写会有破坏性变更。

- 源码基准:47f94385(2026-08-13,声明 0.1.0-rc.5),所有行号引用以它为准
- 运行结果:npm 上的 0.1.0-rc.6。rc.5 从未发布,你装到的比能读到的源码新约一小时
- 每章 frontmatter 带 verified_against,标明核对版本与日期
- 易腐内容集中在第四部分;勘误见 ERRATA.md

取证纪律:书中每个数字都附有产生它的命令(汇总在附录 A);每条「dsh 会 / 必须 / 强制 X」的断言都落到代码或门禁脚本,落不到的写成「文档如此描述」。凡是让 dsh 显得更强的论断,取证标准比让它显得更弱的高一档。

参考

- 源码:https://github.com/deepseek-ai/deepseek-harness
- 官方文档:仓库 docs/,含 7 课时 Cordis 教程与 9 篇中文开发者教程
- 反馈与勘误:本仓库 Issues

许可

正文 CC BY-NC-SA 4.0,代码 MIT。
预览分享卡片长什么样 ↓diguike/book-deepseek-harness
分享 · DeepSeek Harness Hub
diguike/book-deepseek-harness

读懂 dsh 插件树设计,动手写迷你实现与真实插件

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部