在 DeepSeek Harness Web 侧边栏打开 Superagent 来监督 agent。该面板把需要人来处理的工作放在首位,其次是系统健康和历史记录。本文档建立在 000 Philosophy 到 004 Prompts 之上。
三个问题
打开面板即可回答三个问题,顺序如下:
- 现在有什么需要我吗?
- 系统是否健康,是否在做正确的事?
- 某项工作从 Trigger(触发事件)到 Eval(评估)再到 Ticket(工单)的历史是怎样的?
标签页
标签页遵循工作流:Overview(总览)、Source(来源)、Trigger(触发)、Eval(评估)、Execution(执行)和 Settings(设置)。在仓库和账号设置成功之前,Overview 会显示缺失的内容并链接到相应设置。
| 标签页 | 展示内容 |
|---|---|
| Overview | 需要操作的 Ticket、系统问题、最近 24 小时的活动计数,以及 Executor(执行器)负载。每个区块链接到对应的详情页 |
| Source | Source 状态、设置问题和非零计数。被过滤的 Trigger 和被丢弃的消息与 Overview 覆盖相同的 24 小时窗口 |
| Trigger | 按 Subscribed(已订阅)、Evaluating(评估中)、New Triggers in 24 h(24 小时内新 Trigger)或 All Threads(所有 Thread)过滤的 Thread(会话线程)。每个 Thread 按时间倒序展示其 Trigger、Decision(判定)和 Subscription(订阅) |
| Eval | Decision 及其理由和匹配到的规则 |
| Execution | Executor 状态、Pause(暂停)处理,以及按 Open、Pending、Working、Waiting for a Trigger 或 Ended 过滤的 Ticket。Ticket 详情展示操作、授权、等待中的 Input、Subscription 和 Assignment(分派) |
| Settings | Source、Eval、Execution、Prompt 和 Deployment。每组设置都包含其保存历史 |
阅读单条记录
被丢弃的消息会链接到它的 Ticket;当它没有 Ticket 时,则链接到它的 Thread。Source 页面会说明:它的对话是消失了,还是 Source 停止了对它的监听。
仍由某个 Executor 持有的人工跟进会被标记为 Delivered to Ticket(已交付到 Ticket),并且没有 Eval。Thread 还会显示交回原因和仅用于获取上下文的 Subscription。Evaluate again(再次评估)可以把该跟进送入 Eval,也可以重试尚未形成有效判定的 Trigger:例如被其 Source 过滤的 Trigger、Eval 不可用的情况,或一条既没有非停止 Decision、也没有 Executor 确认的已送达消息。
Ticket 详情展示来源 Trigger、Decision 及其理由、范围和 Policy(策略)版本。Assignment 和次要详情折叠在即时操作下方。对于 Input 送达失败,或 Report(报告)被阻塞或失败后正在等待某人的 Ticket,可以使用 Retry(重试)。已结束的 Ticket 会显示结果,例如 Pull request merged(PR 已合并)或 Stopped by a person(被人停止)。
设置组
Sources:每个 Source 一张卡片,带有它的开关、字段和已验证的账号事实。GitHub 还为新 Issue、PR、评论和默认分支 CI 提供“全部接收”开关。轮询和读取限制位于 Advanced(高级)中。
Eval:Policy 版本和规则,其后是 On each Source(按 Source 分组)和 Eval 设置。每个 Source 标签页包含它的允许列表、成员同步、准入表和机器人列表。同步在启动时运行,也可点击 Sync now(立即同步)触发。准入表区分接收范围、发送者成员身份,以及消息是否指向 agent。Eval 设置用于选择 accept 模式、超时和评估模型。
Execution:worker 模型、并发数、目录根、prepare 命令和被阻止的命令。点击一个可用变量会把它插入 prepare 命令。
Prompts:Edit(编辑)用于修改团队段落、内置部分和技能。Full prompt(完整 prompt)展示组装后的文本,并与已保存文本或默认内容比较。History(历史)列出各版本。被编辑过的内置部分会标记为已更改,并且可以重置;模板会列出其必需的占位符。
升级若更改了被覆盖的默认内容,会将其标记为 Default updated(默认内容已更新)。面板会在团队文本上方比较新旧默认内容。如果旧默认内容未被记录,则改为将团队文本与新默认内容比较。选择 Keep my text(保留我的文本)或 Use the new default(使用新默认)。已移除部分的覆盖列在标签栏下方,并在下次保存时丢弃。
Deployment:启动问题及 Check again(重新检查)、状态目录和机器限制。保存的限制无需重启即可生效。DeepSeek Harness Plugin Manager 也提供同一个页面。
搜索
页眉搜索可以按文本、id、飞书消息 id 或已存储的链接(例如 GitHub 评论 URL)查找 Trigger。原始消息中缺失的飞书链接,只有在宿主于当前进程生命周期内读取过它之后,才可被搜索到。
搜索还能按引用(例如 #12 或 GitHub URL)查找 Thread,按标题或匹配的 Thread 查找 Ticket。
原则
- 聚焦要事。每个元素都必须回答三个问题之一,否则就被移除。一个数字只有在会改变监督者行为时才出现。
- 精确的定义。分类有可核验的定义,彼此互斥且覆盖所有情形,Ticket 阶段即是如此。标签说明一行在等谁、需要什么,而不是展示内部状态码。
- 每个概念只有一个位置。Source 状态属于 Source 标签页;Thread 和 Trigger 属于 Trigger;Decision 属于 Eval;Ticket 属于 Execution。设置按其配置的概念分组。Overview 汇总这些页面并链接过去,而不是变成又一个详细视图。
- 领域结构。面板使用领域术语。内部标识符只出现在折叠的详情里,凡能解析出名称的地方都用名称替代标识符。
- 诚实的状态。计数等于它链接的列表的长度,任何状态都不与其他事实矛盾。
- 默认安静。健康状态不占额外空间。问题必须可行动;一次性的网络错误不算。需要人的行直接提供相应的操作。页面说明保持一句话,更多细节放入 (?) 工具提示。破坏性操作需要确认。
- 一致的控件。使用 DeepSeek Harness 的 design token,并遵循其控件行为。相同的信息在整个面板中应有一致的外观。每个设置区块只有一条保存栏,仅在存在未保存更改、保存进行中或保存失败时可见。