deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:diguike/book-deepseek-harness
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
DeepSeek Harness 源码精读、Mini 实现与插件开发实战
这本书讲 DeepSeek 官方开源的 agent harness dsh 本身是怎么设计的——不是怎么用它写代码,是它凭什么能让主循环、模型适配器、会话日志都变成配置里的一行。
dsh --profile web --dump-config 会打印出你这台机器上将要启动的整棵插件树。490 行 YAML、129 个插件行。模型适配器是一行,会话日志是一行,主循环 agent-loop 也是一行。任意一行都能被你自己的一行 YAML 顶掉。
如果你用过 Claude Code 或 Codex,想给它加点东西,最后发现只能挂一个 hook——那你已经碰到这本书要解决的问题了。你能扩展的,是人家预留给你的那几个洞。
dsh 给了另一个答案:没有内核,所以没有洞,因为没有墙。
这本书做四件官方文档不做的事:
不适合:想找「用 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 接上去。
第一部分 它为什么长这样
第二部分 核心机制:亲手写一遍才懂
第三部分 组合与落地
第四部分 生产级子系统
第五部分 工程化与迁移
附录
mini-dsh/ 手写的迷你实现,2,655 行 TS,65 个测试。零依赖,Node 22.6+ 直接跑
examples/ mock-llm-server:没有 API key 时把本机 claude CLI 包成 OpenAI 兼容端点
extensions/ 第 14 章那个真能装到 dsh 上的审计插件
assets/ 各章原始实测产物:dump 全文、会话日志、请求录制、实验数据、采集命令
八章各有两个 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),所有行号引用以它为准0.1.0-rc.6。rc.5 从未发布,你装到的比能读到的源码新约一小时verified_against,标明核对版本与日期ERRATA.md取证纪律:书中每个数字都附有产生它的命令(汇总在附录 A);每条「dsh 会 / 必须 / 强制 X」的断言都落到代码或门禁脚本,落不到的写成「文档如此描述」。凡是让 dsh 显得更强的论断,取证标准比让它显得更弱的高一档。
docs/,含 7 课时 Cordis 教程与 9 篇中文开发者教程正文 CC BY-NC-SA 4.0,代码 MIT。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。