Includes AirPlan design documents, AircOding-alpha1-plan, AirPlanV2, AirPlan-ParaV2, AirPlan-Para V1 reference docs, and all working code changes across packages. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
4.3 KiB
Executable File
description, argument-hint, allowed-tools
| description | argument-hint | allowed-tools |
|---|---|---|
| AirPlan do mode - task executor with UI skill routing and full expert plugin routing | [enter|status|finish] | [Read, Glob, Grep, Bash, Write, Edit] |
/do
AirDo 是任务执行器。运行单个任务,强制执行全专家插件路由规则。
硬规则
- UI Task Handling (P1-20) — 当任务涉及 UI/前端/界面时,检测并确保 frontend-design Skill 可用。不可用时阻止执行
- Evidence Gate (INV-4) — GUI 任务需截图,网络任务需抓包,代码任务需静态分析/测试
- 全专家插件强制路由 — finish 时按任务类型和状态强制路由到对应专家插件,不可跳过
子命令
enter — 进入 Worker
python scripts/airplan.py --mode do --project . --sub enter --task-id T-001 --task-text "实现登录界面UI"
参数:
--task-id:任务 ID(必须)--task-text:任务描述文本(用于 UI 检测和路由,必须)
创建 AirPlan/state/airdo/tasks/{task_id}/worker-state.json。返回 {taskId, briefPath, resultPath, workerStatePath, uiRouting}。
status — 查看 Worker 状态
python scripts/airplan.py --mode do --project . --sub status
finish — 完成 Worker(含全专家插件路由决策)
python scripts/airplan.py --mode do --project . --sub finish --task-id T-001 --result AirPlan/state/airdo/tasks/T-001/result.json
finish 执行强制路由(按优先级):
| 条件 | 路由目标 | 强制 |
|---|---|---|
| blocked / failed | airdbg |
是 |
| done + 无 validations + 无 files_changed | airdbg |
是 |
| GUI 任务(gui/ui/render/widget/dialog 等) | airxdb |
是 |
| 网络任务(network/rtsp/http/tcp/socket 等) | airndb |
是 |
| C/C++ 文件变更(.cpp/.h/.hpp 等) | airsdb |
是 |
| 所有 done 任务 | airrvr |
是 |
| 无强制路由触发 | merge |
否 |
返回 routingDecisions 列表(可能有多个路由目标,依次处理)。
AirDbg 路由 — 调试修复
当 finish 返回 routingDecisions 含 airdbg 时:
# 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
AirXDB 路由 — GUI 截图取证
当 finish 返回 routingDecisions 含 airxdb 时:
python scripts/airplan.py --mode xdb --project . --prefer auto --output task-{tid}-screenshot.png
截图路径写入 result.json 的 xdbSessions 字段后重新 finish。
AirNDB 路由 — 网络抓包取证
当 finish 返回 routingDecisions 含 airndb 时:
python scripts/airplan.py --mode ndb --project . --sub enter
# 然后 tcpdump/tshark 抓包,存入 AirPlan/state/airndb/captures/
抓包路径写入 result.json 的 ndbSessions 字段后重新 finish。
AirSDB 路由 — C/C++ 静态分析
当 finish 返回 routingDecisions 含 airsdb 时:
python scripts/airplan.py --mode sdb --project . --backend cppcheck --target ./src
分析报告路径写入 result.json 的 sdbReports 字段后重新 finish。
AirRvr 路由 — 需求一致性审查
当 finish 返回 routingDecisions 含 airrvr 时:
python scripts/airplan.py --mode rvr --project . --task-id {tid} --sub review
审查通过后重新 finish,此时 Rvr 证据已写入 validations。
证据采集 — 辅助命令
GUI 任务截图:
python scripts/airplan.py --mode xdb --project . --prefer auto --output task-{tid}-screenshot.png
网络任务抓包:
python scripts/airplan.py --mode ndb --project . --sub enter
代码任务静态分析:
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, 界面, 按钮, 对话框, 窗口, 菜单, 控件, 渲染, 布局