插件化Agent架构:DeepSeek Harness的会话轨迹可追溯与依赖注入机制
不到一天时间就涨了7万多颗星星,DeepSeek Harness开源之后的数据非常猛。这一次DeepSeek并没有简单复制Claude Code的模式,它把模型、工具、Skill、会话、沙箱、文件系统甚至Agent Loop都做成了插件。也就是说,Agent不再是一套写死的流程,你可以自己拆开、替换、再组合。
官方给它的一句话是"Everything is a Plugin",翻过来就是一切皆插件。Agent的下一种形态或许已经来了。
社区案例
X上已经有不少热心网友做了有趣的尝试。
@libukai 分享了一个三维五子棋项目,可以在3D棋盘上玩五子棋,整体不难但完成度很高。直接丢给V4 Flash跑,速度很快,14.5M Token,缓存命中率99.9%,最后只花了五毛钱。
@NFT_Chen 用DSH做了一个高精度的3D发动机仿真系统,不只是摆几个模型,而是把发动机的主要结构和工作过程都做出来了——气缸、活塞、曲轴都可以看到,可以实时看到四冲程的工作过程,支持拖动视角、剖面查看,鼠标移到零件上还能看到相应数据。整个项目输入17M Token,输出275K,耗时1小时8分钟。
@LufzzLiz 用它挑战施瓦西黑洞模拟,项目本身很硬核,包含复杂的物理计算和可视化内容,DSH跑了35分钟多一遍就做出来了,缓存命中率达到99%。同样的工作Codex花了7块多,DSH只花了2块左右。
@dotey 用DSH做PPT,直接从需求到成品,效果也不错。
从这些例子可以看出,Harness真正有趣的地方不是"能不能写代码",而是可以将一些东西直接制作成成品。
核心设计
01 一切皆插件
工具、LLM适配器、文件访问甚至agent loop本身都属于插件,都会挂到同一个Cordis上下文里。传统的Agent通常把模型、工具和记忆都塞到Agent里面,但Harness换了一个思路:Agent本身也成了插件。代码中直接用ctx.plugin()来注册不同的能力,Agent不是整个系统中的"老大",而是Context中的一个能力模块,要什么就加载什么。底层的Cordis本身也是一个开源的小框架,Harness直接使用了它原有的插件机制,没有从头造轮子。
02 依赖注入和自动清理
插件之间不是直接互相调用,而是声明自己需要哪些服务,在依赖准备好之后由框架注入进来。简单理解就是:过去是插件自己去寻找工具,现在是插件告诉框架"我要什么",框架负责把东西送来。更有趣的是,插件创建的资源也不需要自己记得清理——定时器、事件监听、网络连接等都可以和插件生命周期一起管理。插件加载时创建资源,插件卸载时自动执行cleanup,这套机制也成了热替换的基础。
03 会话轨迹可追溯
很多Agent跑完之后只能看到最后的结果,中间调用了哪些工具、返回了什么,很难完全还原。Harness把一个会话分成一个不断追加的事件序列,每个动作都会被记录下来。对话不再只是聊天记录,而成了可以回放的操作日志,出现问题时可以按轨迹反向追溯。该轨迹可以恢复、搜索和fork,比如从某个checkpoint fork出来,就可以从历史状态继续跑另一条路径。整个Agent的操作轨迹都会被保留下来,不会随着程序结束而消失。
04 能力接缝设计
像Bash执行这样的通用能力,Harness没有直接写死在Agent里,而是把定义、提供方和使用方分开。定义一个统一的接口,然后可以有各种各样的实现方式——本机Shell、Docker Shell、远程Shell都可以,只要实现了同一个接口,上层就不需要跟着改。Agent最后只用调用接口,至于命令到底在哪里运行,Agent本身不需要知道。更换一个Provider之后,上面的Agent和工具接口都不需要改动。这也是Harness可以把大量子系统拆开的原因:各个能力之间通过接口连接,而不是直接绑定到具体实现上。
安装方式
先装好Node.js,一行命令就能把Web UI拉起来:
npx @deepseek-ai/dsh web
默认运行在 http://127.0.0.1:3080 上,用浏览器打开就可以看到界面。进去获取DeepSeek的API Key,选择一个工作区就可以让其工作了。除了Web之外,它还可以以headless、JSON-RPC、ACP等方式无界面运行。
注意事项
- 目前处于开发者预览阶段,官方已经说明会有一些破坏兼容性的修改
- 社区插件这条路头几个月还好使,后面维护可能成为一大噩梦,这是它要面对的现实
- 上手门槛不低,更适合需要深度定制Agent的用户
小结
这次DeepSeek的开源最让人意外的是它更像Agent时代的一套积木,每一部分都可以自己拆、自己换、自己组合,玩法很自由。上手门槛确实不低,但对喜欢玩Agent的人来说上限也比较高,更适合需要深度定制Agent的朋友。
开源地址:https://github.com/deepseek-ai/deepseek-harness