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>
132 lines
4.3 KiB
Markdown
Executable File
132 lines
4.3 KiB
Markdown
Executable File
---
|
||
description: "AirPlan do mode - task executor with UI skill routing and full expert plugin routing"
|
||
argument-hint: "[enter|status|finish]"
|
||
allowed-tools: "[Read, Glob, Grep, Bash, Write, Edit]"
|
||
---
|
||
|
||
# /do
|
||
|
||
AirDo 是任务执行器。运行单个任务,强制执行全专家插件路由规则。
|
||
|
||
## 硬规则
|
||
|
||
1. **UI Task Handling (P1-20)** — 当任务涉及 UI/前端/界面时,检测并确保 frontend-design Skill 可用。不可用时阻止执行
|
||
2. **Evidence Gate (INV-4)** — GUI 任务需截图,网络任务需抓包,代码任务需静态分析/测试
|
||
3. **全专家插件强制路由** — finish 时按任务类型和状态强制路由到对应专家插件,不可跳过
|
||
|
||
## 子命令
|
||
|
||
### enter — 进入 Worker
|
||
|
||
```bash
|
||
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 状态
|
||
|
||
```bash
|
||
python scripts/airplan.py --mode do --project . --sub status
|
||
```
|
||
|
||
### finish — 完成 Worker(含全专家插件路由决策)
|
||
|
||
```bash
|
||
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` 时:
|
||
|
||
```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
|
||
```
|
||
|
||
## AirXDB 路由 — GUI 截图取证
|
||
|
||
当 finish 返回 `routingDecisions` 含 `airxdb` 时:
|
||
|
||
```bash
|
||
python scripts/airplan.py --mode xdb --project . --prefer auto --output task-{tid}-screenshot.png
|
||
```
|
||
截图路径写入 result.json 的 `xdbSessions` 字段后重新 finish。
|
||
|
||
## AirNDB 路由 — 网络抓包取证
|
||
|
||
当 finish 返回 `routingDecisions` 含 `airndb` 时:
|
||
|
||
```bash
|
||
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` 时:
|
||
|
||
```bash
|
||
python scripts/airplan.py --mode sdb --project . --backend cppcheck --target ./src
|
||
```
|
||
分析报告路径写入 result.json 的 `sdbReports` 字段后重新 finish。
|
||
|
||
## AirRvr 路由 — 需求一致性审查
|
||
|
||
当 finish 返回 `routingDecisions` 含 `airrvr` 时:
|
||
|
||
```bash
|
||
python scripts/airplan.py --mode rvr --project . --task-id {tid} --sub review
|
||
```
|
||
审查通过后重新 finish,此时 Rvr 证据已写入 validations。
|
||
|
||
## 证据采集 — 辅助命令
|
||
|
||
**GUI 任务截图**:
|
||
```bash
|
||
python scripts/airplan.py --mode xdb --project . --prefer auto --output task-{tid}-screenshot.png
|
||
```
|
||
|
||
**网络任务抓包**:
|
||
```bash
|
||
python scripts/airplan.py --mode ndb --project . --sub enter
|
||
```
|
||
|
||
**代码任务静态分析**:
|
||
```bash
|
||
python scripts/airplan.py --mode sdb --project . --backend cppcheck --target ./src
|
||
```
|
||
|
||
**代码任务测试**:
|
||
```bash
|
||
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, 界面, 按钮, 对话框, 窗口, 菜单, 控件, 渲染, 布局
|