从「一切皆插件」到 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 不再满足于只提供一个可被调用的模型,而是开始争夺模型之上的开发者入口。而「一切皆插件」就是它争夺入口的武器:用极致的开放性,对抗闭源生态的护城河。


五、冷思考:泼几盆冷水

  1. 仍是 v0.1 早期预览版:官方明说会有破坏兼容性的修改,核心插件与基础接口还将快速迭代,不适合作为生产环境依赖;
  2. 框架不是成品:与 Claude Code / Codex 这类开箱即用的产品不同,DSH 暴露了更多机器细节,组装门槛更高------它首先面向 Harness 开发者,而非终端用户;
  3. Cordis 内核的影响尚未被系统验证:插件之间通过服务与事件协作,「连线」本身可能引入微妙的性能与行为偏差,目前还没人跑过系统性实验;
  4. 生态冷启动难题:插件生态的繁荣依赖开发者规模,DeepSeek 目前不接受外部 PR(鼓励通过插件参与共建),核心演进速度与社区扩张之间的平衡仍需观察;
  5. 闭源护城河仍在:Anthropic、OpenAI 在 Coding Agent 上的产品积累与用户习惯,不是一套优雅架构能一夜之间撼动的。

写在最后

「一切皆插件」表面上是一个架构选择,本质上是在回答一个更深的问题:AI Agent 的未来应该由谁定义?

是几家闭源巨头定义的 iPhone 式黑盒,还是全球开发者共同定义的安卓式开放生态?DeepSeek 用一套七年实战验证过的插件内核、一篇 88 页的形式化论文和 MIT 协议,押注了后者。

更具想象力的是时间线的那一头:当一个 Agent 的循环、工具乃至行为模式都变成可热插拔、可逆回滚的插件时,「AI 自己改进 AI」就不再是科幻叙事,而是一条有数学保证的工程路径。

从这个角度看,「一切皆插件」的完整含义或许是:一切皆可被替换------包括 Agent 自己。

相关推荐
ss2732 小时前
DeepSeek Harness v0.1.5-alpha.1:系统提示词可动态修改,右侧 Sidebar 来了
deepseek·deepseekharness
deepseek235 小时前
京东 JoyAI 物理基座模型 PhysBrain 1.5 发布拆解:8B 参数如何通过人类学习范式拿下开源第一,媲美 GPT-6 Astra
机器人·具身智能·ai agent·京东·物理智能
suaizai_13 小时前
三款Agent架构的控制权博弈
deepseek
冬奇Lab15 小时前
DeepSeek Harness 系列(02):万物皆插件——Cordis 核心设计深度解读
人工智能·deepseek
小白跃升坊19 小时前
# DeepSeek V4.1 Flash 正式发布 vs V4 Pro 四天后「退役」
ai·大模型·ai大模型·deepseek
终见曦月21 小时前
DeepSeek 最新模型怎么选:视觉实验版与正式旗舰的区别
技术分享·deepseek·最新模型怎么选·视觉实验版与正式·旗舰的区别
ss2731 天前
梁神回归,教师节的礼物——DeepSeek Flash系列降价与新版本解读
deepseek
Jia ming1 天前
DeepSeek API配置踩坑记:OpenMAIC部署全流程
deepseek·openmaic