feat: skills - archive auto-tmux report packs

This commit is contained in:
tukuaiai
2026-05-19 14:01:28 +08:00
parent b46c412ec2
commit 1a53248281
6 changed files with 23 additions and 4 deletions
+2 -1
View File
@@ -135,6 +135,7 @@ skills/auto-tmux/scripts/swarm-timeline.sh --dir /tmp/ai_swarm --out /tmp/ai-swa
skills/auto-tmux/scripts/swarm-blockers.sh --dir /tmp/ai_swarm --out /tmp/ai-swarm-blockers.md
skills/auto-tmux/scripts/swarm-report-pack.sh --dir /tmp/ai_swarm --session ai-hub --out /tmp/ai-swarm-report-pack
skills/auto-tmux/scripts/swarm-report-pack.sh --dir /tmp/ai_swarm --out /tmp/ai-swarm-report-pack --attach /tmp/auto-tmux-remote
skills/auto-tmux/scripts/swarm-report-pack.sh --dir /tmp/ai_swarm --out /tmp/ai-swarm-report-pack --tar
skills/auto-tmux/scripts/swarm-assign.sh --swarm-dir /tmp/ai_swarm --session ai-hub --out /tmp/ai-swarm-assign.md
skills/auto-tmux/scripts/swarm-health.sh --session ai-hub --swarm-dir /tmp/ai_swarm --out /tmp/auto-tmux-health
skills/auto-tmux/scripts/remote-readonly.sh --host user@example.com --session ai-hub --out /tmp/auto-tmux-remote --dry-run
@@ -289,7 +290,7 @@ skills/auto-tmux/scripts/swarm-dispatch.sh --role worker --target <session>:<win
- `scripts/swarm-export.sh`: 导出任务、依赖和锁的 JSONL 状态包
- `scripts/swarm-timeline.sh`: 渲染 `status.log` 的 Markdown 时间线
- `scripts/swarm-blockers.sh`: 聚合 BLOCKED/FAIL 任务、锁和最近异常状态
- `scripts/swarm-report-pack.sh`: 聚合 board、依赖图、时间线、阻塞清单、分配建议、附件`manifest.json`
- `scripts/swarm-report-pack.sh`: 聚合 board、依赖图、时间线、阻塞清单、分配建议、附件`manifest.json` 和可选 tar.gz
- `scripts/swarm-assign.sh`: 根据 ready tasks 和 worker pane 生成只读分配建议
- `scripts/swarm-health.sh`: 汇总 tmux 与 swarm state 的只读健康检查报告包
- `scripts/remote-readonly.sh`: 通过 SSH 只读采集远端 tmux 拓扑、pane 输出和 `metadata.jsonl`
@@ -117,6 +117,7 @@ skills/auto-tmux/scripts/swarm-timeline.sh --dir /tmp/ai_swarm --out /tmp/ai-swa
skills/auto-tmux/scripts/swarm-blockers.sh --dir /tmp/ai_swarm --out /tmp/ai-swarm-blockers.md
skills/auto-tmux/scripts/swarm-report-pack.sh --dir /tmp/ai_swarm --session ai-hub --out /tmp/ai-swarm-report-pack
skills/auto-tmux/scripts/swarm-report-pack.sh --dir /tmp/ai_swarm --out /tmp/ai-swarm-report-pack --attach /tmp/auto-tmux-remote
skills/auto-tmux/scripts/swarm-report-pack.sh --dir /tmp/ai_swarm --out /tmp/ai-swarm-report-pack --tar
skills/auto-tmux/scripts/swarm-assign.sh --swarm-dir /tmp/ai_swarm --session ai-hub --out /tmp/ai-swarm-assign.md
skills/auto-tmux/scripts/swarm-health.sh --session ai-hub --swarm-dir /tmp/ai_swarm --out /tmp/auto-tmux-health
skills/auto-tmux/scripts/remote-readonly.sh --host user@example.com --session ai-hub --out /tmp/auto-tmux-remote --dry-run
@@ -40,13 +40,14 @@
| 32 | `4a35cbc` | session 安全策略 | `session-safety.md` |
| 33 | `ff8cd86` | 远程证据包增强 | `remote-readonly.sh` 输出 `metadata.jsonl`validator 覆盖 fake SSH |
| 34 | `5677df3` | 报告附件索引 | `swarm-report-pack.sh --attach` |
| 35 | `本轮` | 报告包 manifest | `swarm-report-pack.sh` 输出根级 `manifest.json` |
| 35 | `7a2ff13` | 报告包 manifest | `swarm-report-pack.sh` 输出根级 `manifest.json` |
| 36 | `本轮` | 报告包压缩 | `swarm-report-pack.sh --tar` |
## 后续候选方向
| 优先级 | 方向 | 说明 |
|:---|:---|:---|
| P3 | 报告包压缩 | 为 `swarm-report-pack.sh` 增加可选 tar.gz 打包 |
| P3 | worker 结果收敛 | 从 report pack 中提取 worker 产出摘要 |
## 每轮验收清单
+1
View File
@@ -88,6 +88,7 @@ skills/auto-tmux/scripts/swarm-blockers.sh --dir /tmp/ai_swarm --out /tmp/ai-swa
# 生成完整报告包
skills/auto-tmux/scripts/swarm-report-pack.sh --dir /tmp/ai_swarm --session ai-hub --out /tmp/ai-swarm-report-pack
skills/auto-tmux/scripts/swarm-report-pack.sh --dir /tmp/ai_swarm --out /tmp/ai-swarm-report-pack --attach /tmp/auto-tmux-remote
skills/auto-tmux/scripts/swarm-report-pack.sh --dir /tmp/ai_swarm --out /tmp/ai-swarm-report-pack --tar
# 生成 worker 分配建议
skills/auto-tmux/scripts/swarm-assign.sh --swarm-dir /tmp/ai_swarm --session ai-hub --out /tmp/ai-swarm-assign.md
+14 -1
View File
@@ -7,7 +7,7 @@ usage() {
swarm-report-pack: build an auto-tmux swarm report pack
Usage:
swarm-report-pack.sh [--dir DIR] [--session NAME] [--out DIR] [--attach DIR ...]
swarm-report-pack.sh [--dir DIR] [--session NAME] [--out DIR] [--attach DIR ...] [--tar]
Defaults:
--dir AUTO_TMUX_SWARM_DIR or /tmp/ai_swarm
@@ -15,6 +15,7 @@ Defaults:
This script is read-only for tmux and swarm state. It writes only to --out.
Use --attach to copy explicit external evidence directories into the report pack.
Use --tar to create OUT.tar.gz after the directory report pack is written.
EOF
}
@@ -39,6 +40,7 @@ session=""
out_dir="/tmp/auto-tmux-report-pack-$(date +%Y%m%d-%H%M%S)"
attachments=()
created_at="$(date -Is)"
make_tar="0"
while [[ $# -gt 0 ]]; do
case "$1" in
@@ -58,6 +60,10 @@ while [[ $# -gt 0 ]]; do
attachments+=("${2:-}")
shift 2
;;
--tar)
make_tar="1"
shift
;;
-h|--help)
usage
exit 0
@@ -165,4 +171,11 @@ $(if [[ -n "$attachment_lines" ]]; then printf '%s' "- [attachments.md](./attach
EOF
rm -f /tmp/auto-tmux-report-pack.log
if [[ "$make_tar" == "1" ]]; then
command -v tar >/dev/null 2>&1 || die "tar not found"
parent_dir="$(cd "$(dirname "$out_dir")" && pwd)"
base_dir="$(basename "$out_dir")"
tar -C "$parent_dir" -czf "$out_dir.tar.gz" "$base_dir"
printf 'swarm report archive written: %s\n' "$out_dir.tar.gz"
fi
printf 'swarm report pack written: %s\n' "$out_dir"
@@ -149,6 +149,8 @@ run_gate "swarm-report-pack attachment" bash -c '
grep -Fq "\"type\": \"auto-tmux-swarm-report-pack\"" "$tmp/out/manifest.json"
grep -Fq "\"attachments\"" "$tmp/out/manifest.json"
grep -Fq "remote-tmux.txt" "$tmp/out/attachments/remote/remote-tmux.txt"
"$1" --dir "$tmp/swarm" --out "$tmp/out-tar" --attach "$tmp/remote" --tar >/dev/null
test -f "$tmp/out-tar.tar.gz"
rm -rf "$tmp"
' _ "$script_dir/swarm-report-pack.sh"
run_gate "swarm-assign help" "$script_dir/swarm-assign.sh" --help