Files
AirPlan-V2/commands/dep.md
AirPlan 6130478c96 feat: AirPlan V2 — 全专家插件强制路由 + 事件系统规范化
P0-8 扩大: do_mode.py finish_worker 全专家插件强制路由
- GUI→XDB, network→NDB, C/C++→SDB, done→Rvr, blocked/failed→Dbg
- 证据去重: 已有 xdbSessions/ndbSessions/sdbReports/rvrReviewed 则跳过

P1-GAP17: 事件 emit 规范化
- 新增 7 个事件常量 (TASK_ENTERED, TASK_FINISHED, ENGINE_ENTERED 等)
- 全部 emit 调用替换字符串字面量为常量,零残留
- 30 个事件类型常量全部定义且唯一

P1-GAP18: 事件日志原子轮转
- emit 计数器每 128 次检查轮转,避免每次 emit 读文件
- 清除未使用的 _emit_with_completion/_pending_merge_complete
- 原子轮转: tempfile+os.replace 保证不损坏

eng 极端接管: 强制调用全部专家插件 (Dbg/XDB/NDB/SDB/Rvr)
commands/do.md: 更新为全专家插件路由文档

全量测试: 69 通过, 0 失败

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 15:56:44 +08:00

46 lines
1.3 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
description: "AirPlan dep mode - SSH remote build + deploy + systemd management"
argument-hint: "[deploy|status]"
allowed-tools: "[Read, Glob, Grep, Bash, Write, Edit]"
---
# /dep
AirDep 是部署器。SSH 远程构建 → 二进制传输scp + MD5 校验)→ systemd 生命周期管理 → 部署验证。
## 硬规则
1. **部署前必须已有构建产物** — 本地 `--binary` 路径文件必须存在
2. **传输后 MD5 校验** — scp 后远程 MD5 必须与本地一致
3. **部署后验证** — systemd `is-active` 检查服务状态
## 子命令
### deploy — 执行部署
```bash
python scripts/airplan.py --mode dep --project . --sub deploy --task-id T-001 --host 192.168.1.100 --binary ./build/myapp
```
参数:
- `--task-id`:关联任务 ID
- `--host`:远程主机地址
- `--binary`:本地二进制文件路径
返回 `{task_id, success, md5, service_status}`。emit `deploy.completed` 事件。
制品:`AirPlan/state/airdep/sessions/{session_id}.json`
### status — 查看部署状态
```bash
python scripts/airplan.py --mode dep --project . --sub status
```
## 集成路径
**Do Worker 完成后部署**Worker finish → Eng merge 检测 `deployRequired` 字段 → 调 dep deploy
```bash
python scripts/airplan.py --mode dep --project . --sub deploy --task-id T-001 --host <host> --binary <path>
```