Files
AirPlan-V2/commands/do.md
AirPlan a60d1a0c04 fix: Windows兼容性修复 + P1-24弱模型优化 + 3.2.9b禁止降级方案 + AirRvr三层审查放行标准
- lock.py: 跨平台进程锁(Unix fcntl / Windows msvcrt / O_CREAT|O_EXCL降级)
- eng_mode.py/eng_orchestrator.py: hasattr(os, "getloadavg") Windows防护
- arc_mode.py: 路径分隔符 replace("\\", "/") Windows兼容
- deploy_runtime.py: 修复语法错误(清理 import tempfile 残留)
- P1-24(3.2.18): AMBIGUOUS_VERBS歧义词检测 + SAFE_VERBS安全动词 + validate_task_description()
- TaskNode.keep_constraints 保留约束字段 + JSON序列化
- _build_graph_from_todo 返回歧义警告 + Arc自检集成
- 3.2.9b: FORBIDDEN_DEGRADATION_PATTERNS + check_forbidden_degradation()
- AirRvr三层审查放行标准: ReviewVerdict + evaluate_review_pass() + is_forbidden_pass_reason()
- commands/arc.md: 弱模型安全重写(操作类型拆分+保留约束+自检)
- commands/do.md/eng.md/rvr.md: 禁止降级方案 + 三层审查标准
- 测试: 7个新测试 + 74全量通过

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 09:58:29 +08:00

4.7 KiB
Executable File
Raw Blame History

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 是任务执行器。运行单个任务,强制执行全专家插件路由规则。

硬规则

  1. UI Task Handling (P1-20) — 当任务涉及 UI/前端/界面时,检测并确保 frontend-design Skill 可用。不可用时阻止执行
  2. Evidence Gate (INV-4) — GUI 任务需截图,网络任务需抓包,代码任务需静态分析/测试
  3. 全专家插件强制路由 — finish 时按任务类型和状态强制路由到对应专家插件,不可跳过
  4. 禁止降级实现 (3.2.9b) — 必须严格遵循 AirArc 设计方案,禁止以下行为和语言模式:
    • 禁止使用"兜底方案"、"先这样做"、"以后再补"、"临时方案"等降级语言
    • 禁止自行发明替代方案绕过设计约束
    • 禁止以"能跑就行"为标准降低实现质量
    • 设计方案无法执行时:报 blocked 并说明原因,等待 Eng 协调

子命令

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 返回 routingDecisionsairdbg 时:

# 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 返回 routingDecisionsairxdb 时:

python scripts/airplan.py --mode xdb --project . --prefer auto --output task-{tid}-screenshot.png

截图路径写入 result.json 的 xdbSessions 字段后重新 finish。

AirNDB 路由 — 网络抓包取证

当 finish 返回 routingDecisionsairndb 时:

python scripts/airplan.py --mode ndb --project . --sub enter
# 然后 tcpdump/tshark 抓包,存入 AirPlan/state/airndb/captures/

抓包路径写入 result.json 的 ndbSessions 字段后重新 finish。

AirSDB 路由 — C/C++ 静态分析

当 finish 返回 routingDecisionsairsdb 时:

python scripts/airplan.py --mode sdb --project . --backend cppcheck --target ./src

分析报告路径写入 result.json 的 sdbReports 字段后重新 finish。

AirRvr 路由 — 需求一致性审查

当 finish 返回 routingDecisionsairrvr 时:

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, 界面, 按钮, 对话框, 窗口, 菜单, 控件, 渲染, 布局