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:
@@ -1,54 +1,84 @@
|
||||
---
|
||||
description: "AirPlan do mode - task executor with UI skill routing"
|
||||
description: "AirPlan do mode - task executor with UI skill routing and evidence gate"
|
||||
argument-hint: "[enter|status|finish]"
|
||||
allowed-tools: "[Read, Glob, Grep, Bash, Write, Edit]"
|
||||
---
|
||||
|
||||
# /do
|
||||
|
||||
AirDo is the task executor. It runs individual tasks, enforces routing rules, and integrates with other AirPlan modes.
|
||||
AirDo 是任务执行器。运行单个任务,强制执行路由规则,集成其他 AirPlan 模式。
|
||||
|
||||
## Hard Rules
|
||||
## 硬规则
|
||||
|
||||
1. **UI Task Handling (P1-20)** — When task involves UI/frontend/interface design:
|
||||
- Must detect UI tasks via keyword matching (gui, ui, render, widget, frontend, react, vue, etc.)
|
||||
- Must ensure frontend-design Skill is available before executing UI code
|
||||
- If frontend-design Skill is not installed, block the task
|
||||
- Use `ensure_frontend_design_skill()` and `route_ui_task()` functions
|
||||
1. **UI Task Handling (P1-20)** — 当任务涉及 UI/前端/界面时,检测并确保 frontend-design Skill 可用。不可用时阻止执行
|
||||
2. **Evidence Gate (INV-4)** — GUI 任务需截图,网络任务需抓包,代码任务需静态分析/测试
|
||||
3. **Force AirDbg Routing** — done 无证据 → airdbg;blocked/failed → airdbg
|
||||
|
||||
2. **Evidence Gate (INV-4)** — Tasks with GUI/network indicators must have corresponding evidence before finishing:
|
||||
- GUI tasks require screenshot/validation evidence
|
||||
- Network tasks require packet capture/connectivity evidence
|
||||
- Code tasks require static analysis/test results
|
||||
## 子命令
|
||||
|
||||
3. **Force AirDbg Routing (INV-4)** — If task finishes without evidence, force route to AirDbg:
|
||||
- `done` status + no validations/files_changed → route to airdbg
|
||||
- `blocked`/`failed` status → always route to airdbg
|
||||
|
||||
## Sub-commands
|
||||
|
||||
### enter
|
||||
### enter — 进入 Worker
|
||||
|
||||
```bash
|
||||
python "$HOME/plugins/airplan/scripts/airplan.py" --mode do --project . --sub enter --task-id T-001 --task-text "实现登录界面UI"
|
||||
python scripts/airplan.py --mode do --project . --sub enter --task-id T-001 --task-text "实现登录界面UI"
|
||||
```
|
||||
|
||||
### status
|
||||
参数:
|
||||
- `--task-id`:任务 ID(必须)
|
||||
- `--task-text`:任务描述文本(用于 UI 检测和路由,必须)
|
||||
|
||||
创建 `AirPlan/state/airdo/tasks/{task_id}/worker-state.json`。返回 `{taskId, briefPath, resultPath, workerStatePath, uiRouting}`。
|
||||
|
||||
### status — 查看 Worker 状态
|
||||
|
||||
```bash
|
||||
python "$HOME/plugins/airplan/scripts/airplan.py" --mode do --project . --sub status
|
||||
python scripts/airplan.py --mode do --project . --sub status
|
||||
```
|
||||
|
||||
### finish
|
||||
### finish — 完成 Worker(含路由决策)
|
||||
|
||||
```bash
|
||||
python "$HOME/plugins/airplan/scripts/airplan.py" --mode do --project . --sub finish --task-id T-001 --result /path/to/result.json
|
||||
python scripts/airplan.py --mode do --project . --sub finish --task-id T-001 --result AirPlan/state/airdo/tasks/T-001/result.json
|
||||
```
|
||||
|
||||
## UI Task Detection Keywords
|
||||
finish 执行强制路由:
|
||||
- `done` + 有 validations/filesChanged → route to `merge`
|
||||
- `done` + 无 evidence → forced route to `airdbg`
|
||||
- `blocked`/`failed` → forced route to `airdbg`
|
||||
|
||||
UI task detection uses these keywords (case-insensitive):
|
||||
- gui, ui, render, layout, dialog, osd, overlay, visual
|
||||
- widget, pane, toolbar, settings_dialog, canvas, button
|
||||
- window, popup, menu, drm, kms, opengl, vulkan
|
||||
- frontend, react, vue, angular, web, css, html
|
||||
## AirDbg 路由 — 具体操作
|
||||
|
||||
当 finish 返回 `routingDecision.target = "airdbg"` 时,**必须**调 dbg 模式:
|
||||
|
||||
```bash
|
||||
# 1. 启动调试会话
|
||||
python scripts/airplan.py --mode dbg --project . --sub start --task-id {tid}
|
||||
|
||||
# 2. Dbg 按 7 步工作流调试(取证→定位→修复→验证)
|
||||
# 3. Dbg 完成后,重新 finish:
|
||||
python scripts/airplan.py --mode do --project . --sub finish --task-id {tid} --result AirPlan/state/airdo/tasks/{tid}/result.json
|
||||
```
|
||||
|
||||
## 证据采集 — GUI/Network 任务
|
||||
|
||||
**GUI 任务**(涉及 gui/ui/render/widget/dialog 等关键词)— 需要截图:
|
||||
```bash
|
||||
python scripts/airplan.py --mode xdb --project . --prefer auto --output task-{tid}-screenshot.png
|
||||
```
|
||||
截图路径写入 result.json 的 validations 字段。
|
||||
|
||||
**网络任务**(涉及 network/rtsp/http/tcp 等关键词)— 需要抓包:
|
||||
```bash
|
||||
python scripts/airplan.py --mode ndb --project . --sub enter
|
||||
# 然后 tcpdump/tshark 抓包,存入 AirPlan/state/airndb/captures/
|
||||
```
|
||||
|
||||
**代码任务** — 需要静态分析或测试:
|
||||
```bash
|
||||
python scripts/airplan.py --mode sdb --project . --backend cppcheck --target ./src
|
||||
# 或
|
||||
python scripts/airplan.py --mode tst --project . --sub run --task-id {tid} --framework googletest
|
||||
```
|
||||
|
||||
## UI 任务检测关键词(中英文)
|
||||
|
||||
gui, ui, render, layout, dialog, osd, overlay, visual, widget, pane, toolbar, canvas, button, window, popup, menu, drm, kms, opengl, vulkan, frontend, react, vue, angular, web, css, html, 界面, 按钮, 对话框, 窗口, 菜单, 控件, 渲染, 布局
|
||||
|
||||
Reference in New Issue
Block a user