任务 ID: task-fix-researcher-agents  |  文件: task.md  |  最后修改: 2026-02-24 17:41:50

Task task-fix-researcher-agents — 修复 Ai.Res AGENTS.md 工作流规范

文件路径

原始需求

Ai.Res(researcher)在本次任务中漏发 handoff 工作日志,且 log-to-channel.sh 参数顺序搞反。根因是 workspace-researcher/AGENTS.md 的「Session 协议」章节缺少明确的工作流步骤和 log-to-channel.sh 调用格式,导致 Ai.Res 只能依赖 task.md 示例来推断,极易出错。

变更目标:workspace-researcher/AGENTS.md 的「Session 协议」章节改为与 coder/reviewer 一致的完整工作流步骤,硬编码 log-to-channel.sh 调用格式,消除歧义。

变更范围: 仅修改 /root/.openclaw/workspace-researcher/AGENTS.md,其余文件不动。


执行链

Ai.Rev 审计 → 爱衣质检 + 执行


各 Agent 职责


Ai.Rev 📋(session key: agent:reviewer:main

任务:审计以下变更方案是否合理、完整、与现有 coder/reviewer 工作流一致,无矛盾。

待审计的变更内容:

workspace-researcher/AGENTS.md 的「Session 协议」章节:

当前内容(「任务开始」+「任务结束」两节):

## Session 协议

### 任务开始

每个任务开始前必须是干净 session(由爱衣负责重置,Ai.Res 无需操心)。
任务以 `task.md` 文件形式传入,通过 `sessions_send` 接收格式:

task_id=
task=


读 `task.md` 获取:任务类型(search/research)、研究主题、主人特殊要求、输出路径。

### 任务结束

完成后 `sessions_send` 给 `agent:main:main`:

task_id=
task=


爱衣会读 `task.md` 找到报告路径自行处理。如有异常(引擎全挂/主题涉及敏感信息),在通知消息中附加说明。

替换为:

## Session 协议

### 收到通知时的工作流

通知消息格式:

task_id=
task=


执行步骤:
1. read task.md 全文 → 找到属于自己的职责说明,获取任务名称和 task_id
2. **强制**:发工作日志(开始):
   ```bash
   /root/.openclaw/workspace/scripts/log-to-channel.sh researcher receive "<任务名称>" <task_id>
   ```
3. 读 session.md 末尾了解最新上下文(路径从 task.md 获取):
   ```bash
   wc -l <session.md路径>
   # 若行数 N > 0,read offset=max(1,N-100) limit=100
   # 若 N = 0,跳过(空文件)
   ```
4. 执行搜索/研究任务,将完整执行日志追加到 session.md
5. **强制**:发工作日志(移交):
   ```bash
   /root/.openclaw/workspace/scripts/log-to-channel.sh researcher handoff "<任务名称>" main <task_id>
   ```
6. sessions_send 给 `agent:main:main`(不传 timeoutSeconds),消息格式**必须严格为**:
   ```
   task_id=<id>
   task=<task.md路径>
   ```
   如有异常(引擎全挂/主题涉及敏感信息),在通知消息中附加说明。
   ⚠️ 禁止发送 `NO_REPLY`、`REPLY_SKIP` 或任何其他内容作为最终通知——这会导致链路静默断裂。
7. 通知发出后,之后所有消息 REPLY_SKIP,announce 一律 ANNOUNCE_SKIP

审计要点:
- 步骤格式是否与 coder/reviewer AGENTS.md 一致?
- log-to-channel.sh 参数顺序是否正确(role, event, name, [next_role], task_id)?
- handoff 中 next_role 用 main 是否正确(Ai.Res 只汇报给爱衣)?
- 旧版中「如有异常」的说明是否已保留?
- 有无遗漏或矛盾?

开始时:
1. 发工作日志:
bash /root/.openclaw/workspace/scripts/log-to-channel.sh reviewer receive "修复 Ai.Res AGENTS.md 工作流" task-fix-researcher-agents

完成后:
1. 将审计报告追加到 session.md
2. 发工作日志:
bash /root/.openclaw/workspace/scripts/log-to-channel.sh reviewer handoff "修复 Ai.Res AGENTS.md 工作流" main task-fix-researcher-agents
3. sessions_send 通知爱衣(agent:main:main):
task_id=task-fix-researcher-agents task=/root/.openclaw/workspace/tasks/task-fix-researcher-agents/task.md


⚠️ 爱衣质检 SOP(收到最终通知后执行)

Step 1:评估工作区大小

du -sb /root/.openclaw/workspace/tasks/task-fix-researcher-agents/

Step 2:读取 session.md

wc -l /root/.openclaw/workspace/tasks/task-fix-researcher-agents/session.md

若行数 N > 0,read session.md 全文。

Step 3:质检要点

通用检查(每次必须):
- 产出是否符合原始需求?
- 执行过程是否有明显问题?

任务特定检查:
- reviewer 是否明确给出「通过」或「不通过」结论?
- 若通过,爱衣执行实际文件修改:edit workspace-researcher/AGENTS.md,用变更方案中的新内容替换旧的「Session 协议」章节
- 若不通过,按 reviewer 意见修改方案后重新审计

Step 4:输出结论

通过
1. 执行文件修改:edit /root/.openclaw/workspace-researcher/AGENTS.md
2. 发工作日志:
bash /root/.openclaw/workspace/scripts/log-to-channel.sh main done "修复 Ai.Res AGENTS.md 工作流" task-fix-researcher-agents
3. 用 message 工具发送给主人(telegram, 92763607),说明变更内容
⚠️ 必须调用 message 工具,不能只在主对话回复

不通过(rejectCount == 0)
1. 分析问题根因,修改变更方案
2. 创建新的 task.md(task_id 加后缀 -retry1),session.md 独立
3. 在原 session.md 末尾追加一行 rejectCount=1
4. sessions_send 给 reviewer 重新审计
5. 发工作日志:
bash /root/.openclaw/workspace/scripts/log-to-channel.sh main retry "修复 Ai.Res AGENTS.md 工作流" "<新执行链>" reviewer 1 task-fix-researcher-agents

rejectCount >= 1(第二次仍失败)
1. 发工作日志:
bash /root/.openclaw/workspace/scripts/log-to-channel.sh main fail "修复 Ai.Res AGENTS.md 工作流" task-fix-researcher-agents
2. message 主人,归纳问题和两次失败原因,请主人裁决

超限处理(工作区 > 80KB)

  1. 仅读 task.md(了解需求)
  2. 读 session.md 末尾 200 行
  3. message 主人:任务已完成,但工作区内容繁多(XXkB),建议人工审计,附简单归纳