返回顶部
w

wander异步任务监控

Monitor any async task that takes time and needs completion notification — CI, builds, deploys, releases. Use when the user triggers any long-running async task and should not have to poll for results manually.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.6
安全检测
已通过
122
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

wander

Wander — 异步任务完成监控器

不要盯着看。去闲逛。 核心理念:当你触发某个异步操作时,你应当在它完成时收到通知——而不是轮询、刷新或等待。

心智模型(第一性原理)

每个异步任务都具有相同的形态:

触发 → 任务远程运行 → 结果
(代理) (无法加速) (代理和用户都需要知道)

Wander 掌控从中间到右侧的过渡。代理触发任务后继续前进。Wander 将闭环反馈给用户(通知)和代理(结果上下文)

只有当代理知道结果时,闭环才算完成。 在 Wander 报告完成后,代理必须:

  1. 1. 读取终端输出,从 Wander 后台进程获取实际结果。
  2. 根据结果采取行动——在结果确认之前,不要认为任务“已完成”:
- ✅ 成功 → 继续下一步(例如,宣布 PR 就绪、部署、标记发布) - ❌ 失败 → 立即呈现失败信息,获取失败日志,提出修复方案
  1. 3. 切勿假设成功——后台监控启动并不等同于任务成功。

bash

Wander 后台进程退出后,检查结果:


gh run view --json conclusion -q .conclusion

→ success | failure | cancelled | timed_out

如果失败,获取日志供代理诊断:

gh run view --log-failed

任务分类——Wander 应监控的“任务”包括:

任务类型示例Wander 支持
CI 测试lint, 单元测试, e2e✅ 原生 (GitHub Actions)
构建
Docker, web bundle | ✅ 原生 (GHA build.yml) |
| 移动端构建 | EAS iOS/Android | ⚠️ 仅限 GHA 包装器(非 EAS CLI 直接) |
| 部署 | Railway, Fly, Vercel | ✅ 原生 (GHA 部署工作流) |
| 发布/推送 | npm, ClawHub, App Store | ✅ 原生 (GHA 发布工作流) |
| 临时长任务 | 数据库迁移, 数据作业 | ⚠️ 手动:包装在 GHA workflow_dispatch 中 |

当前引擎:仅限 GitHub Actions。对于通过 eas build CLI 触发的 EAS 构建,Wander 无法直接监控——请使用调用 EAS 的 GHA 包装器工作流,然后监控该工作流。

有关完整的 v1 范围 声明(GHA 与非 GHA CLI、变通方案、路线图链接),请参阅仓库 README:v1 范围:当前仅限 GitHub Actions



代理自动触发(强制)

在触发任何映射到 GitHub Actions 工作流的异步任务后,以后台模式启动 Wander,除非用户选择退出。

需要关注的触发信号:

  • - git push 到已配置 CI/CD 的分支
  • PR 创建或合并(如果部署工作流在合并时触发)
  • gh workflow run(手动调度)
  • 由 GHA 包装器支持的 eas build

步骤:

  1. 1. 检查 .workflows.yml 是否存在 → 使用它来选择正确的工作流名称和时机。
  2. 如果 .workflows.yml 不存在但 .github/workflows/ 存在 → 运行 scanworkflows(或询问用户)来识别正确的工作流,然后启动。
  3. 使用 watch-workflow-bg.sh ——始终后台运行,除非用户明确希望阻塞。
  4. 大约 8 秒后检查终端输出并报告初始状态。
  5. 告知用户:“Wander 正在监控 。完成后我会通知您——请继续工作。”
  6. 轮询结果:定期检查终端输出文件或运行 gh run view ID> --json conclusion。在结论为 success 之前,不要声明任务完成。
  7. 结果处理

- 成功 → 向用户报告,继续执行下一步计划
- 失败 → 立即获取 gh run view --log-failed,呈现错误信息,提出修复方案

如果 .github/workflows/ 不存在:提供监控选项但不要自动启动。



何时使用此技能

  • - 用户触发任何耗时超过 30 秒的异步操作
  • 用户说“CI 完成后告诉我”/“构建完成时通知我”
  • 用户即将等待或手动刷新
  • 长流水线:E2E、移动端构建包装器、发布推送、通过 GHA 进行的数据库迁移
  • 任何触及具有 on: push 触发器工作流分支的 git push

何时不使用

  • - 任务在 10 秒内完成(直接内联等待)
  • 不涉及 GitHub Actions 且不存在 GHA 包装器
  • 用户明确表示希望同步等待

前置条件

  • - 已安装并认证 gh CLI
  • 已安装 jq
  • Wander 位于磁盘:WANDER_HOME(默认为 ~/code/wander)
  • 需要 macOS 以支持通知中心;Linux/无头模式:仅输出模式仍然有效

安装

bash
git clone https://github.com/ERerGB/wander.git ~/code/wander
cd ~/code/wander && chmod +x *.sh

添加到 shell rc 文件:

bash
export WANDERHOME=${WANDERHOME:-$HOME/code/wander}
export PATH=$WANDER_HOME:$PATH
alias wf=watch-workflow.sh
alias wfbg=watch-workflow-bg.sh
alias wfdt=watch-workflow-detached.sh



选择合适的模式


模式脚本使用场景
后台watch-workflow-bg.sh默认。 继续工作;收到通知。
分离
watch-workflow-detached.sh | 关闭终端;日志记录到 ~/.wander_logs/ |
| 前台 | watch-workflow.sh | 阻塞会话直到完成(很少使用) |

经验法则:始终后台运行。对于超过 5 分钟且会关闭终端的任务,切换到分离模式。



工作流注册表(.workflows.yml)

每个工作流有不同的时机。注册表告诉 Wander 预期什么:

yaml
workflows:
- name: ci.yml
description: Lint + 单元测试
check_window: 180 # 如果在我们启动时已完成,可接受的宽限窗口
expected_duration: 45 # 典型运行时间
category: smoke

- name: build.yml
description: Docker 构建 + 推送
check_window: 600
expected_duration: 180
category: build

- name: deploy.yml
description: Railway 部署
check_window: 900
expected_duration: 300
category: deploy

checkwindow = 如果工作流在 Wander 启动时已经完成,我们仍应将其视为“我们触发的运行”的回溯时间范围?将其设置为约 6 倍的 expectedduration。

自动生成 用于仓库:
bash
cd /path/to/repo
$WANDER_HOME/scripts-registry.sh scan-workflows --auto-scope

未配置时的默认 check_window:300 秒。



规范使用模式

任何 git push 之后

bash
git push origin main && $WANDER_HOME/watch-workflow-bg.sh ci.yml

使用项目包装器(推荐用于团队)

bash

scripts/watch-ci.sh


REPOROOT=$(cd $(dirname ${BASHSOURCE[0]})/.. && pwd)
WANDERDIR=${WANDERHOME:-$(dirname $REPO_ROOT)/wander}
exec $WANDER_DIR/watch-workflow-bg.sh ci.yml $@

然后:git push && ./scripts/watch-ci.sh

EAS 移动端构建(通过 GHA 包装器)

如果您的 EAS 构建由 GHA 工作流触发(例如 eas-build.yml):

bash
git push origin feat/my-branch && $WANDER_HOME/watch-workflow-bg.sh eas-build.yml

如果 EAS 直接通过 CLI 触发(无 GHA),Wander 无法原生监控——考虑创建一个 workflow_dispatch 包装器。

手动工作流调度

bash
gh workflow run deploy.yml --ref main
$WANDER_HOME/watch-workflow-bg.sh deploy.yml main



边界情况

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 wander-1776078257 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 wander-1776078257 技能

通过命令行安装

skillhub install wander-1776078257

下载

⬇ 下载 wander v1.0.6(免费)

文件大小: 4.98 KB | 发布时间: 2026-4-14 14:39

v1.0.6 最新 2026-4-14 14:39
CD: ff72575bc1c54494aabf8e4560f7c641d334df7e

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部