docs: 全部 12 个命令文件完整化 — 消除 P0/P1 操作歧义
P0: 9 个存根命令文件从 11 行模板扩展为完整操作文档 - dbg: 7 步工作流表格 + 证据类型 + 子命令 + Dbg↔Do 集成路径 - ctx: 三级降级压缩 + 质量校验 + Token 估算 + 陈旧锁清理 - dep: SSH 部署流程 + MD5 校验 + systemd 管理 - tst: 5 种测试框架 + run 命令 + T-TEST 集成 - sec: advisory/blocking 双模式 + 文件/目录/Woker result 三种扫描 - rvr: 审查模式 + highRiskAudit + code-to-design + Eng merge 集成 - sdb: 6 种后端 + diff 模式 + Dbg 取证集成 - ndb: 网络抓包 + Dbg 取证集成 - xdb: kmsgrab/xvfb/fallback 三后端 + Dbg/Do GUI 验证集成 P1: 3 个有内容文件的歧义修复 - do: AirDbg 路由具体命令 + 证据采集(xdb/ndb/sdb/tst)命令 - arc: 三阶段→命令映射表 + phase 推进方式 - eng: monitor 轮询循环伪代码(Agent 无时钟概念,必须循环调 monitor) 全部命令统一使用 `python scripts/airplan.py` 路径(清除旧 $HOME/plugins 引用) 63 项功能测试全通过 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -100,11 +100,36 @@ dispatch 返回 `{waveId, taskIds, dispatchPath}`。**然后按以下步骤操
|
||||
|
||||
### monitor
|
||||
|
||||
spawn Worker 之后**必须进入轮询循环**。CLI 的 `monitor_engine()` 只执行一次检测——你需要循环调用它。
|
||||
|
||||
```bash
|
||||
python "$HOME/plugins/airplan/scripts/airplan.py" --mode eng --project . --sub monitor
|
||||
python scripts/airplan.py --mode eng --project . --sub monitor
|
||||
```
|
||||
|
||||
合并就绪结果,检测停滞 Worker,更新 nextAction。
|
||||
monitor 返回 `{activeWorkerCount, readyToMergeCount, stalledCount, interventionCount, nextAction}`。
|
||||
|
||||
**轮询循环(伪代码,每轮执行)**:
|
||||
```
|
||||
while 有活跃 Worker (activeWorkerCount > 0):
|
||||
1. 等待 60-300 秒(根据 Worker 阶段自适应)
|
||||
2. 运行 monitor 命令
|
||||
3. 如果 readyToMergeCount > 0:
|
||||
a. 找到完成的 Worker(读 state.json activeWorkers 中 status=done 的)
|
||||
b. 对每个完成的 Worker 运行 merge 命令
|
||||
4. 如果 stalledCount > 0:
|
||||
a. 检查 interventions 列表
|
||||
b. action="upgraded-to-airdbg" → 启动 Dbg 会话
|
||||
c. action="terminate-and-block" → 标记任务 blocked
|
||||
5. 如果 activeWorkerCount == 0:
|
||||
退出循环,检查是否需要下一波 dispatch
|
||||
```
|
||||
|
||||
**停滞检测逻辑**(代码自动执行,Agent 只需读结果):
|
||||
- Worker state 文件 mtime > 5 分钟未更新 → 标记 stalled
|
||||
- Worker 存活时间 > 2 小时 → 标记 wall-time-exceeded
|
||||
- 资源压力(loadavg > 2× CPU 数)→ 暂停派发
|
||||
|
||||
**注意**:Agent 没有内置时钟——你必须主动循环调用 monitor,不能等。
|
||||
|
||||
### merge
|
||||
|
||||
|
||||
Reference in New Issue
Block a user