OPEN SOURCE DEEP DIVE
DeepSeek Harness:一切皆插件的开源 agent 运行时
DeepSeek AI 开源的 agent harness(命令行 dsh,MIT,23 万+ star)。内核只提供插件系统语义,工具、界面、模型接入全部以插件挂载;底座是 Cordis 的时空可组合性范式(arXiv:2608.25512)。当前处于 developer preview,官方明确警告会有破坏兼容性的变更,运行前须读 SAFETY.md。我们未做基准复现,这一档记为待复现。
一句话定位
DeepSeek Harness(命令行名 dsh)是 DeepSeek AI 开源的 agent harness。它的自我描述只有一句:everything is a plugin——一切皆插件。它不是一堆内置能力的集合,而是一个宿主:内核之外没有任何东西是硬编码的,工具、界面、模型接入、命令都以插件形态挂在同一个运行时上。项目采用 MIT 协议,GitHub 星标超过二十三万,目前处于 developer preview(开发者预览)阶段,官方在 README 里用大写明确警告:会有破坏兼容性的变更,运行前先读 SAFETY.md。
安装只需一条命令:npx @deepseek-ai/dsh web。它默认在 http://127.0.0.1:3080 起 Web UI 并自动打开浏览器;本地启动才开浏览器,SSH 启动只打印主机 URL,因为转发地址归 SSH 客户端或编辑器所有。传 --no-open 可以只起服务不开浏览器。从源码跑是 git clone 之后 pnpm install、pnpm run build、pnpm dsh web:build 先准备仓库产物,之后的 pnpm dsh web 直接复用这些产物,不再重复构建。
为什么「一切皆插件」是个架构选择
harness 这个词在 agent 领域指的是包住模型的那一层运行时:谁持有会话、谁派发工具调用、谁管上下文、谁决定中断与恢复。多数 harness 的做法是内核里内置一批能力(文件系统、shell、搜索、浏览器),再通过配置项开关。DeepSeek Harness 把这件事反过来做:内核只提供插件系统的语义,能力由插件提供。
这个选择的技术底座是 Cordis——项目自述说它 powered by Cordis,并把设计理念写在一篇论文里:A Programming Paradigm for Spatiotemporal Composability(arXiv:2608.25512)。标题里的两个词是关键:spatiotemporal(时空)与 composability(可组合性)。可组合性说的是插件之间能互相依赖、互相提供上下文;时空说的是这套组合在时间与空间两个维度上都要成立——时间上,插件的生命周期与异步事件的先后关系要可推理;空间上,插件的作用域要能嵌套、隔离、共享。把这两件事做成一等公民,才敢让内核空到只剩插件系统。
对使用者的实际后果是两条。第一,能力边界不取决于官方内置了什么,而取决于生态里有什么插件:项目专门给了一个 dsh-plugin 的 GitHub topic,让你把插件仓库打上这个标签以获得可发现性。第二,替换成本很低——不喜欢某个默认实现,不需要 fork 内核,写一个同接口的插件顶掉它即可。
开发形态与文档结构
文档站独立部署在 deepseek-harness.github.io,仓库里的文档分成用户与开发两侧:docs/user/guide/index.md 是 Web UI 指南,docs/development.md 是开发指南,docs/architecture.md 是架构文档。这套切分本身是「一切皆插件」的体现:用户不需要知道插件系统,开发者需要。
本地开发有一条把三件事合进一个终端的命令:pnpm run dev:web——构建、起服务、并在源码改动时重编客户端 bundle。make help 列出 Web 与 Desktop 两侧对应的 Make 目标,完整命令表归开发指南的 application commands 一节所有(而不是散在 README 里,这一点做得比较克制)。仓库同时有 AGENTS.md,即项目给 agent 看的规则文件——一个 harness 项目自己带 agent 规范,说明它的开发流程里 agent 是一等参与者。
边界与需要自己判断的地方
三点必须写清楚,否则读者会高估它。第一,developer preview 不是营销话术:官方在 README 里用全大写写了 THERE WILL BE COMPATIBILITY-BREAKING CHANGES,并要求运行前先读 SAFETY.md。把安全须知提到「运行前必读」的高度,意味着这个 harness 默认拥有相当高的执行权限——它能跑命令、动文件,而插件模型让第三方代码进入同一个运行时。
第二,插件生态是它的强项也是它的风险面。内核越小,能力越依赖第三方插件,而第三方插件的质量、维护状态与供应链安全都不在官方控制内。README 给出的可发现性手段只有一个 topic 标签,没有官方插件市场的审核叙述。
第三,我们目前没有对它做过基准或复现测试。星标数说明关注度,不说明能力水位。把它列进 harness 梯顶是因为它是这条脊柱上不可绕过的一个架构样本——内核极简 + 插件承载一切——而不是因为我们测出它比别家强。这一档我们记为待复现。