从「一切皆插件」到 AI 自进化:DeepSeek Harness 与 Cordis 元框架深度拆解
2026 年 8 月 13 日,DeepSeek Harness(DSH)开发者预览版以 MIT 协议开源。官方对它的全部设计哲学只概括了一句话:一切皆插件(Everything is a Plugin)。这句话听起来像营销口号,但当你顺着源码挖到底层那个叫 Cordis 的元框架时,会发现它其实是一份严肃的技术宣言——甚至配套了一篇 88 页的学术论文。这篇文章就来讲清楚四件事:「一切皆插件」到底意味着什么、底层实现它的 Cordis 元框架是什么、这套设计有哪些典型应用、以及它为什么重要。
一、「一切皆插件」到底意味着什么
1.1 先从「插件」这个词的滥用说起
插件系统并不新鲜。IDE 有插件、浏览器有插件、CI 工具有插件,主流 Coding Agent(Claude Code、Codex)也普遍支持 MCP、自定义工具和技能扩展。所以 DeepSeek 喊出「一切皆插件」时,很多人的第一反应是:这跟一个编辑器装插件有什么区别?
区别就在于插件的边界画在哪里。
传统 Agent 框架的结构是「一个硬编码的主循环 + 一堆外挂能力」。主循环、提示词组装、工具分发这些核心逻辑写在框架的源码里,你想加一个新能力,就得改循环、改提示词组装、改工具注册——本质上是在给框架「打补丁」,而不是「装插件」。社区能插手的只是最外围的工具和技能层。
DeepSeek Harness 把这个边界下沉到了整个运行时:
| 可插拔能力 | 传统 Agent 框架 | DeepSeek Harness |
|---|---|---|
| 模型 | 通常绑定或少量适配 | 模型适配器插件,支持 Anthropic、OpenAI、Gemini 等数十家厂商 |
| 工具 | ✅ 可扩展(MCP 等) | ✅ 工具调用拆成可扩展流水线 |
| 技能 | ✅ 部分支持 | ✅ 技能层插件化 |
| 会话 | ❌ 写死在框架里 | ✅ 会话管理可替换 |
| 沙箱 | ❌ 写死在框架里 | ✅ 可替换(内置基于 Linux Landlock 的 landlock-run) |
| 存储 | ❌ 写死在框架里 | ✅ 会话存储后端可替换 |
| Agent Loop(循环) | ❌ 框架的核心,碰不得 | ✅ 循环策略本身就是插件 |
| 调度 | ❌ 写死在框架里 | ✅ 子 Agent 编排、任务调度插件化 |
| UI | ❌ 绑定官方界面 | ✅ 交互界面可替换(Web UI / TUI / 社区皮肤) |
注意表格最后三行——连 Agent Loop 本身都是插件。这是 DSH 与几乎所有同类框架的本质差异:它把「智能体如何思考、如何循环、如何调度」这个通常被认为是框架灵魂的部分,也做成了一块可以卸下来换掉的积木。
1.2 可替换 ≠ 要改源码
更关键的是替换的方式。DSH 中扩展能力不需要修改 Harness 源码,也不需要 fork 仓库,而是「在已有插件旁边再挂一个插件」。官方把每个可替换能力拆成三个角色——定义、实现、消费者:换掉一个实现,所有用到这个能力的地方行为同时改变,全程在配置层完成。
一个运行中的 DSH 实例,本质上是启动时分层装配出来的一棵插件树:先是模式(profile)自带的插件包(bundles),然后是该模式的 cordis.patch.yml,再是用户主目录级补丁,最后是命令行 --patch 传入的临时覆盖层。最终装配结果可以用 dsh --profile web --dump-config 完整检视,其中任何一项都可以被你自己的补丁覆盖。没有一个需要「从内部攻破」的特权核心。
二、底层实现:Cordis 元框架
撑起这套架构的底座叫 Cordis——一个 TypeScript 写的「元框架」(meta-framework),即「用来构建框架的框架」。在 DSH 仓库里,它以内置依赖 @deepseek-ai/cordis 的形式存在。
2.1 Cordis 从哪来:不是为 Agent 生造的新轮子
Cordis 的身世很有意思,它不是 DeepSeek 为 Harness 从零发明的,而是久经考验的老兵:
- Cordis 最早是从 Koishi——一个 2019 年起活跃至今的跨平台聊天机器人框架——中拆分出来的插件内核,作者是开发者 Shigma(石逸凡 / Yifan Shi);
- Koishi 生态在 Cordis v3 之上长出了数千个社区插件,等于用七年时间对这套插件模型做了大规模实战压测;
- DeepSeek Harness 用的是重新设计的 Cordis v4,而这次重新设计直接催生了一篇形式化论文。
「卸载一个插件必须撤销它做过的一切」这条铁律,正是从 Koishi 时代延续下来的工程经验,而不是纸面设想。
2.2 理论根基:时空可组合性
2026 年 8 月 13 日(与 Harness 发布同日),arXiv 上出现了一篇 88 页的论文:《A Programming Paradigm for Spatiotemporal Composability》(arXiv:2608.25512),作者 Yifan Shi、Wei Zhang、Tianyi Cui,北京大学与 DeepSeek 联合署名。它把「动态组合」这个工程问题拆成了两个正交的维度:

时间可组合性(Temporal Composability):卸载一个组件时,它产生过的一切副作用必须完整回滚——事件监听器、工具定义、内存分配、命令注册,全部消失,系统精确恢复到「这个插件从未存在过」的状态。绝大多数框架能移除插件的代码,但几乎没人能保证插件的「影响」被彻底撤销——这就是为什么传统系统反复热重载后会慢慢积累状态泄漏。
空间可组合性(Spatial Composability):组件之间声明式地表达依赖,并由运行时响应式地装配。插件 B 依赖插件 A 提供的服务,那么 B 必须在 A 就绪后才能加载、在 A 停止前先卸载、A 失败时 B 根本不能启动;而当 A 被替换时,所有依赖方都要收到通知并按契约响应。
两个维度合在一起,得到一个非常珍贵的性质:路径无关性(Path Independence)——一个 Cordis 应用的最终状态只取决于「哪些插件被启用」,而与它们加载、卸载的先后顺序无关。这正是热插拔安全的数学保证,也是一个 Agent 运行时敢于在任务进行中重新配置自己的前提。
2.3 三大机制:理论如何落地成代码
Cordis 把上面的范式实现为三个协作的机制,全部通过共享的上下文对象 ctx 暴露:
① ctx.effect:可逆的副作用。 这是时间可组合性的核心。插件注册任何副作用时,通过 ctx.effect() 同时提供「逆操作」(清理函数);运行时把逆操作存起来,插件卸载时按注册的逆序逐一执行。数据库连接、内存、监听器、订阅——凡是需要清理的东西都进 effect。这本质上是把 C++ 的 RAII、Rust 的 Drop 从语言层面提升到了运行时层面,让不同团队编写的插件也能干净地卸载。
② 生命周期与 fiber 状态机。 每加载一个插件实例,运行时返回一个 fiber 句柄,它在 PENDING → LOADING → ACTIVE → UNLOADING → DISPOSED 状态间流转(异常时进入 FAILED)。配合 ready / dispose / fork 等生命周期事件,插件的装配与拆解全程可观测、可控制。
③ 服务系统:依赖即装配顺序。 插件通过「服务与事件」彼此协作:一个插件声明自己提供什么服务、消费什么服务,Cordis 自动推导出加载顺序并响应式地启停。没有任何插件需要硬编码「先启动谁」。

2.4 一个容易忽略的设计细节
Cordis 内核本身不实现任何 Agent 能力——它只管插件的加载、卸载和依赖关系。这种「克制的内核」是刻意为之:内核越小越稳定,能力全部外移到插件层,意味着连 DeepSeek 官方提供的功能和社区第三方插件在地位上是完全平等的。官方插件没有任何特权接口——这是开放生态能成立的结构基础。
三、「一切皆插件」的典型应用案例
3.1 四种运行模式:同一内核,四套插件组合
DSH 开箱即用的四种模式,本身就是「一切皆插件」最好的示范——它们不是四套代码,而是同一个运行时加载的四套不同插件集合:
| 模式 | 插件组合策略 | 典型用途 |
|---|---|---|
| 标准模式 | 全量工具:文件编辑、shell、联网搜索、技能、规划、目标、子 Agent、工作流 | 日常开发与办公任务 |
| PTC 模式(程序化工具调用) | 通过 Code Mode SDK,让模型编写 TypeScript 程序编排多步工具调用 | 批量搜索、自动化、单轮多步编排 |
| 极简模式 | 只保留一个 shell 工具 + 一个文件编辑工具 | 最小环境下的模型基准测试(SWE-bench 等) |
| 创造模式 | 挂载自制 Cordis 工具,允许检查运行时、在内存中试验插件 | 开发调试、组合创造新的模式 |
注意「创造模式」的特殊地位:它不进标准工具集,而是作为明确的高级入口,让 Agent 检查当前运行时的插件树,并动态挂载或卸载临时插件——模式本身也可以被「创造」出来。
3.2 公平的模型擂台:只换模型插件的 benchmark
评测圈一直有个痛点:同一个模型放进不同 Agent 系统,表现天差地别,那 benchmark 到底在测模型还是在测脚手架?
DSH 用插件架构给出了干净的答案:锁定除模型之外的所有变量——同样的工具、同样的沙箱、同样的循环策略——只替换模型适配器插件,跑同一份任务,再对比轨迹。极简模式就是为此设计的:剥掉一切多余脚手架,只留 shell 和文件编辑,测出模型的「裸能力」。DeepSeek 在 7 月 31 日 V4-Flash 正式版的 Code Agent 测试中,使用的就是「即将发布的 Harness 极简模式」。
配合仅追加(append-only)的会话日志——系统提示词、思维链、工具调用与结果、子 Agent 调度、每次上下文注入全部落盘,支持恢复、分叉、检索与回放——经验性评测第一次有了可复现的基础设施。在 Hacker News 的讨论(747 赞、314 评论)中,会话日志的透明度正是被点赞最多的细节之一。
3.3 AI 自进化:模型自己写插件、自己装上
这是最受关注的案例。DSH 内置了动态插件运行时(self-modification):模型可以在不打断当前任务的前提下,自己编写一个 Cordis 插件、自己挂载到运行时里。遇到没有合适工具的任务?现场造一个。
自 Anthropic 提出 self-improvement 概念以来,「AI 自进化」始终缺少清晰的落地路线图。DSH 被认为给出了目前最可落地的实现之一,而关键恰恰在于 Cordis 的可逆性:一个能修改自己运行时的 Agent,只有在修改可以被完整撤销时才是安全的。模型写错了一个插件?卸载它,系统精确回到装载前的状态,不留任何残留。时空可组合性不是学术装饰品,它是自进化的安全底座。
3.4 「套娃」玩法:Claude Code 和 Codex 也能跑在里面
一个展示架构弹性的有趣事实:真实的 Claude Code 和 Codex CLI 可以作为子 Agent 运行在 DSH 之下。因为调度、会话、UI 都是插件,DSH 完全可以扮演「编排层」,把闭源的 Coding Agent 当作一种可调用的能力插件来组合——开放框架包容闭源工具,而不是与之互斥。
3.5 社区生态:像《我的世界》装模组一样
发布不到一个月,社区插件已经冒了出来:官方宣发物料里披露过内测开发者制作的大鲸鱼 TUI、上古 QQ 风皮肤、鲸鱼专属 emoji 等作品。这些看似玩票的皮肤插件意义重大——它们证明 UI 层真的被打开了,普通人不需要理解 Agent 内核也能参与共建。
一位深度体验过 Codex 与 DSH 的开发者的比喻广为流传:Codex 是 iPhone 式哲学——Rust 单体核心,性能极致,但 MCP、hooks、skills 统统挂在核心外面,主干碰不得;DSH 是安卓式哲学——以 Cordis 为一等公民,任何人遇到 Bug 或需要新功能都可以直接实现并开源,其他人像装模组一样安装社区插件。
四、「一切皆插件」的意义与价值
4.1 对开发者:组合自由,拒绝锁定
当模型、工具、循环、UI 全部可插拔,开发者获得的是前所未有的组合自由:今天用 DeepSeek 的模型配官方循环,明天可以换成 Claude 的模型配自己写的调度器,后天把会话存储迁移到自己的数据库——每一步都不需要换框架、不需要 fork、不需要等待官方排期。有海外分析者直言:「插件范式可能成为新的标准。」
4.2 对行业:Agent 评测与研究的基础设施
插件架构 + 全量会话日志的组合,让「可复现的 Agent 基准测试」从口号变成工程现实。当整个领域都在争论「哪个模型更会干活」时,能控制变量、能回放轨迹的评测基础设施,价值不亚于模型本身。这也是 DSH 选择 MIT 协议全开源的深意——把自己变成行业公共底座。
4.3 对 AI 本身:自进化第一次有了安全护栏
「模型自己写插件、自己装上」之所以被认为是最可落地的自进化路径,是因为 Cordis 从理论上解决了自进化的最大隐患:如何确保 AI 对自身的修改是可控、可逆的。时间可组合性保证任何修改都能完整回滚,空间可组合性保证依赖方的连锁反应可预测。自进化从「不敢放开的手」变成「有安全带的实验」。
4.4 对竞争格局:入口之争
更宏观的视角:当模型能力趋同,竞争主战场必然从「模型」转向「Harness」——谁能更好地组织上下文、调度工具、完成闭环,谁就是赢家。DSH 标志着 DeepSeek 不再满足于只提供一个可被调用的模型,而是开始争夺模型之上的开发者入口。而「一切皆插件」就是它争夺入口的武器:用极致的开放性,对抗闭源生态的护城河。
五、冷思考:泼几盆冷水
- 仍是 v0.1 早期预览版:官方明说会有破坏兼容性的修改,核心插件与基础接口还将快速迭代,不适合作为生产环境依赖;
- 框架不是成品:与 Claude Code / Codex 这类开箱即用的产品不同,DSH 暴露了更多机器细节,组装门槛更高——它首先面向 Harness 开发者,而非终端用户;
- Cordis 内核的影响尚未被系统验证:插件之间通过服务与事件协作,「连线」本身可能引入微妙的性能与行为偏差,目前还没人跑过系统性实验;
- 生态冷启动难题:插件生态的繁荣依赖开发者规模,DeepSeek 目前不接受外部 PR(鼓励通过插件参与共建),核心演进速度与社区扩张之间的平衡仍需观察;
- 闭源护城河仍在:Anthropic、OpenAI 在 Coding Agent 上的产品积累与用户习惯,不是一套优雅架构能一夜之间撼动的。
写在最后
「一切皆插件」表面上是一个架构选择,本质上是在回答一个更深的问题:AI Agent 的未来应该由谁定义?
是几家闭源巨头定义的 iPhone 式黑盒,还是全球开发者共同定义的安卓式开放生态?DeepSeek 用一套七年实战验证过的插件内核、一篇 88 页的形式化论文和 MIT 协议,押注了后者。
更具想象力的是时间线的那一头:当一个 Agent 的循环、工具乃至行为模式都变成可热插拔、可逆回滚的插件时,「AI 自己改进 AI」就不再是科幻叙事,而是一条有数学保证的工程路径。
从这个角度看,「一切皆插件」的完整含义或许是:一切皆可被替换——包括 Agent 自己。
DeepSeek Harness(DSH)的全部设计哲学只概括了一句话:**一切皆插件(Everything is a Plugin)**。这句话听起来像营销口号,但当你顺着源码挖到底层那个叫 **Cordis** 的元框架时,会发现它其实是一份严肃的技术宣言——甚至配套了一篇 88 页的学术论文。这篇文章就来讲清楚四件事:「一切皆插件」到底意味着什么、底层实现它的 Cordis 元框架是什么、这套设计有哪些典型应用、以及它为什么重要。
浙公网安备 33010602011771号