任务 ID: agents-json-impl  |  文件: task.md  |  最后修改: 2026-02-26 12:05:34

Task agents-json-impl — agents.json 实施:创建注册表 + 改造脚本

文件路径

原始需求

按已审查通过的方案(/root/.openclaw/workspace/tasks/agents-json/analysis.md)实施:

  1. 创建 agents.json 统一注册表
  2. 改造 log-to-channel.sh(替换 agent-labels.conf 读取逻辑)
  3. 改造 session-reset.sh(动态读取 Agent 列表)
  4. 改造 backup.sh(le-b rsync 段 + R2 打包段,同时修复 researcher R2 缺失 bug)

注意事项(来自审查爱):
- backup.sh 改后需加空列表检测,防止 agents.json 读取失败时静默漏备份
- backup.sh le-b 段 main workspace 仍需保留单独一行(main 被 continue 跳过)
- log-to-channel.sh 中 python3 -c 字符串插值为低风险,可接受,暂不加固


执行链

coder → reviewer → 爱衣质检


各 Agent 职责


Ai.Dev(session key: agent:coder:main

任务:按方案实施代码改动。

开始时:
1. 发工作日志:
bash /root/.openclaw/workspace/scripts/log-to-channel.sh coder receive "agents.json实施" agents-json-impl

具体工作:

Step 1:创建 agents.json

路径:/root/.openclaw/workspace/scripts/agents.json

内容:

{
  "agents": [
    {
      "id": "main",
      "name": "Ai",
      "emoji": "🥬",
      "workspace": "/root/.openclaw/workspace",
      "persona": "aichan",
      "session_key": "agent:main:main"
    },
    {
      "id": "coder",
      "name": "Ai.Dev",
      "emoji": "💻",
      "workspace": "/root/.openclaw/workspace-coder",
      "persona": "aichan",
      "session_key": "agent:coder:main"
    },
    {
      "id": "reviewer",
      "name": "Ai.Rev",
      "emoji": "📋",
      "workspace": "/root/.openclaw/workspace-reviewer",
      "persona": "aichan",
      "session_key": "agent:reviewer:main"
    },
    {
      "id": "researcher",
      "name": "Ai.Res",
      "emoji": "🔍",
      "workspace": "/root/.openclaw/workspace-researcher",
      "persona": "aichan",
      "session_key": "agent:researcher:main"
    }
  ]
}

Step 2:改造 log-to-channel.sh

Step 3:改造 session-reset.sh

Step 4:改造 backup.sh

完成后:
1. 将执行日志追加到 session.md
2. 发工作日志:
bash /root/.openclaw/workspace/scripts/log-to-channel.sh coder handoff "agents.json实施" reviewer agents-json-impl
3. sessions_send 通知 Ai.Rev(agent:reviewer:main必须传 timeoutSeconds=0):
task_id=agents-json-impl task=/root/.openclaw/workspace/tasks/agents-json-impl/task.md


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

任务:先评估代码改动是否有显著问题,无问题再测试。

开始时:
1. 发工作日志:
bash /root/.openclaw/workspace/scripts/log-to-channel.sh reviewer receive "agents.json实施" agents-json-impl

Phase 1:代码评估

阅读 coder 的改动,对照方案文档(/root/.openclaw/workspace/tasks/agents-json/analysis.md)检查:
- agents.json 内容是否正确
- 三个脚本改法是否符合方案
- 有无明显 bug 或遗漏

若发现显著问题 → 记录问题,跳过测试,直接通知爱衣质检(在 session.md 注明 phase1_fail=true

Phase 2:测试(仅 Phase 1 通过后执行)

测试项:
1. 验证 agents.json 合法性:python3 -c "import json; json.load(open('/root/.openclaw/workspace/scripts/agents.json')); print('ok')"
2. 验证 session-reset.sh 能正确读取列表:bash /root/.openclaw/workspace/scripts/session-reset.sh --dry-run 2>&1 | head -20(若无 dry-run 则直接读取列表部分验证)
3. 验证 log-to-channel.sh label_to_name 函数:手动调用验证 coder/reviewer/main 返回正确显示名
4. 验证 backup.sh 动态循环语法:bash -n /root/.openclaw/workspace/scripts/backup.sh

完成后:
1. 将评估+测试报告追加到 session.md
2. 发工作日志:
bash /root/.openclaw/workspace/scripts/log-to-channel.sh reviewer handoff "agents.json实施" main agents-json-impl
3. sessions_send 通知爱衣(agent:main:main必须传 timeoutSeconds=0):
task_id=agents-json-impl task=/root/.openclaw/workspace/tasks/agents-json-impl/task.md


⚠️ 爱衣质检 SOP

Step 1:评估工作区大小

du -sb /root/.openclaw/workspace/tasks/agents-json-impl/

Step 2:读取 session.md

wc -l /root/.openclaw/workspace/tasks/agents-json-impl/session.md

Step 3:质检要点

Step 4:输出结论

通过
1. 发工作日志:
bash /root/.openclaw/workspace/scripts/log-to-channel.sh main done "agents.json实施" agents-json-impl
2. message 主人(telegram, 92763607),汇报实施结果

不通过(rejectCount == 0)
1. 分析根因,设计新执行链
2. 创建新 task.md(agents-json-impl-retry1
3. 在原 session.md 末尾追加 rejectCount=1
4. sessions_send 给新执行链起始 Agent
5. 发工作日志:
bash /root/.openclaw/workspace/scripts/log-to-channel.sh main retry "agents.json实施" "coder → reviewer → main" coder 1 agents-json-impl

rejectCount >= 1
1. 发工作日志:
bash /root/.openclaw/workspace/scripts/log-to-channel.sh main fail "agents.json实施" agents-json-impl
2. message 主人,归纳两次失败原因请裁决

超限处理

  1. 仅读 task.md + session.md 末尾 200 行
  2. message 主人说明情况