QQ扫一扫联系
当"Agent 框架"又一次成为热词,DeepSeek 直接端出了一个玩法不太一样的:DeepSeek Harness(dsh),一个开源、一切皆插件的智能体框架。GitHub 上线即拿下 18.4k star,口号只有一句话——Everything is a Plugin。
它不是又一个 Claude Code,而是把 Claude Code 拆成了可以自由组装的乐高。

大多数 Agent 框架把模型、工具、记忆、主循环写死在框架里,用户只能在预留接口上做有限定制。dsh 不是:模型接入、工具注册表、会话日志、审批策略,甚至驱动智能体运转的主循环本身,全部都是插件。它基于具有时空可组合性的 Cordis 插件系统构建,组件通过服务与事件协作,在配置层自由组合——想换搜索引擎、接自家模型服务、调整审批策略,改配置就行,不用动框架代码。
默认的 dsh 长这样:

稍微定义个插件,它就能变成这样——自定义命令、挂上画板、随意改写界面:

分层组装也很有意思:官方打包的 bundle、本机的 Profile、自己的 Patch 按固定顺序叠加,上层覆盖下层。能力则拆成"服务定义 / 提供方 / 消费方"三个独立角色,模型看到的接口恒定不变。
内测时大家自己搭的 GUI 是最好的证明——同花顺皮肤、娘化皮肤、Excel 皮肤、复古 XP 皮肤,全是独立插件:




这些皮肤不是改主题,是整套界面都被换成了插件。
界面顶部有个模式选择器,每个模式对应一份 Agent Preset,决定当前会话由哪些插件组成:

Code Mode 是 PTC 的技术底座。它把全部工具生成一套 TypeScript SDK,模型用 run_code 交一段程序,在程序里写循环、条件判断、并发执行,只有最终结果进入模型上下文。"统计所有包中的 TODO 并汇总排序",常规方式要几十次工具往返,Code Mode 一段程序跑完。安全性不打折:程序里每次工具调用照常走审批、沙箱、超时、日志。
一个智能体可以把工作分派给多个子代理:subagent 是可续跑的后台子代理,干完自动把结果送回父会话;subagent_fork 是一次性子代理,继承上下文做完就结束。工作流引擎用脚本确定性地编排多个子代理,Ralph 循环则每轮启动全新子代理反复执行同一目标,适合"把测试修到全绿"这种死磕任务。所有子代理会话全程写日志,执行过程可以完整还原。

命令可以跑在沙箱里,Linux 用 bwrap / Landlock、macOS 用 Seatbelt、Windows 用 ACL 受限令牌,分 read-only、workspace-write、danger-full-access 三档。沙箱后端会如实上报隔离执行情况,系统条件只能覆盖部分承诺时报告 partial 而非 full。API Key 通过独立通道传递,会话日志里只有引用没有明文,日志默认不上传,遥测显式开启。
一个不虚报安全边界的 Agent 框架,在现在这个时间点反而显得稀缺。
npx @deepseek-ai/dsh web,默认跑在 3080 端口。Agent = Model + Harness。模型是灵魂,Harness 是身体。v0.1 还在面向 Harness 开发者测试阶段,核心插件和基础接口会快速迭代。MIT 协议、开源、社区共建——如果你一直觉得 Agent 框架"能改的地方太少",现在可以来拆一拆了。
模型决定智能的上限,Harness 决定模型能走多远。
你会在 dsh 上挂第一个什么插件?评论区聊聊,或者直接去 GitHub 把想法变成代码。