先读完 Harness 01–03。那三篇讲的是底座:Cordis 插件树、工具流水线、能力 seam。这篇开始的四篇讲挂在底座上的一个包,仓库是 deepseek-ai/dsh-superagent-prototype(MIT)。

README 把边界写在最前面:这是研究原型,供参考,不是 DeepSeek 的官方产品。代码从团队日常开发里长出来,不少工程由编码代理完成,风格可能不一致,用之前要自己审。为了发表做过改编,和内部版本、以及设计文章 Exploring Super-agent Design 里描述的实现并不相同。文章里的一部分设计是后续方向,这份仓库里没有对应实现。

一、它实际盯着什么

一句话:

尽量少占人的注意力,尽量多交出能用的结果。

产品形状很窄。它是 DeepSeek Harness 的一个 bundle,服务一个 GitHub 仓库(GitHub Enterprise Server 不在支持范围内)。飞书是可选的第二个来源。有人在允许范围内把活交给它,它就开一张工单,在自己的 Session 和目录里做,再回到原来的对话里答复,常见的答复是一个 Pull Request。Web 面板只把「需要人」的事项摊开。

部署文档要求单独建一个 Harness profile(指南里叫 superagent),和你自己写代码用的 profile 分开。这个插件会改进程级的 PATH 和 git 设置,重启和升级也要独立。面板绑在 127.0.0.1,端口由 profile 里的 webserver 条目决定;文档示例是 3082。管理 API 只接受来自本机的请求,缺请求头或带着别的站点的 Origin 会 403。

和本站已经读过的两份 Runtime 放在一起,位置是这样:

nanobotDeepSeek HarnessSuperagentPocketPilot
组织分层 Loop / RunnerCordis 插件树Harness 上的一个包分层;Agent 不碰库
服务谁把原理讲透可替换的底座一个仓库上的团队一个人的本地工作区
副作用默认就能跑 shellseam + 沙箱策略Worker 以操作者的系统用户跑命令策略检查之后还要人批

Superagent 的包装、目录和命令名拦截是默认约定。文档写明:Worker 仍可以用绝对路径执行程序。这和 PocketPilot「有副作用就停下来等你」是两种产品论题。读的时候把它们分开,后面第四篇会回到这条边界。

少占注意力的两道门

二、原则怎么变成行为

原则只有一句,后面的规则都是它的推论。一条消息、一次通知、一个设置、面板上的一块区域,都算注意力成本。给不出超过成本的价值,就删掉。

由此得到可以对照代码和 prompt 检查的行为:

  1. 动手有门槛。 开工只有两种入口:允许名单上的人直接点名,或者团队事先写好的规则允许。没人要的活,默认以「只记录本来会做什么」的模式跑,不改仓库。第二、三篇把这个入口写成 Gate、强度和接受模式。
  2. 说话有门槛。 接到请求只确认一次,并说清要做什么。做的过程中保持安静。再次开口只有三种时机:结果好了、需要人做决定、做不完。消息要短,并且回到发起请求的那个对话。
  3. 一次只问一个具体问题。 问题走结构化字段(执行文档里的 Attention,prompt 里的 human_action),避免埋在长报告里。
  4. 按影响停,不按努力停。 局部改动能交到可评审的结果就交。需要设计决定的,停下来问一句清楚的话。
  5. 如实报告。 草稿标未完成,失败就说失败。prompt 里还有一条更硬的交付标准:开了 PR 不等于 ready;界面改动没有真实的改前截图,也不算 ready。

这些句子大部分写在 docs/000-philosophy.md,落实在 docs/004-prompts.md 的内置 prompt 里。宿主用代码守住的是另一层:身份、权限、工具参数、回复用途、长度上限。改 prompt 改不了这层。第三篇会把优先级写完整。

三、操作者要承担什么

Agent 使用的是团队每天看得到的 GitHub 账号和飞书机器人。它发出的每条消息都在花同事的注意力。哲学文档因此把责任放在操作者身上,而不是放在模型「会不会收敛」上:

  • 开始时白名单要短。主动行为先只记录,看 Decision 是否像样,再允许真的接单。
  • 吵了就收紧 prompt,或者暂停处理。暂停会停掉派工、新的评估、超时、消息投递和回复;来源仍继续记事件,已经在跑的回合不打断。
  • 不要用它批量开 PR。
  • 不要再发一条解释消息去弥补上一条多余的消息。

面板上的「暂停处理」就是这条责任的开关。设置变更有版本,冲突的保存会被拒绝,草稿不会被悄悄丢掉。

四、公开仓库里你找不到的东西

设计文章讨论过更激进的自主性,例如持续守着仓库的 Watchdog、投机执行、一直在云端跑。README 把这些标成后续方向。本系列只讲仓库里写明、并且能在 docs/000 到 docs/007 对上类和文件的机制。

安装本身也体现同一条原则:步骤很多,文档让你把 SETUP.md 交给编码代理,一次问一个短问题,先把完整计划亮出来,再安装和配置。手动步骤在 docs/006-deployment.md。开发检查是一条命令:pnpm check,依次做类型检查、测试和构建。

五、四篇怎么读

编号和仓库文档对齐,方便你对着原文学:

本系列仓库文档你要带走的问题
01 这篇000-philosophy.md什么算成本,什么时候该沉默
02 领域模型001-domain.md,并对照 007 的 Engine一条评论怎么变成一张工单
03 授权002-authorization.md、004-prompts.md谁能让它开工,文字为什么改不了权限
04 执行与面板003-execution.md、005-panel.md工单在等谁,挂了以后怎么恢复

006 是部署,007 是类和文件索引,008 是怎样加一个新的来源。四篇能复述之后再翻后三份,不会在 70KB 的架构文档里迷路。

六、小结

  • Superagent 是 Harness 的团队包,服务一个 GitHub 仓库,飞书可选。
  • 成功标准是少占注意力:动手和开口都有门槛,干活时保持安静。
  • 它是研究原型。设计文章里的更强自主性,不要到这份代码里找。

下一篇把这句话收成一组对象:来源、触发、线程、评估、授权、工单、派工、订阅。人为什么不在这组对象里,是那篇的第一件事。