乐于分享
好东西不私藏

DeepSeek 开源「一切皆插件」的 agent 框架:智能体正在变成可拆卸的操作系统

DeepSeek 开源「一切皆插件」的 agent 框架:智能体正在变成可拆卸的操作系统

大模型卷到 2026 年,各家争的东西,已经从「谁的模型更聪明」悄悄换成了「谁更容易被改造成你想要的样子」。前几天,DeepSeek 在 GitHub 上开源了一个项目——DeepSeek Harness,star 数已经冲到了 3 万多

它只用了四个字定义自己:一切皆插件。

这可不是又一个「用大模型写代码」的工具。它是一套agent harness——你可以理解成智能体的「底盘」或「操作系统」:负责调度模型、工具、会话、文件系统、沙箱的那层基础设施。而 DeepSeek 在这层基础设施上,做了一个相当激进的设计决定

一切皆插件:模块化智能体框架

01PLUGIN

为什么「一切皆插件」是句狠话

大多数 agent 框架走到深处,都会撞上一堵墙:你想改一个地方,得去 fork 源码、打补丁、重新编译。因为框架总有个「特权内核」——模型怎么调、工具怎么注册、会话怎么记,这些都写死在核心里

DeepSeek Harness 反着来。它说:模型适配器是插件,工具注册表是插件,会话日志是插件,连agent loop(智能体循环)本身,都是插件。

没有特权内核。扩展它的方式,不是打补丁,而是「把你的插件挂到别的插件旁边」。而且每一项注册都是一个可逆的副作用——插件卸载时,它贡献的东西会自动撤销,不留下任何残留。

这意味着什么?一个形象的例子:把「文件系统」和「进程」两个 provider 一起指向一个远程沙箱,Bash、PTY、LSP 这些能力会整组搬过去,不需要为每一种能力单独写适配。改一个 provider,就改掉了整个产品的行为。

02CORDIS

底层那套东西:Cordis

驱动这一切的,是一个叫Cordis 的插件框架。DeepSeek Harness 把它以 vendor 的方式内置了进来。理解它只需要五个概念:

1插件是实现了某种「服务」的对象。可以是一个带 inject 和 apply(ctx) 的函数,也可以是一个 Service子类。

2上下文是服务的容器。每个服务占一个稳定的位置,比如 ctx.tools(工具)、ctx.llm(模型)、ctx.sessions(会话)。别的插件通过这个 key 去「找」服务,而不是 import 具体实现。

3inject 声明依赖。插件声明它需要哪些服务,等这些服务就绪了它才启动。加载顺序靠依赖关系自动推导,不用手动编排。

4类型化事件负责通信。服务用 TypeScript 声明合并来注册事件名,然后用四种方式分发:emit(观察)、waterfall(包裹)、parallel(并行扇出)、serial(按序执行)。

5注册是可逆的副作用。提示词片段、工具 schema、监听器,都通过 ctx.effect() 或 ctx.on() 安装,reload 和 teardown 时会按预期撤销。

这五条放在一起,就是 Cordis 那篇论文标题说的「时空可组合性」——一套让软件的每个部分都能在运行时被安全地叠加、替换、撤销的编程范式。

Cordis 五个核心概念的关系

03TURN

一次模型调用,背后发生了什么

如果你真打算上手,有两个细节值得记住。第一,它的「轮次」概念。一个 step 是一次模型请求加上它调用的工具;一个 turn 包含零个或多个 step。整个流程是一串类型化事件:turn/start → agent/pre-step → step/start → agent/request → llm/stream → tool/call → tools/execute → step/end → turn/end。想拦截或改造任何一个环节,监听对应的事件就行。

第二,它有一条铁律叫「模型可见即已记录」。凡是送进模型请求的东西,都必须能从会话日志里重建,并由运行时的不变量来断言。这意味着 fork、恢复、回放、遥测,全都从同一条事件流派生——你不需要单独为「回放」再存一套状态。

agent 轮次流程

04RUN

怎么跑起来

想试的话,其实一条命令

npx @deepseek-ai/dsh web

它会启动一个 Web UI,浏览器打开 http://127.0.0.1:3080 就能用。喜欢终端的话,它也提供 TUI;想要纯后台,有 headless;想自己改,pnpm dsh web 从源码跑。

不过要泼一盆冷水:它现在还处于开发者预览阶段,README 里白纸黑字写着「未来将出现破坏兼容性的变更」。意思是——现在适合看方向、做实验,不适合直接上生产。

05POINT

这事的真正看点

最后说点我的判断。2026 年的 agent 赛道,各家都在拼「可扩展性」:Claude Code 用 Hooks + Subagents + MCP,OpenAI 走 SDK + 平台化。DeepSeek 押的是一条更「理论化」的路:用一套可组合的插件范式,让智能体的每一个零件都能被独立替换、组合、撤销。

它不一定是最顺手的,但它把一个长期被忽视的问题摆到了台面上:

当 AI 智能体越来越像「软件」而不是「聊天框」,它是不是也该像操作系统一样,拥有一个可拆卸、可组合、不留后遗症的扩展体系?

对这个问题的回答,可能就是下一阶段agent 基建的分水岭

项目地址:github.com/deepseek-ai/deepseek-harness

官方文档:deepseek.com/harness