第0章 这场发布意味着什么

官方开发者预览版公告(2026-08-13);21 世纪经济报道(2026-08-14);新浪财经·华尔街见闻(2026-08-13)

这一章回答「它为什么值得你花五个小时」——先看清发布的时间线、标志、争议,再决定要不要往下读。

学完这一章你应该能做到

  • 说出 Harness 与 DeepSeek 模型产品的本质区别
  • 列出 8 月 12 日到 13 日 DeepSeek 连续做的三件事
  • 解释「毛坯房」争议到底在争什么
无需前置知识。这里从零开始。

0.1 48 小时里发生了什么

先把时间线摆出来。2026 年 8 月 12 日,DeepSeek 把 V4-Pro 从预览版转为正式版,这是模型的动作。8 月 13 日晚,DeepSeek Harness(后面统一叫它 DSH)开发者预览版 v0.1 开启全球公测,同时以 MIT 协议开源到 GitHub(仓库地址:deepseek-ai/deepseek-harness)。这还没完——据腾讯云开发者社区梳理,48 小时内还有第三件事:API 涨价,8 月 16 日生效。模型转正、Agent 框架开源、API 调价,三件事挤在一起,节奏很密。

为什么说这个时间点有意思?因为 DeepSeek 一向以「低调、只发模型」著称。Harness 是它第一次把「工具链」本身拿出来开源,而不是只开源模型权重。开源一个 Agent 框架,意味着它想把「怎么用模型」这件事,也变成开放协作的对象。

为什么需要这一章

后面的每一章都在拆 DSH 的机制。但如果你先不搞清「它发布在什么语境里、大家对它什么反应」,就会把一篇工程文档读成新闻稿。先立坐标,再进细节。

开发者预览版Developer Preview):正式版之前的公开测试版,功能可用但可能不稳定、接口可能变。DSH 当前是 v0.1,官方措辞是「预览」而不是「正式」,这个定位很重要——它意味着文档可能滞后、插件生态还没起来、很多边界情况没人踩过。

有个细节值得注意:DSH 用的标志是一条黑色鲸鱼,而 DeepSeek 模型产品用的是蓝色鲸鱼。黑色鲸鱼配独立公众号「DeepSeek Harness 团队」——官方特意把「模型品牌」和「Harness 品牌」分开经营。这说明团队把它当独立产品线做,不是模型的一个附件。

0.2 「毛坯房」:第一印象为什么是负面评价

发布当天,社区最常见的反应是「毛坯房」:基础界面只有一个对话框加历史记录,没有侧边栏文件树、没有一键部署、没有现成插件市场。对比 Claude Code 开箱即用的精致体验,DSH 确实显得寒酸。

为什么它故意做成毛坯房

这大概率不是偷懒,而是哲学选择。「一切皆插件」意味着所有你想要的组件——界面、工具、技能——都要由插件提供,而不是内置。内置一个精美 UI 就等于「预装插件」,违背了「空根」原则。毛坯房不是缺陷,是设计意图的外化。但代价也很真实:普通工程师上手门槛高,YAML 配置、插件依赖、效果组件、服务配置,一样都不能少。

这也解释了另一个现象:上手门槛的争议。有经验的开发者夸它「乐高积木」「Minecraft 模组」,普通用户则抱怨「文档太少、配置太杂」。这两种评价其实说的是同一件事——DSH 把复杂性从「产品内部」搬到了「用户面前」。你要么自己搭,要么等生态把积木拼好。

0.3 为什么这份精读值得做

市面上写 DSH 的文章,多数停留在「它开源了、一切皆插件、有四种模式」的复述层。这个页面要做的是把「一切皆插件」这五个字拆开:插件系统长什么样(Cordis)、配置怎么合并(层叠)、模型如何被降级成普通插件(Cortex 循环)、日志为什么只能追加(append-only)、四种模式到底差在哪。这些机制层面的东西,才是你判断「DSH 值不值得用」的素材。

另外一个现实原因:DSH 目前是 v0.1,资料稀缺。官方文档不完整,社区经验分散在论坛和社交媒体上。这个页面相当于帮你做了一次「机制考古」——从官方源码(你本地就能 npm 装到的包)、官方公告、多家媒体报道里,把散落的事实拼成一幅可理解的地图。

先打个预防针

页面里的很多判断(比如「毛坯房是哲学选择」「可能成为 Linux」)是我的解读,不是 DeepSeek 官方的原话。凡是我个人的推断,都会明确标注「这是我的理解」。官方说什么、社区说什么、我猜什么,三条线分开写,你自己判断信哪条。

一句话记住:DSH 是 DeepSeek 把「Agent 框架」本身开源的一次尝试,黑色鲸鱼标志、v0.1 预览版、毛坯式默认界面——它的野心不在开箱即用,而在开放可组合。
L1 · 直接应用 发布语境

用你自己的话说,8 月 12 日到 13 日 DeepSeek 连续发布的「三件事」分别是什么?为什么说三件事放在一起看更有意思?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果 Harness 推迟到 9 月发布,而 API 涨价不变,这个故事还成立吗?
L2 · 变形迁移 品牌定位

DSH 的黑色鲸鱼标志与 DeepSeek 模型产品的蓝色鲸鱼标志被刻意区分开。从产品战略角度分析:这种「品牌分离」传递了什么信号?如果反过来统一用蓝色鲸鱼,会有什么坏处?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果 DSH 坚持叫「DeepSeek 智能体平台」而不是 Harness,品牌逻辑会怎么变?
L3 · 构造反例 毛坯房争议

社区给 DSH 的第一印象贴了「毛坯房」的标签。请构造一个反例:在什么条件下,「毛坯房」不是哲学选择而是纯粹的缺陷?也就是说出一个场景,让「默认不加内置 UI」变成明显错误的决定。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:换成「命令行工具但没有参数帮助」作为毛坯的例子,你的反例会变吗?
我能复述 8 月 12-13 日 DeepSeek 的三件大事及其顺序
我能解释黑色鲸鱼标志传递的品牌信号
我能说出「毛坯房」争议的两种立场各自成立的理由

答辩:如果我是审稿人

你说「毛坯房是哲学选择不是缺陷」。那请你解释:一个开源框架,用户第一体验就是劝退,就算哲学上自洽,实用上有什么补偿?

参考防守(先自己组织语言再看)

防守要点:第一,DSH 的目标用户是开发者,不是终端用户——开发者要的是「我可以改」而不是「开箱即用」;第二,MIT 开源 + Cordis 生态(已有积累的插件体系)提供了可组合的补偿,用户短期多花的时间换来的是长期不锁死的自由;第三,v0.1 阶段「少而纯」比「多而杂」更利于快速迭代——先证明机制成立,再让社区长内容。

本章自测

以下题目由系统自动判分,答题记录接入间隔重复算法。

本章小结

DSH 是 DeepSeek 于 2026 年 8 月 13 日发布的 Agent 框架开源预览版,v0.1,MIT 协议。它与模型产品并列但独立品牌(黑鲸鱼 vs 蓝鲸鱼),第一印象「毛坯房」争议,反映了「默认由插件组成」的哲学与开箱即用的产品期望之间的张力。看这个框架,不能只看表面体验,要看它的组合机制——这正是后面几章要拆的。

第1章 插件哲学

官方开发者预览版公告(2026-08-13):「一切皆插件」;界面新闻(2026-08-14)

「一切皆插件」不是宣传语,而是一条具体的架构决策:模型也只是众多插件之一。这一章把这句话拆成可操作的判断标准。

学完这一章你应该能做到

  • 列出 DSH 中「插件化」覆盖的至少六类组件
  • 解释「模型是插件」与传统 Agent 框架的本质区别
  • 判断一个设计决策是否符合「一切皆插件」原则
建议先读第 0 章,了解发布语境。

1.1 「插件」这个词被用滥了,但这里不是比喻

很多产品说自己「支持插件」,实际是「我们做了个主程序,再留几个扩展点」。DSH 不是这种。它把「模型」「工具」「技能」「会话」「沙箱」「存储」「循环」「调度」「UI」全部定义为插件——没有一个是内置的「主程序」,全部可以替换、重排、删除。

这带来一个反直觉的推论:连「Agent 循环」本身(模型思考→调用工具→看结果→再思考)都是插件。官方文档里「循环」出现在插件清单里,意味着你甚至可以把「思考→行动」这个循环替换成别的结构。比如 PTC 模式,就是把「多次工具调用」压缩成「一次程序化调用」——这就是换了一个「循环插件」。

插件Plugin):在 DSH 语境里,指任何可以被独立加载、配置、替换、移除的模块化组件。插件由依赖(deps)、配置(config)、服务(service)三要素定义,运行在 Corda 容器内。

为什么「模型是插件」这么重要

传统 Agent 框架(比如早期的 LangChain、或内置了模型的平台)把模型当作「引擎」,其余工具都是给引擎加油的附件。DSH 反过来了:模型只是「大脑插件」之一。这意味着你可以把 DeepSeek-V4 换成 Claude、GPT、本地 Llama,或者干脆同时挂多个模型做路由,而整个框架结构不用改。

1.2 三要素:依赖、配置、服务

在 Cordis 的世界里,一个插件不是一坨「实现功能的代码」,而是由三部分定义的结构:

依赖(deps):这个插件需要哪些其他插件先就位。比如「文件工具」插件依赖「沙箱」插件,因为文件读写发生在沙箱里。依赖声明让 Cordis 能自动解析加载顺序。

配置(config):这个插件的可调参数。每个插件声明自己的配置 schema,默认值、类型、校验规则都在这里。多个配置通过「层叠」合并(第 3 章细讲)。

服务(service):插件对外提供的接口。比如「shell 工具」插件提供 `exec()` 方法,「会话」插件提供 `push()`、`fork()` 方法。别的插件通过服务调用它,而不是直接 import 代码——这是「依赖倒置」的核心:上层不依赖下层实现,只依赖接口。

插件 = 依赖声明 + 配置模式 + 服务接口
(1)
要素作用例子
deps声明需要哪些前置插件web UI 依赖 session 插件
config可调参数与默认值model 插件配置 apiKey、model 名
service对外提供的接口能力exec()、push()、fork()

这三要素的组合逻辑,让「插件」天然具备可替换性——你只需要找一个实现了同样服务接口的插件,就能无缝替换。

1.3 「一切皆插件」的边界在哪

真的「一切」吗?按官方公告和源码,核心的 Cordis 运行时本身不是插件(它是容器)。「一切皆插件」描述的是 Agent 能力层:模型、工具、技能、会话、沙箱、存储、循环、调度、UI。这九类之外的「框架本身」,比如 Cordis 内核、DSH 的 CLI 入口,是固定的地基。

所以准确的说法是:DSH 里「凡是能换的,都用插件实现;框架只保留最小的胶水」。这与 Unix 哲学「做一件事并做好」一脉相承——但比 Unix 更激进:连「你」这个 Agent 的主循环都可以换。

打个比方:厨房不是餐厅

把 Agent 想象成一家餐厅。传统框架是「中央厨房」:菜单固定、后厨固定、你只能点套餐。DSH 是「厨师开放集市」——摊位(插件)随便租,菜谱(循环)随便改,连「什么是菜」都由你定。这个比方哪里不灵:集市里的「摊位」通常独立经营,而 DSH 的插件之间需要紧密配合(依赖、服务调用),不能像两个独立摊位那样完全不交流。

一句话记住:「一切皆插件」= 模型、工具、技能、会话、沙箱、存储、循环、调度、UI 都是可替换的插件;只有 Cordis 容器和 CLI 胶水是固定底座。
L1 · 直接应用插件清单

按官方「一切皆插件」的说法,DSH 中哪些组件被定义为插件?至少列出五个类别。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果官方说「存储」不是插件而是底座,会不会自相矛盾?
L2 · 变形迁移模型即插件

「模型是插件」给用户带来一个以前没有的灵活性。请举例:换模型时,系统提示词、工具列表、会话格式都不需要改,这是为什么?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。3分及以上为通过。
变式:如果某个工具只兼容特定模型(如某厂商专有工具),「模型无关」还成立吗?
L4 · 多概念综合判断设计符合原则

给你一个假设的设计:DSH 在核心里硬编码了「支持 /help 命令」的功能,不走插件。请用「一切皆插件」原则判断这个设计合不合理,并给出理由。如果合理,说明什么条件下合理;如果不合理,说明怎么改。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果「命令行参数解析」也做成插件,会有什么新的麻烦?
我能列出「一切皆插件」覆盖的组件类别清单
我能解释插件三要素(依赖/配置/服务)各自的角色
我能用「一切皆插件」原则评估一个具体设计决策

答辩:如果我是审稿人

你强调「插件三要素」给了可替换性。但「一切皆插件」会不会导致性能损失?每个插件都要走 Cordis 的事件循环和服务调用,这和直接函数调用比,开销在哪?

参考防守

防守要点:第一,DSH 的「性能」瓶颈在模型推理,不在插件调度——一次 LLM 调用可能是几百毫秒到几秒,插件调度是微秒级,可以忽略;第二,Cordis 有「运行时集成」机制,同一进程内的插件通过运行时对象直接调用,不序列化;第三,如果要极致性能,可以砍掉不必要的插件组合,只保留最小集——这正是「极简模式」存在的意义。但也要承认:如果插件数量爆炸(几百个),启动时的依赖解析和事件广播确实有可感知开销,这是「组合性」的代价。

本章自测

以下题目由系统自动判分,答题记录接入间隔重复算法。

本章小结

DSH 的「一切皆插件」不是口号而是架构决策:模型、工具、技能、会话、沙箱、存储、循环、调度、UI 全部插件化,只有 Cordis 容器和 CLI 胶水是固定底座。插件由依赖、配置、服务三要素定义,通过服务接口而非直接代码调用实现可替换性。理解这一点,才能理解后面所有机制(配置层叠、模式、日志)为什么这么设计。

第2章 Cordis 元框架

21 世纪经济报道(2026-08-14):Cordis 背景;DSH 本地包 package.json(cordis 4.0.1);界面新闻(2026-08-14)

Cordis 是 DSH 的插件容器,也是「一切皆插件」能成立的根本原因。它 2019 年在 Koishi 里萌芽,2022 年独立开源。这一章讲它为什么能承载 Agent。

学完这一章你应该能做到

  • 说出 Cordis 与 Koishi 的关系和时间线
  • 解释「元框架」的含义
  • 列举 Cordis 的五个关键特性
建议先读第 1 章「插件哲学」。

2.1 Cordis 从哪里来

Cordis 不是为 DSH 现写的,它有一段「祖传」历史:2019 年,Shigma 在开发聊天机器人框架 Koishi 时,把插件管理逻辑抽成了独立层;2022 年,这个独立层以 Cordis 的名字开源(MIT 协议),Koishi 本体则缩小到了约 350KB。换句话说,Cordis 是一个在聊天机器人生态里被验证了多年的「插件元框架」,DSH 是把它拿来当 Agent 容器的又一次复用。

这条时间线很重要,因为它解释了 DSH 为什么敢在 v0.1 就开源:Cordis 本身已经有四年的生产经验,插件体系成熟,DSH 只需要在上面「挂 Agent 能力」,不需要从零发明插件系统。这也回应了「毛坯房」批评——地基其实是稳的,只是「Agent 家具」还没摆齐。

元框架Meta Framework):不直接提供业务功能,而是提供「如何组织功能」的框架。Cordis 不帮你写对话、不帮你调模型,它只负责:谁先加载、谁依赖谁、配置怎么合并、事件怎么广播。

为什么「元框架」适合 Agent

Agent 的本质是「编排」:把模型、工具、记忆、沙箱按特定顺序组合。传统应用框架为「页面」服务,Cordis 为「组件组合」服务。Agent 需要的恰恰是后者——你不是在写一个固定 UI,你是在搭一个可以不断加零件的系统。元框架把「搭零件」本身工程化了。

2.2 五个关键特性

热插拔(Hot Reload):插件可以运行时增删,不用重启整个进程。这对 Agent 调试很关键——你改一个工具的行为,立刻生效,不用把会话重开。

依赖倒置(Dependency Inversion):插件之间通过服务接口(service)交互,而不是直接 import。上层插件只依赖「接口」,不依赖「实现」,所以换实现不需要动调用方。

单体仓库(Monorepo):Cordis 生态用 monorepo 管理所有包,版本一起发,接口同步演进。DSH 的 90 多个 @deepseek-ai 子包也沿用了这个模式,所以你 npm 装 dsh 时能看到几十个依赖包。

复刻/分叉(Fork):Cordis 生态里「分叉」是核心操作——把已有的 Agent 配置复制一份,改参数,变成新的 Agent。这个思想直接渗透进 DSH 的会话设计(第 7 章)。

配置层叠(Config Cascade):多个来源的配置按优先级合并,后写覆盖先写。这是 DSH 配置系统的理论基石(第 3 章)。

Cordis = 热插拔 + 依赖倒置 + Monorepo + 分叉 + 配置层叠
(2)

这五个特性单独看都不稀奇,但组合在一起,就构成了「你可以信任这个容器来跑 Agent」的理由:热插拔让你迭代快,依赖倒置让你换得动,monorepo 让你装得全,分叉让你繁殖快,层叠让你配得省。

2.3 DSH 与 Cordis 的版本关系

打开 DSH 本地安装包(`npm` 全局装 `@deepseek-ai/dsh`)的 package.json,依赖里明确写着 cordis 4.0.1。而 Cordis 4 是 2023 年后大版本,带更完善的 schema 校验、类型系统和异步生命周期。DSH 直接把 Cordis 4 作为运行时依赖,等于站在了成熟版本上。

这意味着两件事:第一,DSH 的插件格式就是 Cordis 插件格式,意味着你理论上可以复用 Cordis 生态里已有的插件(如果接口兼容);第二,DSH 的「技能」概念(skill)很可能就是 Cordis 插件的一种包装——官方说「技能」是插件,具体技能定义文件(如 SKILL.md)如何被 Cordis 加载执行,是后续值得深入源码的存疑点。

存疑点

「技能是否直接复用 Cordis 插件格式」目前没有官方明确说明。我的理解:DSH 的技能更可能是「配置化的插件」,即一个技能=一份 YAML/JSON 描述 + 关联的插件实现,而不是纯 Corda 插件。这个推断待官方文档确认。(这是我的理解)

2.4 为什么复用比自研聪明

DeepSeek 完全可以给 Harness 自己写一个插件系统。但复用 Cordis 有四个实打实的好处:

  • 成熟度:四年的聊天机器人生态验证,边界情况踩过无数。
  • 开发者惯性:Koishi 生态的开发者迁移成本低,DSH 能快速拿到第一批插件贡献者。
  • 聚焦:团队可以把精力放在「Agent 语义」(循环、工具、轨迹)而非「插件机制」。
  • 政治:开源协议 MIT 且历史悠久,不会被质疑「自造轮子」。

打个比方:内燃机 vs 专用电机

自造插件系统像专为电动车设计的电机——极致适配但生态孤岛。复用 Cordis 像通用内燃机——成熟、适配一切、有海量零件商(社区插件)。这个比方哪里不灵:内燃机会被电机淘汰,但 Cordis 的「组合思想」短期内看不到被淘汰的迹象,因为组合性在 Agent 时代反而更吃香。

一句话记住:Cordis 是一个 2022 年从 Koishi 独立开源的元框架(现在是 4.x),提供热插拔、依赖倒置、Monorepo、分叉、配置层叠五大能力;DSH 站在它上面做 Agent 层,等于「复用成熟的车架,自研发动机舱」。
L1 · 直接应用Cordis 时间线

Cordis 的诞生时间线:它最初从哪里来?哪一年独立开源?DSH 用的是哪个大版本?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果 Cordis 是 2019 年从 Koishi 独立,那 Koishi 本身还在用吗?
L2 · 变形迁移依赖倒置

用大白话解释「依赖倒置」:为什么插件之间通过服务接口交互,比直接 import 对方的实现更好?举一个 DSH 里的例子。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果服务接口设计得不好(比如接口里塞了实现细节),依赖倒置的优势还成立吗?
L3 · 构造反例复用 vs 自造

复用 Cordis 给了 DSH 四个好处(社区、惯性、聚焦、事实)。请构造一个反例:在什么场景下,复用 Cordis 反而是错误决策?给出理由。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果 Cordis 的许可证变成非宽松协议(非 MIT),这个决策会被推翻吗?
我能说出 Cordis 从 Koishi 独立开源的时间线和版本
我能解释依赖倒置并用例子说明
我能判断「复用 Cordis」在什么场景下是错误决策

答辩:如果我是审稿人

你反复说 Cordis 是「成熟」的。但它成熟于聊天机器人领域,Agent 编排和聊天机器人编排真的是同一件事吗?会不会有「领域错配」?

参考防守

防守要点:第一,聊天机器人本身就是一种 Agent——对话、工具调用、记忆、上下文管理这些需求,Koishi 生态都实现过;第二,Cordis 抽象的是「插件组合」这一层,与业务无关;第三,DSH 并没有直接把 Koishi 的聊天能力搬进来,而是用 Cordis 的插件机制新写了 Agent 层,相当于「借用兵工厂,不打同一场仗」。但确实要承认:Agent 的「循环调度」对确定性要求比聊天机器人高,Cordis 的事件模型是否适合「严格依赖顺序的执行流」,是需要实践验证的问题。

本章自测

以下题目由系统自动判分,答题记录接入间隔重复算法。

本章小结

Cordis 是 DSH 的插件运行时,2019 年从 Koishi 萌芽、2022 年独立开源、现在 4.x。五大特性(热插拔、依赖倒置、Monorepo、分叉、配置层叠)构成「可组合 Agent」的工程基础。复用 Cordis 而不是自造,让 DeepSeek 能把精力放在 Agent 语义层,但也把「插件生态成熟度」的命运交到了 Cordis 社区手里。

第3章 配置层叠与 Profile

官方开发者预览版公告(2026-08-13)配置层叠结构;DSH 本地 lib/bin.js(--dump-config、--profile、--patch 参数解析)

DSH 的「配置」不是一个大 JSON,而是五层叠起来的。这一章讲清楚每一层是谁、优先级怎么定,以及 `--dump-config` 到底在查什么。

学完这一章你应该能做到

  • 按优先级顺序说出配置层叠的五个来源
  • 解释 profile 是什么、`--profile web/headless/tui` 怎么用
  • 理解 `--dump-config` 的作用和输出形态
建议先读第 1、2 章(插件哲学 + Cordis)。

3.1 五层配置:后写的赢了

官方文档里 DSH 的配置层叠结构是这样的(从底层到顶层):

  1. 空根(Empty Root):什么都没有,纯粹是起跑线。
  2. dsh.profile.bundles 各插件包的 patch:每个插件包自带一份「补丁」(patch),声明它往配置里加什么。这是插件声明式配置的一部分。
  3. profile 自身的 cordis.patch.yml:当前选中的 profile(如 web/headless/tui)自带的配置文件。
  4. $DSH_HOME/cordis.patch.yml:你放在 home 目录下的用户级配置。
  5. 命令行 --patch 覆盖层:临时传参,优先级最高,只对本次运行生效。

合并规则一句话:后写的覆盖先写的。插件包说「模型默认是 deepseek-chat」,你的 $DSH_HOME 说「不,用 my-ollama」,最后生效的是你的。

ProfileProfile):一组配置的命名集合。DSH 内置了 web、headless、tui 三个 profile,分别对应网页版、无界面后台、终端界面三种运行形态。profile 相当于「预设的插件组合方案」。

为什么要五层而不是一层

一层配置意味着每次改都动全局,容易互相踩踏。分层把「谁负责哪部分」分开:插件包管自己的默认值,profile 管运行形态,用户管个人偏好,命令行管临时实验。每一层都有明确的「负责人」,改的时候不用翻全局 JSON。

3.2 Profile 到底是什么

你可以把 profile 理解为「一个已配好的插件组合的快捷方式」。`dsh --profile web` 表示:以 web 形态启动——加载 web 界面插件、会话插件、模型插件、工具插件,组合成一个「跑在网页里的 Agent」。`--profile headless` 表示:只要核心逻辑,不要界面——适合服务端调用、批处理、测试。

内置三个 profile 的区别,主要在「UI 插件的取舍」上,底层的模型、工具、会话都一样(除非 profile 明确改)。这就是为什么官方说「profile 可以自由定义」——你把 web profile 的文件复制一份,改几个插件组合,就成了自己的 profile。

另外注意:`dsh web` 是 `dsh --profile web` 的别名,官方 CLI 里专门做了这个快捷方式。这说明 web 形态是官方最想推的第一个体验入口。

3.3 --dump-config 与 --patch:查配置、改配置的钥匙

--dump-config:把「当前 profile 合并出来的最终配置树」打印出来。注意是「合并后」的,不是某一层。它帮你回答「我现在这套配置到底生效了什么」——排查插件冲突、默认值覆盖、语法错误都靠它。

--patch <文件>:把一份 YAML/JSON 作为最高优先级的覆盖层临时合并。适合「今天跑一个实验,不想动 home 配置」的场景。

这两个命令配合 `dsh plugin --profile <name> <pnpm args>`(在 profile 环境里装插件)基本就能完成日常的「查配置、改配置、装插件」闭环。

一个常见坑

`--dump-config` 输出的「合并树」是按优先级逐层覆盖后的结果,但你看到的某个值不一定是「最终生效值」——因为插件在运行时还可以再改自己的配置(运行时动态配置)。如果你改完配置发现没生效,先看是不是被运行时改了,别光盯文件。(这是我的理解,官方未明确说清楚这一点。)

3.4 实验室:五层叠一座塔

实验室 3-1:五层配置合并模拟可运行

每一层都可以「有没有值」两种情况。拖开关观察「模型名」和「温度」最终被哪一层决定。

有值(deepseek-chat)
有值(v4-pro)
点击「运行」查看最终生效值
说明:本实验室是「配置层叠」的简化模拟,模拟五层中「后写覆盖先写」的逻辑。能证明:最终值只来自「最上层有值的那一层」。不能证明:真实 DSH 的配置 schema 校验、插件运行时改配置等复杂行为。真实的层叠逻辑见官方文档。
一句话记住:配置五层——空根 → 插件包 patch → profile 自身 → $DSH_HOME → --patch 命令行,后写覆盖先写;`--dump-config` 看合并结果,`--patch` 做临时覆盖。
L1 · 直接应用五层配置

按优先级从低到高写出 DSH 配置的五个来源。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果我想「只在本命令生效」地改配置,应该用哪一层?
L2 · 变形迁移Profile 语义

`dsh web` 和 `dsh --profile web` 是什么关系?这个别名设计暗示了什么产品倾向?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果官方把 web 当作默认 profile,会有什么风险?
L4 · 多概念综合合并优先级综合

现在有:插件包设置 temperature=0.3,profile 没设,$DSH_HOME 设置 temperature=0.8,命令行 --patch 设置 temperature=0.5。请问最终生效值是多少?如果插件包「硬编码」了 temperature 且不允许覆盖,情况会变成什么样?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果插件包在运行时把 temperature 又改回 0.3(运行时修改),最终用户设的还有效吗?这暴露了什么设计问题?
我能说出五层配置的优先级顺序
我能解释 --dump-config 与 --patch 的用途区别
我能用实验室模拟配置合并的结果

答辩:如果我是审稿人

五层配置结构清晰,但代价是心智负担。普通用户记不住哪层优先。你凭什么认为「分层」比「一个文件」更好?

参考防守

防守要点:第一,普通用户根本不用主动接触所有层——默认只用 $DSH_HOME 或 --patch 即可,其它层由工具链维护;第二,分层让「谁改了什么」可追溯,配置文件可以被版本管理;第三,Cordis 的层叠机制与插件声明式配置天然契合,插件自带配置才能做到「装了就配好」。但承认:文档引导不够时,用户确实容易「改错层」,这是 v0.1 的代价,需要在社区文档中补齐。

本章自测

以下题目由系统自动判分,答题记录接入间隔重复算法。

本章小结

DSH 配置是五层叠加:空根 → 插件包 patch → profile 自身 → $DSH_HOME → --patch 命令。后写覆盖先写。Profile 是「已配好的插件组合方案」,内置 web/headless/tui 三个。`--dump-config` 查看合并树,`--patch` 做临时覆盖。这五层机制是「一切皆插件」在配置维度的落地——每个插件声明自己的配置,用户用优先级控制最终效果。

第4章 四种运行模式

官方开发者预览版公告(2026-08-13)四种模式;新浪财经·华尔街见闻转载全文(2026-08-13);界面新闻(2026-08-14)

同一个 dsh,四种模式就是四种性格。这一章讲清楚每种模式是什么、解决什么问题、适合谁。

学完这一章你应该能做到

  • 列出四种模式并各用一句话说明用途
  • 解释 PTC 模式「程序化工具调用」到底改了循环的哪一步
  • 判断一个任务应该用哪种模式
建议先读第 1 章(插件哲学)理解「循环也是插件」。

4.1 一张表看懂四种模式

模式核心思想适合场景
标准模式完整工具组合,Agent 自己决定用什么日常对话式 Agent、多步任务
PTC 模式模型生成「一段程序」,一次调用完成多轮工具需要顺序执行多步操作的批处理
极简模式只给 shell + 一个文件编辑工具基准测试、性能对比、最小可用
创造模式可检查运行时、在内存里试验 Cordis 插件、组合新模式插件开发、Agent 调试、原型验证

这四种模式不是四个「产品版本」,而是四个「插件组合方案」——对应第 3 章说的 profile 概念。每种模式本质上是「换了一套工具插件 + 循环插件」。

4.2 标准模式:最像普通 Agent 的形态

标准模式把完整工具集都交给模型:shell、文件读写、网络、代码执行、信息检索……模型在一个循环里反复「思考→选工具→执行→看结果」。这是目前主流 Agent(Claude Code、Codex 等)的形态。

优点:灵活,能处理不可预知的任务。缺点:每一轮都要等模型推理,多步任务延迟高、token 消耗大、还可能跑偏。

4.3 PTC 模式:把「想一步做一步」换成「写一段程序」

PTC(Programmatic Tool Calls,程序化工具调用)是 DSH 的一个亮点。普通循环里,模型每一步「说一句话、调一个工具、等结果」;PTC 模式让模型「生成一段代码」,这段代码可以连续调用多个工具、处理中间结果、做条件分支——相当于把「对话式调度」变成「程序化调度」。

打个比方:标准模式像你一步步指挥同事(每个步骤都要等回复);PTC 模式像你把整个任务的执行步骤写成一张清单交给同事(中间不用一直请示)。

为什么 PTC 能省时间和 token

因为「工具调用之间的决策」不再需要模型推理。比如「读文件→解析→写摘要→存盘」四步,标准模式要四次推理(每步之间模型要决定下一步做什么),PTC 模式只推理一次(生成那四步的代码),后面三步是程序执行,不走模型。省的就是这三次推理的延迟和 token。

但 PTC 的代价是:模型生成的「程序」如果写错了(比如工具参数拼错),没有中间的人工校验机会,可能一条路错到底。所以 PTC 适合「任务步骤明确、可预测」的场景;对「探索性、需要中途看结果调整」的任务,标准模式更稳。

4.4 极简模式:给基准测试准备的「裸奔」

极简模式只给两个工具:一个 shell、一个文件编辑。为什么官方要提供这种「少到可怜」的模式?答案:基准测试的公平性。

Agent 评测里,「工具越多 = 能力越强」往往是噪音——一个 Agent 用 30 个工具完成任务,另一个只用 2 个,比的是工具库不是推理能力。极简模式把工具压到最小,逼模型用推理+基础工具完成复杂任务,才能量出「模型本身的 Agent 能力」。

这就是官方说的「用于基准测试」。如果有一天你看到论文用 DSH 做 Agent 评测,大概率跑的是极简模式。

4.5 创造模式:给插件开发者准备的「手术室」

创造模式(Creative Mode)面向插件开发者:你可以直接检查正在运行的 Cordis 运行时,在内存里试验插件、动态组合新的模式,甚至把新组合固化成新的 profile。它本质是一个「活的调试器 + 插件实验室」。

这意味着「创造模式」是四种模式里唯一一个「改自己」的模式——它用 Agent 的能力来改 Agent 的构成。这在传统框架里几乎不可想象:IDE 不能改自己的运行时,但 Agent 可以(在沙箱里)。

存疑点

「在内存中试验插件」的具体机制(是否全热更新、是否支持持久化到 profile)官方描述得比较含糊。这是我的理解:创造模式提供对 Cordis 运行时的编程接口,让模型或开发者可以像「REPL」一样操作插件图,但能否自动保存改动为正式 profile,尚未证实。

4.6 实验室:PTC vs 标准模式的成本对比

实验室 4-1:标准 vs PTC 的调用成本可运行

模拟一个 5 步任务。标准模式每步 1 次推理,PTC 模式 1 次推理 + 程序执行(省 4 次)。拖「步数」看总延迟差异。

5
800
80
点击「运行」查看对比
说明:标准模式耗时 = 步数 × 单步推理耗时;PTC = 1 次推理 + 步数 × 程序执行每步耗时。本实验室是简化模型:没算 token 数、没算工具本身的执行时间差异,也没考虑 PTC 程序写错重试的额外成本。目的只是直观感受「省掉中间推理」的数量级差异。
一句话记住:四种模式=四种插件组合方案。标准(自主循环)、PTC(程序化批处理)、极简(裸工具做基准)、创造(改 Agent 本身的实验室)。
L1 · 直接应用四种模式

四种模式各解决什么问题?各自适合什么场景?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果官方新增「只给一个数据库工具的极简模式」,还能叫「极简」吗?
L2 · 变形迁移PTC 原理

PTC 模式和标准模式在「循环」层面有什么本质区别?为什么 PTC 能省延迟和 token,代价是什么?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果任务有分支(根据中间结果决定下一步),PTC 还适用吗?
L3 · 构造反例极简模式的意义

极简模式只有 shell + 文件编辑。请论证:这个模式测出来的成绩,为什么比「工具全开的成绩」更能反映模型本身的 Agent 能力?或者,构造一个反例:什么情况下「工具少」反而让测试结果失真?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果评测任务本身依赖 GUI(需要点击按钮),极简模式(无 GUI 工具)会让所有模型一起挂,这个测试还算公平吗?
我能列出四种模式及适用场景
我能解释 PTC 模式省时间省 token 的原理
我能用成本模型估算标准 vs PTC 的延迟差

答辩:如果我是审稿人

PTC 听起来很美,但它要求模型「一次生成整段正确程序」。如果模型生成的程序有 bug,是不是比标准模式的「逐步纠错」更差?官方有没有给 PTC 的失败率数据?

参考防守

防守要点:第一,PTC 模式通常配合「程序执行 → 报错 → 反馈给模型 → 模型修改程序」的闭环,不是「生成完就丢」;第二,对于确定性任务,PTC 一次成功率随模型能力提升而提高,错误成本是可接受的(重跑程序比重新推理便宜);第三,官方确实没有公开 PTC 失败率的对比数据,这是存疑点。承认这个验证缺失,是理性的。

本章自测

以下题目由系统自动判分,答题记录接入间隔重复算法。

本章小结

四种模式本质是四种插件组合:标准(自主循环)、PTC(程序化批量调用,省推理)、极简(基准测试用)、创造(运行时插件实验室)。理解「模式=配置组合」后,你就不会再被「模式」这个词迷惑——它只是 profile 换了一套工具和循环。

第5章 Agent 循环:Cordis 如何驱动模型

官方开发者预览版公告(2026-08-13);DSH 本地包 lib/bin.js 与 package.json(dsh-goal*、dsh-loop 等依赖);界面新闻(2026-08-14)

Agent 的核心是「循环」:模型思考 → 调工具 → 看结果 → 再思考。这一章把它拆开,看 Cordis 是怎么驱动这个循环的。

学完这一章你应该能做到

  • 画出 Agent 循环的四个阶段
  • 解释系统提示词、工具列表、上下文如何进入模型
  • 理解「循环也是插件」的实际含义
建议先读第 1 章(插件哲学)和第 4 章(模式)。

5.1 循环的四个阶段

任何一个 Agent 都在跑同一个基本循环,区别只在「谁控制它、怎么控制」:

  1. 组装上下文:把系统提示词、历史消息、工具定义、记忆注入到给模型的请求里。
  2. 模型推理:模型生成文本或工具调用请求。
  3. 执行工具:如果模型要求调用工具,执行并把结果写回。
  4. 循环判断:结果是「完成」还是「继续」?继续就回到第 1 步。
为什么这个循环值得单开一章

因为 DSH 的野心不只是「做一个能跑循环的工具」,而是「把循环本身暴露给你改」。你改第 3 步(工具执行)就是换工具插件;改第 4 步(循环判断)就是换「循环插件」——PTC 模式就是换了第 4 步,把「看结果再决定」换成「按程序继续跑」。

5.2 上下文组装:模型「看到」了什么

每次请求,模型看到的不是「你的问题」,而是系统组装好的一整套上下文。DSH 里这套东西的构成大致是:

  • 系统提示词:由「技能」「人格设定」等插件提供,定义 Agent 的行为边界。
  • 历史消息:之前的对话和工具结果,可能被压缩(compaction 插件)或裁剪。
  • 工具列表:当前 profile 加载了哪些工具,它们的 JSON schema 描述。
  • 记忆:长期记忆检索出来的相关片段。
  • 事件流:子 Agent 的调度记录、最近的操作事件。

这里的「记忆」和「上下文注入」都出现在官方日志设计里(第 7 章会展开),说明 DSH 把「模型看到什么」当成一件可审计、可复现的事,而不是黑箱。

5.3 「循环插件」长什么样

从 DSH 的 package.json 可以看到 dsh-loop、dsh-goal* 这样的子包——它们就是循环相关的实现。一个「循环插件」的职责是:决定「下一步做什么」。标准模式的循环插件实现「模型→工具→模型」;PTC 的循环插件实现「模型→生成程序→执行程序→(可能)再修正」;创造模式的循环插件甚至允许「改循环自己」。

这也解释了为什么「模式」是 profile 级的配置:换模式=换循环插件+换工具集合。

存疑点

「dsh-loop」「dsh-goal*」这些包名是我从本地包目录推断的,具体每个包的职责官方文档没有逐个说明。这里的内容是「基于包名和整体设计的合理推断」,不等于官方文档的准确描述。(这是我的理解)

5.4 图解:Agent 循环交互图

图解 5-1:Agent 循环四阶段(点击查看说明)交互
组装上下文 提示词+历史+工具 模型推理 思考/调用决定 执行工具 shell/文件/网络 循环判断 完成? 继续?

实线:主循环(上下文→模型→工具→判断)。虚线回到「组装上下文」=继续;红色虚线到顶部=完成/退出。点击四个方块看详情。

一句话记住:Agent 循环四阶段(组装上下文→模型推理→执行工具→循环判断)在 DSH 里每一环都是插件;换循环插件=换模式。
L1 · 直接应用循环阶段

Agent 循环有四个阶段,按顺序写出来,并说明每阶段「模型看到/产生」什么。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果某个 Agent 没有「循环判断」阶段,它会表现成什么样?
L2 · 变形迁移循环即插件

「循环也是插件」是什么意思?用 PTC 模式举例说明「换循环插件」如何改变 Agent 行为。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果「循环判断」被设计成「永远返回继续」,会发生什么?
L4 · 多概念综合上下文注入

上下文注入是 Agent 循环的第一步。请综合分析:如果给模型注入的「工具列表」里有一个带毒的工具描述(描述说它能删除文件但实际是虚假的),会发生什么?结合「一切皆插件」讨论:这暴露了插件体系的什么风险?怎么缓解?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果「记忆注入」的内容是假的(记忆污染),对 Agent 的危害有多大?与工具描述伪造相比哪个更危险?
我能画出 Agent 循环四阶段
我能解释上下文注入的构成
我能分析插件描述被伪造的安全隐患

答辩:如果我是审稿人

你说「循环也是插件」,那如果某个循环插件有 bug,是不是整个 Agent 就坏了?插件化的循环是不是比硬编码循环更不可靠?

参考防守

防守要点:第一,任何软件都会有 bug,插件化不会让 bug 变多,只是把 bug 的位置从「框架」挪到「插件」,而插件可以单独替换、回滚、隔离;第二,Cordis 有生命周期管理和依赖解析,一个插件的崩溃可以被捕获,不会必然拖垮整个运行时;第三,作为对比,硬编码循环出 bug 只能等框架升级,插件化循环出 bug 可以立刻换插件。但必须承认:插件生态的质量参差不齐,官方需要「官方维护的核心插件集」来兜底。

本章自测

以下题目由系统自动判分,答题记录接入间隔重复算法。

本章小结

Agent 循环四阶段——组装上下文、模型推理、执行工具、循环判断——在 DSH 里都是插件化的。模型看到的上下文(系统提示词、历史、工具、记忆、事件)被显式组装,循环协议可以被替换(标准/PTC 就是换了循环插件)。理解循环的可替换性,是理解 DSH 与其它 Agent 框架本质区别的关键一步。

第6章 工具即插件

DSH 本地包 package.json(dsh-tool-* 系列 20+ 个);官方开发者预览版公告(2026-08-13)

工具是 Agent 的「手」。DSH 把每个工具都做成了插件,且用「沙箱」约束工具的越权风险。这一章看工具插件如何组织、如何与模型交互。

学完这一章你应该能做到

  • 列出 DSH 工具插件的主要类别
  • 解释工具描述(schema)如何被模型「看到」
  • 理解沙箱在工具体系中的安全作用
建议先读第 1 章(插件哲学)和第 5 章(循环)。

6.1 工具插件的全景

打开 DSH 的 package.json,你能看到一长串 `@deepseek-ai/dsh-tool-*` 的子包:dsh-tool-shell、dsh-tool-file(文件)、dsh-tool-web(网页)、dsh-tool-code(代码执行)……目前已经 20 多个。每个工具一个 npm 包,每个包都是一个 Cordis 插件。这就是「工具即插件」在包结构上的体现。

工具插件的职责:定义工具的 schema(参数怎么传)、实现工具的 execute(真正干活)、声明需要的依赖(比如 file 工具依赖沙箱)。模型不直接调用工具实现,而是「看到 schema → 生成 JSON 调用 → Cordis 路由到对应工具插件 → 执行 → 结果写回」。这一整条链路上,模型和实现是完全解耦的。

工具 SchemaTool Schema):描述工具「怎么调用」的结构化定义——工具名、参数名、参数类型、必填性、描述。模型靠它知道「这个工具能干嘛、参数怎么填」。schema 写得越清楚,模型越会用对。

为什么每个工具单独一个包

两个原因。第一,按需加载:用户不用装所有工具,只用自己 profile 里声明的;第二,独立版本:某个工具升级不影响其它工具。代价是依赖树变长——你 npm 装 dsh 时会看到几十个依赖包,这正是「微包 + monorepo」的生态风格。

6.2 沙箱:工具的安全边界

「沙箱」也是 DSH 的插件(官方清单里有)。它控制工具能在什么环境里执行:文件读写限定在某个目录、网络访问受限、命令执行被白名单过滤。这非常重要,因为 Agent 的本质是「模型拿到你电脑的执行权」——没有沙箱,一个 prompt injection(提示词注入)就可能让模型把文件删了。

沙箱插件与工具插件的关系是「依赖」:工具插件声明依赖沙箱服务,Cordis 保证沙箱先启动,工具才能在沙箱里执行。这就是第 2 章「依赖倒置」的实际应用——工具不直接操作文件系统,而是调用沙箱服务接口。

存疑点

官方对沙箱的「隔离强度」描述不多——它到底是操作系统级隔离(容器/VM)还是进程内模拟(chroot 式)?这决定了安全上限。我的推断:v0.1 阶段很可能是「进程级限制 + 目录白名单」为主的轻量隔离,真正的系统级隔离依赖后续插件。这属于安全敏感点,建议关注官方后续说明。(这是我的理解)

6.3 图解:工具调用链路

图解 6-1:一次工具调用的完整链路交互
模型 生成 JSON 调用 工具 Schema 参数校验 执行沙箱 受限环境 结果写回 进会话日志

模型生成调用 → schema 校验 → 沙箱执行 → 结果写回 → 结果再进模型(虚线)。点击方块看详情。

一句话记住:工具=插件(一个工具一个包),通过 Schema 暴露给模型、在沙箱里执行、结果写回循环。安全边界由沙箱插件提供,依赖关系由 Cordis 管理。
L1 · 直接应用工具即插件

为什么 DSH 把每个工具做成独立的 npm 包/插件?两个主要理由是什么?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果一个工具被频繁调用,独立成包会不会有性能问题?
L2 · 变形迁移工具 Schema

工具 Schema 为什么能决定模型调用的成功率?如果 schema 描述写得含糊(比如参数说明缺了单位),会发生什么?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果工具 Schema 描述了「可删除任意文件」,但沙箱只允许删除临时目录,会发生什么?这暴露了谁的责任边界?
L3 · 构造反例沙箱安全

构造一个场景:沙箱配置正确(文件只读目录 A),但 Agent 仍然可以拿到 A 之外的数据。请指出可能泄漏的路径(至少两条),并说明插件体系如何堵。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果沙箱是「按目录隔离」,但工具本身支持「读任意路径参数」且没校验,谁会背锅?
我能说出工具独立成包的两个理由
我能解释 Schema 与模型调用成功率的关系
我能分析沙箱的泄漏路径与边界

答辩:如果我是审稿人

工具独立成包,依赖树大了,安装慢。而且工具间如果有共享逻辑(比如都要做 JSON 解析),是不是重复代码?你怎么解释 monorepo 的价值?

参考防守

防守要点:第一,安装慢是可控的——npm 有缓存、有 tree-shaking(虽然有限),真正运行只加载 profile 引用的包;第二,共享逻辑放公共包(如 dsh-core)复用,不是每个工具复制;第三,monorepo 的价值在于「接口一起演进」——工具 A 升级 Schema,依赖它的工具 B 在同一仓库同步更新,不会出现版本漂移。用户侧真正痛的是「首次 npm 装 dsh 要下 530 个包」,这可以接受,因为装一次管很久。

本章自测

以下题目由系统自动判分,答题记录接入间隔重复算法。

本章小结

工具在 DSH 里是独立插件,通过 Schema 暴露给模型,在沙箱内执行。工具与模型解耦、工具与实现解耦(通过服务接口)、工具与执行环境隔离(通过沙箱),这三层解耦就是「工具即插件」的安全与灵活来源。

第7章 会话与轨迹日志

官方开发者预览版公告(2026-08-13):append-only 会话日志、Trajectory 视图;新浪财经·华尔街见闻转载全文(2026-08-13)

DSH 把「模型看到的一切」都写进一份只能追加的日志。为什么是追加?这份日志能干嘛?这一章拆解这条「不会说谎的轨迹」。

学完这一章你应该能做到

  • 解释 append-only 日志的真实含义
  • 列出会话日志记录的内容类别
  • 说明 Trajectory 视图、恢复、分叉、检索、回放为什么共享同一事件流
建议先读第 5 章(Agent 循环)理解事件从哪来。

7.1 append-only:一条不会说谎的轨迹

传统 Agent 平台保存的是「对话历史」——一般就是一串 user/assistant 消息。DSH 的会话日志(session log)不只记录对话,它记录「模型在整个会话期间看到的一切」:系统提示词、思维链、工具调用与结果、子 Agent 的调度、上下文注入的事件。更重要的是,它是 append-only(仅追加)——只能往里写,不能改、不能删。

为什么是 append-only?因为可审计性。一旦允许改,就没有人能信任日志。一个 LLM 在「改完一段历史后」说「我刚才没说过 X」,你信还是不信?append-only 直接消除了这种争议空间——日志就是事实,谁也别想改。

Append-onlyAppend-only):日志的写入模式。只能追加新条目,不能改老条目、不能删条目。区块链的核心结构、git 的不可变 commit 历史、会计的账本,都是 append-only 思想的实例。

为什么 append-only 在 Agent 场景特别重要

因为 Agent 有「幻觉」。模型可能会「声称」它刚才做过 A,而你记忆里它其实做过 B。如果没有 append-only,平台可以、模型也可能间接修改日志,最后没人能澄清。append-only 的意思就是「你说过的、做过的、看到过的,我都记着,改不了」——这是 LLM 时代的基础信任机制。

7.2 这份日志里有什么

按官方公告描述,会话日志记录以下内容(第 5 章讲过这些是「上下文」的来源,这里更细):

  • 系统提示词(按时间变化的部分)
  • 模型的思维链(CoT,包括未展示给用户的推理步骤)
  • 工具调用:工具名、参数、执行结果、执行时长
  • 子 Agent 调度:谁创建了谁、传了什么、回收了什么
  • 上下文注入:哪条记忆被注入了哪一段、被检索出来的依据
  • 压缩(compaction)动作:哪一段被裁了、裁之前是什么

这些都被打上时间戳,按时间顺序追加。所以叫轨迹(trajectory)——你能看到 Agent 从开始到现在的每一步动态。

7.3 Trajectory 视图:按来源看日志

Trajectory(轨迹)视图是官方在 DSH 里提供的一个工具:把日志按「来源」(source)分类展示。你想看「模型说了什么」就过滤模型来源;想看「工具执行了什么」就过滤工具来源;想看「子 Agent 干了什么」就过滤调度来源。同一个事件流,换过滤视角就有不同解读。

这正是日志多维化的体现:它不是单一叙事,而是「同一时间线的多视角投影」。

打个比方:航班黑匣子

会话日志像飞机黑匣子——所有传感器数据按时间追加,事后可以按「引擎」「飞控」「通讯」过滤分析。这个比方哪里不灵:黑匣子保存是为了事后追责,DSH 日志的更主要用途是「事中分叉」——你能从某个时间点分出一个新会话,让它走不同分支。

7.4 恢复、分叉、检索、回放:四个动作,一个事件流

官方说「恢复(resume)、分叉(fork)、检索(search)、回放(replay)共享同一事件流」。这句话信息量很大,拆解一下:

  • 恢复:会话崩了重启,从日志重放到中断点。
  • 分叉:从日志的某个时间点,复制一份继续往下,分出新的分支会话。
  • 检索:从历史日志里按关键词或语义找到某个事件。
  • 回放:把日志按时间重新执行一遍,看 Agent 是怎么走过来的。

这四个操作不需要四种数据结构——它们都是对 append-only 日志的不同「读法」。这就是「共享同一事件流」的含义。这是对第 2 章 Cordis「分叉(fork)」特性在 DSH 层面的延展。

7.5 实验室:append-only 分叉模拟

实验室 7-1:append-only 日志分叉可视化可运行

主会话有 6 个事件。在事件 3 处分叉,看两条线如何各自发展。

点击「在第 3 个事件分叉」查看
说明:本实验室是 append-only 日志分叉的简化可视化,演示「分叉后两条线独立追加、原线不可变」这件事。能证明:分叉不影响原日志。不能证明:实际 DSH 日志的存储格式、索引结构、检索效率。
一句话记住:会话日志是 append-only 的事件流,记录模型看到和做过的一切。恢复、分叉、检索、回放都是它的不同读法——分叉不改原日志,这是 Agent 可审计性和可演化性的地基。
L1 · 直接应用append-only

什么是 append-only 日志?为什么 DSH 选这种模式来存会话?至少给出两个理由。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果允许「软删」(标记为已删但保留物理记录),还符合 append-only 原则吗?
L2 · 变形迁移分叉语义

分叉(fork)和恢复(resume)都用同一事件流,但它们做的事不一样。说明两者的本质区别。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果分叉出的新会话又再次分叉,原会话的日志空间会膨胀吗?怎么治理?
L4 · 多概念综合幻觉与审计

LLM 有幻觉。假设一个用户投诉:Agent 声称它「5 分钟前做过 X」,但用户印象里 Agent 做的是 Y。结合 append-only 日志的四个动作(恢复/分叉/检索/回放),设计一套排查流程,帮助客服判断真相。说明:日志里的什么内容能证实/否定 Agent 的说法。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果日志显示「模型说做过 X」,但工具执行结果显示「工具实际做了 Y」(模型推理错误),算谁的错?
我能解释 append-only 的含义和它对可审计性的贡献
我能列出会话日志记录的内容类别
我能区分恢复与分叉的本质差别

答辩:如果我是审稿人

append-only 听起来好,但日志会无限增长。一个用了一年的 Agent,日志可能几十 GB。这不就是把「内存炸」的问题换成「磁盘炸」?

参考防守

防守要点:第一,append-only 不等于「不能归档」——旧日志可以压缩或转冷存储,只要保证「记录内的追加部分」逻辑完整;第二,compaction 插件就是干这个的,它可以处理「哪些可以安全归档、哪些必须热留」;第三,检索可以走索引,全量遍历只在回放时需要,频率不高;第四,相比「记录可能丢失或被改」,磁盘成本是可接受的代价。但承认:长期治理策略(保留多少、谁付费)官方没说透,这是存疑点。

本章自测

以下题目由系统自动判分,答题记录接入间隔重复算法。

本章小结

DSH 的会话日志是 append-only 的事件流,覆盖系统提示词、思维链、工具调用、子 Agent 调度、上下文注入、压缩动作。Trajectory 视图按来源过滤。恢复、分叉、检索、回放共享同一事件流——本质上都是读同一份不可变日志的不同方式。这是 LLM 时代可审计性的基础设施。

第8章 与 Claude Code 的对比

界面新闻(2026-08-14)「开放工坊 vs 精致商业产品」对比;21 世纪经济报道(2026-08-14)

Claude Code 是当前最成熟的「模型+工具」Agent 产品。把 DSH 放在它旁边,能看清两者的路线差异——一个开放,一个精致。

学完这一章你应该能做到

  • 列出 DSH 与 Claude Code 在「模型绑定」上的差异
  • 解释「开放工坊 vs 精致商业产品」的含义
  • 判断自己的场景应该选谁
建议先读第 1 章和第 5 章。

8.1 模型绑定:本质分歧

Claude Code 绑定 Claude 模型。它本质是 Anthropic 为了「让 Claude 更好用」做的工具,模型是中心,工具是配套。DSH 反过来:模型只是众多插件之一,理论上 Claude、GPT、本地 Llama 都能挂。这叫 model-agnostic(模型无关)

这不只是技术差异,更是商业差异。Claude Code 的目标是「让 Claude 卖得更多」——工具越好,用户越依赖 Claude 模型,Anthropic 越赚钱。DSH 把模型解耦,等于把「模型议价权」还给用户:模型 A 涨价了,你换模型 B,整套工具链不用变。

为什么这是关键差异

因为模型价格在快速变化(DSH 自己发布同期就有 API 涨价)。绑定单一模型的产品,用户的成本被锁定。模型无关的产品,用户可以「用脚投票」。在「模型军备竞赛」阶段,模型无关=长期议价权。

8.2 开放工坊 vs 精致商业产品

界面新闻的概括很贴切:Claude Code 是「精致商业产品」——开箱即用、打磨精良、体验流畅。DSH 是「开放工坊」——给你零件和工位,自己焊。两者面向的是不同用户群。

维度Claude CodeDSH
开箱体验精致流畅毛坯,需自行配置
模型绑定 Claude模型无关(插件)
扩展性受官方扩展点限制插件可任意组合
开源部分开源MIT 全开
用户群所有用户开发者/技术团队
社区官方生态强势依赖 Cordis 社区起步
对比的局限

这个表是「路线差异」而非「优劣差异」。Claude Code 在「精致」上做到了极致——不代表它不能在未来走向开放;DSH 在「开放」上做了选择——不代表它将来不会打磨体验。v0.1 的对比只反映当下,要持续观察。

8.3 哪个适合你

这不是「谁更好」,是「谁是你的工具」。选 Claude Code 如果:你是个人开发者/终端用户,想立刻上手、不在意模型绑定、希望体验最丝滑。选 DSH 如果:你是企业/团队,要控制模型成本或合规要求(必须用本地模型)、要深度定制工具组合、能接受配置复杂度。

另一个角度:选 Claude Code 如果你信任 Anthropic 的演进节奏;选 DSH 如果你相信 Cordis 社区 + 自家能力能把这个框架养大。后者风险更高、回报也更高。

一句话记住:DSH = 模型无关 + 开放可组合 + 毛坯起步;Claude Code = 模型绑定 + 精致产品 + 开箱即用。本质是路线选择,不是绝对优劣。
L1 · 直接应用模型绑定

Claude Code 与 DSH 在「模型绑定」上有什么本质差异?这种差异在商业上意味着什么?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果 Anthropic 把 Claude Code 拆出来支持第三方模型,DSH 的优势还在吗?
L2 · 变形迁移开放 vs 精致

「开放工坊」和「精致商业产品」是路线选择。请举例:什么类型的团队适合 DSH 不适合 Claude Code?什么类型反之?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果某团队既要「开放」又要「精致」,有没有折中方案?
L3 · 构造反例生态对比

构造一个反例:在什么条件下,DSH 的「开放」反而不是优势,而 Claude Code 的「绑定」是优点?给出理由。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果 Claude 模型本身的能力持续领先,「模型无关」反而让 DSH 用户用次等模型,开放的意义还在吗?
我能说出 DSH 与 Claude Code 的模型绑定差异与商业含义
我能用「开放工坊 vs 精致商业产品」框架判断自己的场景
我能构造「开放反而劣于绑定」的反例场景

答辩:如果我是审稿人

你把「模型无关」列为 DSH 的优势。但 Agent 的真正价值在「工具+模型协同调优」,单个厂商对自己模型调得最好——模型无关=「通用适配」=「次优适配」。你怎么辩护?

参考防守

防守要点:第一,「最优适配」的优势是真实的,但只对当前最强模型成立;模型迭代后绑定方的优势可能被新模型反超,模型无关让用户不被「押错宝」;第二,Cordis 的插件体系允许同一模型有自己的「定制插件」,所以「模型无关」不排斥「单模型最优」,反而允许共存;第三,企业最害怕的是「被锁」,通用适配等于「可替换保底」。承认:能力上限上,绑定方通常会更高,但长期看议价权在用户手里更重要。

本章自测

以下题目由系统自动判分,答题记录接入间隔重复算法。

本章小结

DSH 与 Claude Code 的对比,本质是「开放工坊 vs 精致商业产品」。模型无关 vs 模型绑定是核心分歧,背后是用户议价权之争。两者各有适用群体,没有绝对优劣。选择取决于你的团队属性、模型成本敏感度和长期策略。

第9章 模型无关:趋势还是口号

界面新闻(2026-08-14):Model-agnostic 趋势分析;21 世纪经济报道(2026-08-14);Pi-Agent 对比

「模型无关」被多家媒体称为行业趋势。但它是真趋势还是营销口号?这一章拆开来评估。

学完这一章你应该能做到

  • 给出「模型无关」的精确定义
  • 列出支撑「趋势论」和反对「趋势论」的各三个论据
  • 判断 DSH 的「模型无关」是真承诺还是依赖生态
建议先读第 1 章和第 8 章。

9.1 定义:什么样的「无关」才算数

「模型无关」不是「能跑任何模型」这么宽泛。真正的模型无关需要三个条件:

  1. 接口统一:所有模型走同一套「对话+工具+工具结果」的接口,不依赖任何厂商专有特性。
  2. 配置切换:换模型=改配置,不需要改代码或重写工具。
  3. 能力无损:切换后 Agent 仍能有可用能力(不要求能力相同,但要求「能用」)。

第三个条件最难。一个模型有「视觉理解」而另一个没有,工具调用格式一个遵循标准 JSON schema、另一个用自定义格式——这时候「无关」就只是「理论装得上」,不是真的能替换。所以模型无关是有光谱的,不是 0 或 1。

Model-agnosticModel-agnostic):系统能容纳多种模型,切换成本由配置承担而非代码承担,且切换后保持可用能力上限。这是渐变量,不是二值量。

9.2 趋势论:支持的三条论据

界面新闻说「Model-agnostic 是行业趋势」,有几条支撑论据:

  • 模型在快速迭代:今天最好的模型半年后可能被超过。绑定=押宝;无关=可换。
  • 开源权重繁荣:Llama、Qwen 等开源权重让用户可以本地部署,天然倾向模型无关。
  • 价格竞争:API 持续降价,用户乐见多家竞价,模型无关让用户切换灵活。
为什么这是趋势而非技术偏好

因为「议价权」是硬需求。企业最怕被锁,每个 CIO 都在算「换供应商的代价」。模型无关把代价压到「改一行配置」,这是实打实的商业价值。

9.3 反对论:也可能只是口号

但也有三条相反论据:

  • 差异化能力:每个模型都有自己的「独家特性」(多模态、长上下文、function calling 格式),统一接口=削足适履。
  • 协同调优:厂商自己能把工具和自己的模型调到最优,无关框架只能做通用适配。
  • 成本结构:模型无关要支持多种模型=更多适配代码=更重框架,对单一厂商反而更贵。

所以最严格说法是:模型无关是有上限的好处,不是无条件的优点。适用群体明确:需要多模型/控成本/防锁定的用户;不适合:追求当前最强单一模型体验的用户。

存疑点

DSH 宣称模型无关,但实际能不能无损切换各种模型(尤其是非主流模型、本地模型),取决于有没有对应的「模型插件」。生态不成熟时,「无关」可能只是「技术上可挂」而非「实际可用」。这是 v0.1 阶段的真实风险。

9.4 DSH 的「模型无关」能不能成立

我的评估:能成立,但需要生态。DSH 本身只承诺「模型也是插件」,具体可用与否看插件的成熟度——DeepSeek 自家模型肯定有旗舰支持;Claude、GPT 应该会跟进;但一些小众模型/本地模型能不能用,看社区贡献。这是「能力上限」问题,不是「架构不可能」问题。

Pi-Agent 把自己定位「极简 Agent 底座」,也走模型无关路线,说明至少有共识:「这个方向值得做」。但 Pi-Agent 偏极简、DSH 偏插件化,「无关」的实现路径不同——一个靠减少接口实现统一,一个靠插件实现可挂。哪条路终将胜出,要看生态怎么演进。

一句话记住:模型无关是有光谱的属性,渐变量不是二值。它对「需要多模型、控成本、防锁定」的用户是真趋势,对「追求单一最强模型」的用户反而是次优。DSH 的模型无关成立,但强弱取决于生态成熟度。
L1 · 直接应用定义

写出「模型无关」的三个条件,并说明为什么第三个(能力无损)最难。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果某模型有「原生多模态」而接口标准只支持文本,「模型无关」会不会被牺牲?
L2 · 变形迁移光谱

「模型无关是渐变量而非二值」。请给出三个产品案例,分别处于「完全绑定」「半无关」「完全无关」位置,并说明它们各处于光谱何处。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:把 LangChain 也按这个光谱定位,它在哪?
L4 · 多概念综合承诺 vs 生态

DSH 「承诺」模型无关,但「实际可用」依赖生态。请分析:在 v0.1 阶段,DSH 应该用什么策略让「模型无关」从架构承诺变成现实能力?给出至少 3 个具体行动,并解释每个行动解决什么问题。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果官方不做生态(只开源不管插件市场),DSH 还能做到「实际无关」吗?
我能给出模型无关的三个条件
我能区分「架构承诺」与「生态可用」
我能给出三个让承诺转现实的策略

答辩:如果我是审稿人

你说模型无关「是渐变量」。但「渐变量」意味着用户要承担适配成本。用户为什么要为框架的「未竟之事」付钱付时间?

参考防守

防守要点:第一,渐变量意味着「程度可调」,而不是「未竟之事」。Cordis 的接口定义让最小适配成本降到「实现一个 interface」,这是可接受代价;第二,用户付费买的不是「框架的完整」,是「框架的开放空间」——这个空间让用户长期自主,等于把适配成本用「未来灵活性」偿还;第三,模型无关让用户可以选择「适配一两个核心模型」,不是必须适配所有,可控范围。承认:v0.1 缺文档,有适配成本,但这是阶段性问题不是结构性问题。

本章自测

以下题目由系统自动判分,答题记录接入间隔重复算法。

本章小结

模型无关是渐变量,定义需要三个条件(接口统一、配置切换、能力无损,第三个最难)。趋势论有支撑但也有反对论据。DSH 的模型无关在架构层面成立,但实际可用看生态。Pi-Agent 等也走这条路,说明方向有共识,实现路径有差异。

第10章 上手安装与第一个 Agent

DSH 本地包(npm 安装 @deepseek-ai/dsh v0.1.0-rc.6);新浪官方公告 npx 命令;本地 Node.js v20.18.0 兼容性测试

理论讲完,该动手了。这一章带你装 DSH、跑第一个 Agent,并指出真正的环境坑。

学完这一章你应该能做到

  • 用 npm 或 npx 安装并启动 DSH
  • 说出 Node 版本要求和兼容性风险
  • 跑通 `dsh web` 并发一句话
需要一台能装 Node.js 的机器。建议先读第 3、4 章理解配置和模式。

10.1 安装:两条路

官方给了两种安装方式。第一种是 npx 临时运行,不用装,直接 `npx @deepseek-ai/dsh` 起服务——适合快速体验;第二种是 全局安装,`npm install -g @deepseek-ai/dsh`,把 dsh 当命令用,适合长期使用。

本机实测装的是 v0.1.0-rc.6(2026-08-13 当天的 npm 包),总共拉了 530 个依赖包——其中 90 多个是 @deepseek-ai 子包。安装目录:`C:\Users\78430\AppData\Roaming\npm\node_modules\@deepseek-ai\dsh\`,里面能看到 lib/bin.js(CLI 入口)、package.json(依赖清单)、README.md 等文件。

环境坑:Node.js 版本

DSH 要求 Node.js >= 22.12。本机实际是 v20.18.0(旧版),安装时 npm 抛了 EBADENGINE 警告——但能安装、能跑。这是一个明确的兼容性风险:未来某个版本可能用到 Node 22+ 才有的特性(比如更新的 fetch API),那时 Node 20 就跑不动了。建议升级到 Node 22.12+ 再长期用。

10.2 跑第一个 Agent:dsh web 三步

装好之后,三步走起来:

  1. 设 API Key:DSH 默认用 DeepSeek 模型,需要 DeepSeek API Key(在 DeepSeek 平台拿)。把它写进 $DSH_HOME/cordis.patch.yml(第 3 章讲过的用户配置层),或者用 --patch 临时传。
  2. 启动:`dsh web`(即 `dsh --profile web`)。终端会提示监听端口(通常 localhost:xxxx)。
  3. 打开浏览器:访问提示的地址,看到「毛坯房」界面(对话框+历史记录),发第一句话。

能不能立刻干活?取决于 profile 默认加了什么工具。web profile 应该至少有 shell + 文件工具。让 Agent 帮你 `ls` 一下当前目录——如果它做得到,说明工具链通了。

10.3 第一次实验:--dump-config 自检

新手最容易踩的坑是「以为改了配置但没生效」。这时候用 `dsh --profile web --dump-config` 把最终合并树打出来——你想要的那个值,在树里是不是你期望的值?是 = 生效。不是 = 哪一层覆盖了,逐层排查。

这是个值得养成习惯的动作:改完配置 → dump-config 验证 → 跑 Agent。三步缺一不可。DSH 的「毛坯」也体现在这里:它不自动帮你校验,要你自己用工具查。

10.4 图解:dsh CLI 参数全景

图解 10-1:dsh 命令常用参数交互
--profile web/headless/tui --patch <file> --dump-config dsh web(profile 别名) dsh plugin --profile <name> <args> dsh <其他子命令> 选运行形态 在 profile 环境里装插件 临时最高优先级覆盖

点击各模块看说明。--profile 和 --patch 可以组合用。

一句话记住:安装 = npm i -g @deepseek-ai/dsh(或 npx 临时跑);要求 Node >= 22.12(v20 能装但有警告);启动 = `dsh web`;自检 = `--dump-config`。
L1 · 直接应用安装

DSH 的两种安装方式分别是什么?各自适合什么场景?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果用户访问 npm 失败(在中国大陆),有没有 fallback 安装方式?
L2 · 变形迁移配置自检

改完配置后「不生效」是 DSH 的常见坑。请说明:用 --dump-config 应该怎么排查?给出三步操作。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果 dump-config 显示值正确,但 Agent 行为还是老样子,下一站查哪?
L3 · 构造反例版本兼容

DSH 要求 Node >= 22.12,但本机 v20.18.0 也能装能跑。请分析:为什么 npm 给了警告但不阻止安装?这种「能装能用」的兼容性风险会在什么时刻爆发?怎么防范?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果你是企业 IT,员工都装了 v20,升级 Node 全公司是个工程,你会怎么决策?
我能用 npm/npx 安装并启动 dsh
我能用 --dump-config 排查配置问题
我能说出 Node 版本兼容性风险及防范方法

答辩:如果我是审稿人

你强调 Node 22.12+,但企业环境普遍 Node 18/20。这个兼容性是不是劝退很多企业用户?官方应该怎么做?

参考防守

防守要点:第一,Node 升级不是 DSH 独有问题,是整个 JS 生态的演进压力——Node 18 已 EOL,Node 20 也快了。DSH 跟上是合理选择,不是它自找麻烦;第二,对于企业,可以用 Docker 镜像固定 Node 22+,避免动宿主;第三,官方可以做的事:提供 Docker 镜像、提供独立二进制(pkg 打包)、提供详细的升级指南。但承认:v0.1 只管 npm,对企业的友好度确实不够。

本章自测

以下题目由系统自动判分,答题记录接入间隔重复算法。

本章小结

安装 DSH 用 npm 或 npx,Node 需 >= 22.12(v20 能装但有兼容风险)。启动 `dsh web`,设 API Key,发第一句话。改完配置用 `--dump-config` 自检。学会这几招,你就能在本地玩转 DSH 了。剩下的就是把第 3-7 章的机制映射到你自己的实战中。

第11章 社区反应与生态初探

21世纪经济报道、新浪财经/华尔街见闻、界面新闻、腾讯云社区、新浪快科技等公开报道;GitHub deepseek-ai/deepseek-harness Issues 与 Discussions(2026-08-13~15)

一个产品发布后,开发者怎么说往往比官方文档更真实。这一章梳理 DSH 发布 48 小时内的社区反应,看看赞美、吐槽和观望分别指向什么。

学完这一章你应该能做到

  • 说出社区对 DSH 的三个主要正面评价和三个主要批评
  • 理解「毛坯房」和「乐高积木」这两个比喻各自指向什么
  • 评估 DSH 与 Claude Code 在生态层面的本质差异
建议先读第 1、8、9 章(插件哲学 + Claude Code 对比 + 模型无关)。

11.1 正面反应:「Agent 领域的 Linux?」

DSH 发布后,社区最热的比喻是「可能成为 Agent 领域的 Linux」。这个说法的逻辑链条是这样的:Linux 不限定你用什么 GUI、什么桌面环境、什么包管理器——它只提供内核和模块化接口;同样,DSH 不限定你用什么模型、什么 UI、什么工具——它只提供 Agent 内核和插件接口。两者都把「选择权」交还给用户。

但是,这个类比有一个容易被忽略的断裂点。Linux 之所以成功,不是因为它「模块化」,而是因为它有足够多的模块供选择——GNU 工具链、X11 窗口系统、apt 和 rpm 包管理、各种发行版。如果 Linux 只有一个内核、没有模块,它和 BSD 没区别。同理,DSH 能不能成为「Agent 领域的 Linux」,取决于它的生态能不能长出足够多的插件,而不取决于它的架构设计有多优雅。

为什么开发者兴奋

深层原因是「控制权回归」。用 Claude Code 时,你遇到的天花板是 Anthropic 的产品决策——它不开放某一层,你就改不了。DSH 把每一层都打开,开发者第一次觉得「Agent 是我的」。这种心理满足感比技术特性更能驱动早期口碑传播。

11.2 「毛坯房」与「乐高积木」:同一个产品的两种体验

有趣的是,同一些人既说它是「毛坯房」又说它是「乐高积木」。这不是自相矛盾——两个比喻指向 DSH 的不同面向。

「毛坯房」指向的是开箱体验:装完之后没有漂亮的界面、没有预设的模型、没有一键上手向导。你需要自己配 API Key、自己选模型、自己理解配置层叠。对于习惯了 Claude Code 「装完就用」体验的开发者来说,DSH 的第一印象确实像走进了没有装修的房间。

「乐高积木」指向的是上限体验:一旦你理解了插件机制,就能拼出各种组合——换模型、换工具、换 UI、换沙箱策略。这种自由度给人「创造工具的乐趣」,像玩乐高一样。

这两个比喻合在一起揭示了 DSH 的产品定位:建设工具而非成品工具。它不想成为「最好的 Agent 产品」,而是想成为「让你造最好的 Agent 产品的那套工具」。这个定位决定了它的早期用户画像是「愿意折腾的开发者」,而不是「想快速解决问题的用户」。

一句话记住:「毛坯房」和「乐高积木」不矛盾——前者说开箱门槛,后者说组合自由度。DSH 是建设工具不是成品工具。

11.3 主要批评:门槛、文档与稳定性的三重质疑

社区的批评集中在三个方面:

  1. 上手门槛高:配置层叠五层、profile 是什么、模型怎么配——这些概念对没有 Koishi/Cordis 经验的开发者完全不透明。有用户在 GitHub Issue 里直言「文档像写给已经会的人看的」。这是 v0.1 的真实代价:架构太灵活,文档来不及把所有路径讲清楚。
  2. 文档不足:README 覆盖安装和基本启动,但「怎么自己写一个插件」「profile 的 cordis.patch.yml 到底写什么」这些关键问题没有系统文档。官方在公告里说会逐步补齐,但 v0.1 阶段开发者只能靠读源码来理解。
  3. 稳定性未知:开发者预览版意味着 API 可能随时改、插件接口可能不兼容、可能有未发现的 bug。对想认真基于 DSH 做产品的团队来说,「v0.1」这个标签是最大的劝退信号。

这些批评不是否定,而是「先决条件缺失」——架构有潜力,但支撑架构的基础设施(文档、示例、社区模板)还没有跟上。DeepSeek 团队接下来的关键工作不是加功能,而是补文档和养示范项目。

一个需要警惕的信号

有用户反馈安装时遇到 Node 版本不兼容、依赖包之间的冲突等问题。这些不是「版本号问题」,而是 v0.1 发布的生态成熟度不足。如果连续几个版本的反馈都是「装不上」或「跑不起来」,口碑会迅速滑向「概念很美好但不可用」。

11.4 生态对比:开放工坊 vs 精致商业产品

社区的讨论往往绕回 DSH 和 Claude Code 的对比。我在第 8 章讲过技术层的差异,这里从生态维度来看:

生态维度的对比
维度 DSH Claude Code
许可证 MIT 开源 专有(服务化)
初期用户 愿意折腾的开发者 想快速解决问题的用户
扩展方式 插件市场(社区驱动) 官方扩展(受控)
天花板 生态决定上限 Anthropic 决定上限
天花板类型 不确定(取决于生态) 确定(取决于公司决策)

这张表最关键的行是最后一行。Claude Code 的天花板是确定的——你知道 Anthropic 的产品哲学和商业策略,就能预测它不会开放哪些东西。DSH 的天花板是不确定的——它可能变强(如果生态爆发),也可能变弱(如果 DeepSeek 团队失去投入动力或社区没跟上)。「不确定」对保守的企业用户是风险,对乐观的开发者是机会。

11.5 黑色鲸鱼的信号

一个小的但值得注意的细节:DSH 的标志是黑色鲸鱼,和 DeepSeek 模型产品的蓝色鲸鱼做了区分。这不是随意配色——它在视觉上宣告「DSH 和模型是不同的产品线」。模型解决「大脑够不够强」的问题,Harness 解决「大脑怎么和手脚配合」的问题。这种区分暗示 DeepSeek 内部对 Agent 和 Model 的定位是分开的。

从商业角度看,黑色鲸鱼还有一个功能:降低模型绑定的预期。如果标志还是蓝色鲸鱼,用户会默认「这是 DeepSeek 模型的配套工具」。换成黑色,用户更容易把它当作一个独立平台来看待——这对吸引非 DeepSeek 模型用户进生态有帮助。

一句话记住:黑色鲸鱼不是配色选择,是产品定位信号——DSH 是独立平台,不是 DeepSeek 模型的附属工具。
L2 · 变形迁移社区评价

有人说 DSH 是「毛坯房」也有人说是「乐高积木」。这两个比喻矛盾吗?它们分别指向 DSH 的什么面向?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果是产品经理评价 DSH,TA 更可能用哪个比喻?为什么?
L3 · 机制分析生态差异

为什么说 DSH 的天花板是「不确定的」而 Claude Code 的天花板是「确定的」?这种差异对什么类型的用户是优势,对什么类型是劣势?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果 DSH 生态爆发但文档始终跟不上,谁受益谁受损?
L4 · 多概念综合Agent Linux 类比

「DSH 可能成为 Agent 领域的 Linux」这个类比在什么层面成立,在什么层面不成立?请分别用 Linux 的一个成功因素和一个失败因素来论证。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果 DSH 成为「Linux」,谁是它的 GNU?谁是它的 RedHat?
我能说出社区对 DSH 的主要正面评价和批评
我能解释「毛坯房」与「乐高积木」两个比喻不矛盾的原因
我能分析 DSH 与 Claude Code 在生态天花板上的本质差异

答辩:如果我是审稿人

你说「Agent 领域的 Linux」类比的关键在于生态,但 Linux 的生态是 30 年长出来的。DSH 凭什么让开发者愿意花时间为它写插件?

参考防守

防守要点:第一,Linux 早期生态也不是 30 年才有的——Linus 发布后 3 年就有了 Slackware 和 RedHat。关键是第一批拓荒者有没有动力。DSH 的动力来源是「控制权回归」——开发者第一次能完全控制 Agent 的每一层。第二,DeepSeek 自身有模型能力背书,不是纯壳项目,降低了「项目可能跑路」的风险。第三,MIT 许可证让插件作者不怕法律纠纷。但承认:如果前 6 个月没有 3-5 个标杆插件出现,生态就很难起飞。

本章自测

以下题目由系统自动判分,答题记录接入间隔重复算法。

本章小结

社区对 DSH 的反应是正面与批评并存。「Agent 领域的 Linux」这个类比在架构哲学上成立,但不成立的部分是生态还远未长成。「毛坯房」和「乐高积木」不矛盾——一个说门槛,一个说自由度。主要批评集中在门槛高、文档不足、稳定性未知三方面。与 Claude Code 的生态差异本质在于天花板类型:一个不确定(看生态),一个确定(看公司)。DSH 的成败不只取决于架构,更取决于能否在前 6 个月长出足够的插件生态。

第12章 局限与存疑点

DSH v0.1 本地实测(@deepseek-ai/dsh v0.1.0-rc.6);GitHub Issues;官方公告局限声明;与 Claude Code 公开文档对比

前 11 章我讲了 DSH 的设计理念和优势。这一章专门挑刺——每一个架构决策都有代价,搞清楚代价才能判断它适不适合你。

学完这一章你应该能做到

  • 说出 DSH 在 v0.1 阶段的三个核心局限
  • 解释插件化架构的「灵活性税」具体是什么
  • 判断 DSH 当前适合什么场景、不适合什么场景
建议先读第 1-7 章,理解 DSH 的核心机制。

12.1 文档缺口:架构太灵活,文档追不上

DSH 最直接的局限是文档。这不是小问题——因为架构太灵活(一切皆插件),「怎么用」的路径空间是指数级增长的。文档需要覆盖的不是「一条主路径」,而是「N 条路径的组合」。v0.1 阶段文档主要集中在安装和基本启动,对以下关键问题尚未覆盖:

  • 怎么从零写一个插件(需要理解 Cordis 的插件注册机制)
  • profile 的 cordis.patch.yml 完整字段参考
  • 每种运行模式的内部行为差异(标准模式怎么调用工具 vs PTC 模式怎么传递参数)
  • 会话日志的完整事件 schema(用于自定义恢复/分叉逻辑)
  • 沙箱插件的配置和扩展(怎么自定义执行策略)

这些问题在 v0.1 阶段只能靠读源码解决。源码是 TypeScript,质量尚可,但「靠读源码理解」和「靠文档理解」的门槛差了一个数量级。

文档缺口的恶性循环

文档不足 → 只有硬核开发者能用 → 社区贡献的插件少 → 生态不丰富 → 吸引不到更多用户 → 文档投入动力下降。这个循环不打破,架构再好也走不远。打破的方式是官方优先投入文档和示例,而非新功能。

12.2 灵活性税:每个选择都是你的责任

「一切皆插件」听起来是优势,但每多一个插件接口,用户就多一个需要做的决策。在 Claude Code 里你不需要选模型(默认 Claude)、不需要选 UI(就是终端)、不需要选沙箱策略(官方定了)。在 DSH 里,这些全是你的事。

这不是缺陷而是设计代价。Claude Code 把决策成本替你扛了,换来的是灵活性受限。DSH 把决策权交给你,换来的是你必须有足够的判断力。具体来说:

  1. 模型选择成本:选哪个模型?DeepSeek-V3 还是别的?不同模型对不同任务的效果差异需要你自己测试。
  2. 配置调试成本:五层配置有一层写错,行为就和预期不同。排查时需要理解全部五层的交互。
  3. 插件兼容性成本:插件之间可能有隐式依赖或冲突(A 插件依赖 B 插件的某个版本,C 插件和 B 不兼容)。npm 生态的依赖地狱问题在 DSH 上同样存在。
  4. 安全审计成本:开源生态意味着任何人都能发布插件。恶意插件可以伪装成有用工具。你需要自己判断哪些插件可信。

这种「灵活性税」对个人玩家是可接受的成本,但对企业团队是实打实的工程负担。团队需要有人专门负责插件选型、配置管理、安全审计——这些岗位在用 Claude Code 时是不需要的。

一句话记住:灵活性不是免费的——「一切皆插件」意味着「一切都要你自己选」。每多一个决策点就多一份心智负担和调试成本。

12.3 性能开销:Cordis 框架的间接层

DSH 基于 Cordis 4.0.1,一个通用插件框架。这意味着每次工具调用、每次模型请求、每次会话操作,都要经过 Cordis 的插件系统间接层——注册、查找、调用、返回。这比直接硬编码的 Agent 框架多了运行时开销。

这个开销在单次交互中可以忽略(毫秒级),但在高频场景(批量处理、大规模并发)会累积。如果你要跑 1000 个并发 Agent,Cordis 的间接层可能是瓶颈之一。

不过,这个判断有一个重要的前提:我没有跑过严格的基准测试。推理依据是「通用框架通常比专用实现在高频路径上有额外开销」这个一般规律。DSH 是否真的存在性能瓶颈,需要用实际负载来测量才能下结论。我在这里只是提出存疑,不作定论。

为什么我标注「不确定」

因为 v0.1 没有公开的性能基准数据,我也没有高负载测试环境。盲目说「Cordis 一定慢」是不负责任的。但盲目说「一定没问题」同样不负责任。负责任的做法是标注存疑,等有人做实测后再修正。

12.4 安全模型:沙箱好但不是万无一失

DSH 的沙箱插件是一个重要的安全机制(第 6 章过过),但沙箱不是银弹:

  • 沙箱逃逸:任何沙箱实现都有边界。如果模型生成的代码利用了运行环境的漏洞(如通过 Node.js 的 child_process 绕过限制),沙箱可能被突破。
  • 网络隔离:沙箱默认是否阻止网络访问?如果不阻止,恶意代码可以外传数据。这取决于沙箱插件的配置,而配置又取决于用户理解了风险。
  • 文件系统范围:沙箱限制的是文件系统访问范围。如果范围配错了(比如允许访问 $HOME),敏感文件可能泄露。

这些风险不是 DSH 独有的——任何能执行代码的 Agent 都有。但 DSH 的特别在于:沙箱是插件,用户可以选择不用沙箱(为了性能或便利)。这种自由度本身就是风险——人总是倾向于「先关了安全限制跑通再说」,然后忘了开回来。

安全建议

对于生产环境,建议:(1) 始终启用沙箱插件;(2) 沙箱配置限制网络和文件系统范围;(3) 如果自建插件,审计其文件系统操作;(4) 不在生产环境运行来源不明的第三方插件。这些不是 DSH 特有建议,是所有 Agent 框架的通用安全实践。

12.5 版本风险:v0.1 意味着 API 可能随时变

官方公告和 GitHub 都明确标注了「Developer Preview」。这意味着:

  1. 插件接口可能不兼容——今天写的插件,下个版本可能要重写。
  2. 配置格式可能变——cordis.patch.yml 的字段可能会改。
  3. CLI 参数可能变——--profile、--patch 的行为可能调整。
  4. 可能有未发现的 bug——核心路径可能有潜在问题。

对于想基于 DSH 认真做产品的团队,v0.1 是一个需要谨慎对待的版本号。建议的策略是:先用它做原型验证,不要把生产系统绑在 v0.1 的 API 上。等 1.0 发布后,API 稳定了,再迁移到生产。

这是不是太保守了?不一定。Agent 框架和 Web 框架不同——Web 框架的 API 变了,顶多重写路由。Agent 框架的 API 变了,你可能要重定义你的 Agent 的行为逻辑,这比路由改动复杂得多。

一句话记住:v0.1 = 开发者预览 = API 可能随时变。用 DSH 做原型验证可以,但不要在 v0.1 上建生产系统。

12.6 适用性判断:现在该不该用

综合以上局限,我的判断是:

DSH v0.1 适用性判断矩阵
场景 适合度 理由
学习 Agent 架构原理 开源可读,每一层都透明
个人原型/Demo 验证 灵活度高,试错成本低
企业生产 Agent v0.1 稳定性不足,文档缺失
需要多模型支持的 Agent 模型无关是核心设计
需要快速上手的团队 门槛高,文档不足
高并发批量处理 存疑 Cordis 间接层开销未实测

注意,这张表是 v0.1 阶段的快照。随着文档补齐、生态成熟、版本迭代,适用性会变化。我的判断基于 2026-08-15 的信息,不保证未来仍然成立。

L2 · 变形迁移灵活性税

什么是「灵活性税」?请举一个具体场景说明 DSH 的用户需要为灵活性付出什么额外的决策或调试成本。

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果 DSH 未来加了「推荐配置模板」(默认插件组合),能不能消除灵活性税?
L3 · 机制分析版本风险

为什么我建议「用 DSH 做原型验证但不绑生产系统」?这个建议在什么条件下可能变得过于保守?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果你的团队有 5 个工程师,有 2 个愿意专门跟进 DSH 版本迁移,那是否值得绑生产?
L4 · 多概念综合适用性综合判断

一个 50 人的创业团队想用 Agent 做内部代码审查工具,预算有限,模型可用 DeepSeek 和 GPT-4o。请用本章的适用性矩阵分析:DSH 在 v0.1 阶段适不适合他们?你会给他们什么建议?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果这个团队改用 Claude Code 直接做,什么场景下 6 个月后他们会后悔?
我能说出 DSH v0.1 的三个核心局限
我能解释「灵活性税」及其具体代价
我能用适用性矩阵判断 DSH 是否适合某个场景

答辩:如果我是审稿人

你说 v0.1 不适合生产,但 DeepSeek 是大公司(有腾讯背景),它的 v0.1 可能比一般团队的 1.0 更稳定。你的保守建议是否过度?

参考防守

防守要点:第一,「公司大」不等于「产品稳定」。内部测试覆盖 != 用户场景覆盖。v0.1 的不确定性是「不知道什么场景会出问题」,而不是「已知的有问题」——后者反而好处理。第二,DeepSeek 以模型闻名,DSH 是它的第一个 Agent 框架产品,没有 Agent 框架运维积累。模型和框架的工程挑战不同。第三,我的建议不是「别用」,是「用但别绑死」——原型验证完全可以做。但承认:如果 DeepSeek 快速迭代到 1.0,且 API 做了向后兼容承诺,我的保守建议确实可以放宽。

本章自测

以下题目由系统自动判分,答题记录接入间隔重复算法。

本章小结

DSH v0.1 的核心局限是:文档缺口(架构太灵活,文档追不上路径空间)、灵活性税(每个选择都是用户的决策责任)、性能开销存疑(Cordis 间接层在高频场景可能有瓶颈,但未实测)、安全模型依赖用户自律(沙箱可关、插件来源不受控)、版本风险(API 可能随时变)。适用性判断:适合学习和个人原型,不适合生产和企业团队快速上手。这些局限是 v0.1 阶段快照,随版本迭代会变化。

第13章 未来推演与实战建议

DSH 公告、GitHub 路线图、Cordis/Koishi 生态历史、Agent 框架行业趋势(2024-2026);作者主观判断(已标注)

最后一章,我从「未来会怎样」和「你现在该干什么」两个维度给出判断。所有推演都是我的主观预测,不是官方路线图。

学完这一章你应该能做到

  • 说出 DSH 未来 6-12 个月的三个关键演进方向
  • 判断 DSH 要成功需要跨越的三个门槛
  • 制定一份「现在就能执行」的 DSH 上手计划
建议先读前 12 章,尤其是第 1、8、11、12 章。

13.1 推演一:插件市场——决定 DSH 生死的不是框架本身

我判断 DSH 未来 6 个月最关键的工作不是加功能,而是建立插件市场。原因很简单:Agent 框架的价值不是「能跑多少种模型」,而是「生态里有多少现成可用的插件」。用户不想自己写数据库查询插件、不想自己写文件搜索插件、不想自己写 Git 操作插件——他们想从市场里装一个就用。

Cordis 已经有插件市场的经验(Koishi 时期就有 marketplace),这是 DSH 的一个隐性优势——团队知道怎么做插件分发。但 Agent 插件和聊天机器人插件的需求维度不同:Agent 插件需要更多的安全审计、版本兼容、沙箱策略说明。这是一套新的工程体系,不是简单复制 Koishi 的 marketplace 就行的。

我的预测:如果 DSH 在 3 个月内上线插件市场,并在 6 个月内有 50+ 个高质量社区插件,它有机会成为 Agent 开发者的首选框架。如果 6 个月后插件市场还没起来,开发者会转向其他框架——不是因为它不好,而是因为「没有生态的框架」等同于「框架不存在」。

主观判断(请批判性看待)

这是我的推测,不是事实。插件市场的成功取决于太多因素(用户体验、审核机制、盈利模式、竞品动作),50 插件这个数字也是拍脑袋的。真实情况可能更好或更差。但有一点我比较确定:没有插件市场的 Agent 框架走不远

13.2 推演二:模型无关将变成行业标配

第 9 章我讲过「模型无关」是 DSH 的一个设计方向。我的判断是:未来 12-24 个月内,模型无关会从「某些框架的差异化特征」变成「Agent 框架的行业基本要求」。原因有三:

  1. 模型成本波动:模型定价在快速变化(降价是趋势),但也可能出现某些模型涨价或限流。不绑死一个模型是应对不确定性的策略。
  2. 能力差异化:不同模型在不同任务上表现不同(代码生成用 A、推理用 B、摘要用 C)。多模型组合比单一模型更适合复杂 Agent。
  3. 企业合规:不同企业的合规要求不同——有的只能用私有部署模型,有的可以用云端但要符合数据驻留法规。模型无关让 Agent 框架能适配多种合规场景。

如果这个推演成立,DSH 的先发优势在于:它从一开始就按模型无关设计,不像某些框架要「后期改造」。但先发优势不等于胜势——如果竞品能更快做到模型无关 + 更好体验,DSH 的架构优势会被对冲。

一句话记住:模型无关会从差异化优势变成行业基本要求。DSH 的先发优势是「一开始就做了」,但能不能守住取决于执行速度。

13.3 推演三:沙箱安全将成为关键竞争维度

Agent 能执行代码,意味着安全风险是真实的。目前各家框架的沙箱策略差异很大——有的很强(完全容器隔离),有的很弱(只限制目录访问),有的干脆没有。随着 Agent 在企业生产场景的渗透,安全审计会成为采购决策的核心因素。

DSH 的优势是沙箱是插件(可以替换、升级、定制),劣势是没有默认的最强安全配置。如果 DeepSeek 能提供一个「企业安全沙箱插件」(容器级隔离 + 网络白名单 + 操作审计 + 合规报告),这对企业采购者是一个强卖点。

我的预测:到 2027 年,Agent 框架的安全模型会成为比性能更重要的竞争维度。因为性能差异在缩小(模型进步太快),但安全事件是「一票否决」的——一次代码注入导致数据泄露,整个产品可能被禁用。

为什么安全是「一票否决」维度

因为安全的代价是「不对称」的。性能差 10%,用户忍一忍或加机器;安全出一次事,用户直接跑路。这个不对称让安全成为「下限决定型」因素——你可以因为安全好而被选中,也可以因为安全差而被否决,但不会因为安全好而胜过更强的对手。框架的方向是「把安全做到及格线以上」,而不是「用安全当卖点」。

13.4 三个门槛:DSH 要成功需要跨越什么

综合前面所有章节的分析,我认为 DSH 要从「有潜力的 v0.1」变成「主流 Agent 框架」,需要跨越三个门槛:

  1. 文档门槛:从「靠读源码理解」到「靠文档上手」。需要完整的 API 参考、插件开发指南、配置字段清单、至少 5 个端到端示例项目。时间窗口:3-4 个月。
  2. 生态门槛:从「官方插件为主」到「社区插件占据半壁江山」。需要上线插件市场、建立审核机制、种子 50+ 个高质量插件。时间窗口:6-12 个月。
  3. 信任门槛:从「开发者预览」到「团队敢放生产」。需要发布 1.0、承诺 API 向后兼容、建立安全基线、出几个标杆用户案例。时间窗口:9-12 个月。

三个门槛不是串行的——应该并行推进。但优先级是文档 > 生态 > 信任。因为没有文档,生态长不起来;没有生态,没有标杆案例;没有标杆案例,信任无从建立。

三个门槛的依赖关系
文档门槛 ──→ 生态门槛 ──→ 信任门槛
(3-4月)       (6-12月)      (9-12月)
    │              │              │
    ▼              ▼              ▼
 API参考        插件市场        1.0发布
 开发指南       审核机制        兼容承诺
 示例项目       50+插件        标杆案例
      

13.5 实战建议:现在就开始的 7 天上手计划

如果你看完前 12 章觉得 DSH 值得试试,这里是一份 7 天上手计划。它不追求让你成为专家,只追求让你「跑起来并且理解每一层在做什么」。

  1. Day 1:装 DSH(第 10 章),跑通 `dsh web`,发一句话确认整个链路通。读 README.zh.md。
  2. Day 2:跑 `--dump-config`,对照第 3 章理解五层配置。试着用 --patch 改一个配置(比如模型默认值),再 dump 确认变化。
  3. Day 3:切换 profile(web → headless → tui),体会第 4 章讲的四种模式区别。在 headless 模式下跑一次任务,观察日志输出格式。
  4. Day 4:读 lib/ 目录下的源码(重点看 bin.js 和核心 Agent 循环),对照第 5 章理解循环四阶段。不需要看懂全部,能定位「模型调用在哪」「工具调用在哪」就行。
  5. Day 5:配置一个非 DeepSeek 模型(比如本地 Ollama 或 OpenAI API),验证第 9 章讲的模型无关。体会「换模型不动框架」是什么感觉。
  6. Day 6:尝试理解会话日志格式(第 7 章)。开一个会话,发几句话,关掉重开,验证恢复功能。如果日志是 append-only,尝试找到「分叉点」。
  7. Day 7:尝试写一个最简单的自定义插件(比如一个返回当前时间的工具),挂到 Agent 上。如果跑通了,你对 DSH 的理解就超过 90% 的围观者了。

这个计划的核心思路是:每一天碰一层,七天碰完所有核心层。你不需要在第 7 天就写出复杂插件——目标只是「对每一层有手感」。有了手感,后续深入任何一层都有基础。

一句话记住:7 天计划的核心是「每天碰一层」——安装/配置/模式/循环/模型/会话/插件。不求精通,求手感。

13.6 结语:一个值得认真对待的实验

DSH 是一个不完美但值得认真对待的项目。它不完美在于 v0.1 的文档缺失、稳定性未验证、生态未建立。它值得认真对待在于:「一切皆插件」不是营销话术,而是从 Cordis/Koishi 五年实战中长出来的工程哲学,有代码和架构支撑。

我无法预测 DSH 是否会成为「Agent 领域的 Linux」。但我可以说:如果你对 Agent 架构感兴趣,不管你最终用不用 DSH,理解它的设计决策对你都有价值。因为 DSH 提出了一组清晰的命题——模型要不要绑、工具要不要固定、UI 要不要内置、安全谁说了算——这些命题是所有 Agent 框架都要回答的。DSH 给了一份答案,你可以认同或不认同,但至少你有了一个参照系。

这,就是深度精读的意义。

L2 · 变形迁移三大门槛

说出 DSH 要成为主流框架需要跨越的三个门槛,以及它们之间的依赖关系。为什么是文档优先而非生态优先?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果 DeepSeek 决定把 DSH 交给独立基金会运营,对三个门槛有什么影响?
L3 · 机制分析安全竞争维度

为什么我说安全是「一票否决」维度而非「胜出」维度?这种不对称性对 Agent 框架的产品策略意味着什么?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果一个框架在安全方面做到行业最强,它需要做什么才能把安全变成「胜出」维度?
L5 · 批判与创造综合判断

基于全书 14 章的内容,请给出你对 DSH 的综合判断:它最大的价值是什么?最大的风险是什么?如果让你给 DeepSeek 团队一条建议,你会说什么?

粘贴到外部大模型获得评分后填入:
评分标准:0-2分为不通过,3-5分为通过。分数越高,下次复习间隔越长。
变式:如果 2 年后 DSH 失败了,最可能的原因是什么?你会怎么复盘?
我能说出 DSH 未来演进的三个方向和理由
我能说出三个门槛及其依赖关系
我能制定一份可执行的 DSH 上手计划

答辩:如果我是审稿人

你的三个推演(插件市场、模型无关标配、安全竞争维度)都是「行业趋势」,不是 DSH 独有的洞察。凭什么说 DSH 有优势?

参考防守

防守要点:第一,推演本身不是说 DSH 有优势,而是在说「这些趋势来了之后 DSH 处于什么位置」。我的判断是 DSH 在「模型无关」和「架构灵活性」上有先发优势,在「插件市场」和「安全」上没有。第二,行业趋势对所有玩家是同一个考试题,但 DSH 的 Cordis 经验(Koishi 有 5 年插件生态运营)是在「插件市场运营」这门考试上有别人没有的复习资料。第三,最终优势不取决于今天谁先看到趋势,取决于谁先执行到位。承认:我的推演可能是对的,DSH 仍可能因为执行不力而输给后发者。

本章自测

以下题目由系统自动判分,答题记录接入间隔重复算法。

本章小结

未来推演三方向:插件市场(6 个月内生死线)、模型无关变标配(12-24 月趋势)、安全成关键竞争维度(2027 年预期)。三个门槛:文档 (3-4 月) → 生态 (6-12 月) → 信任 (9-12 月),文档优先。7 天上手计划:每天碰一层,安装→配置→模式→循环→模型→会话→插件。DSH 不完美但值得认真对待——它提出了所有 Agent 框架都要回答的命题,给了一份清晰答案,你可以不认同,但理解它对你判断整个领域有价值。