mcpField
M
manage-run

manage-run

github.com/coleam00Agent 工作流23.8k154 次安装今天更新
代码仓库

关于 manage-run

供 Archon CLI 用户管理当前项目工作流运行的专用技能,假设 Archon 已安装且命令在项目仓库中执行。它涵盖运行列表、状态查看、审批、拒绝、取消及继续执行,并说明交互式关卡的处理方式。

主要功能

  1. 01列出并筛选工作流运行
  2. 02查看运行状态与节点详情
  3. 03审批或拒绝暂停的运行
  4. 04取消或标记运行已放弃
  5. 05继续运行并监控完成状态

适用场景

  1. 01检查项目中最近的工作流运行
  2. 02审查暂停运行并作出关卡决策
  3. 03跟踪后台运行直至完成或失败

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/coleam00/archon --skill manage-run

安装后在 Claude Code 中输入/manage-run确认已加载。

附带文件references/commands.md

详细介绍

管理 Archon 运行

专注于通过 archon CLI 管理工作流运行的技能。此技能假设 Archon 已安装,且你正在项目仓库内操作——当前目录会自动将每条命令限定在该项目中。要编写 工作流、进行设置或配置,请改用更全面的 archon 技能。

最近的运行(实时)

!archon workflow runs --limit 10 2>&1 || echo "Archon CLI not installed. (This skill needs the archon CLI on PATH.)"

输出方式

  • 在任意命令后添加 --json,即可在 stdout 上获取单个、干净的 JSON 对象(在 --json 模式下会自动抑制日志)。如果你要解析结果,优先使用 --json。
  • 不使用 --json 时,会输出人类可读的文本。诊断信息和警告始终输出到 stderr。
  • 当前目录(cwd)决定你能看到哪个项目的运行。从仓库目录运行命令。

动作

目标命令
列出最近的运行(此项目的所有状态)archon workflow runs --json
列出所有项目的运行archon workflow runs --all --json
按状态筛选/限制行数archon workflow runs --status running --limit 50 --json
查看一次运行(状态、错误)archon workflow get <run-id> --json
查看一次运行的逐节点详情archon workflow get <run-id> --verbose --json
仅查看活跃运行(running/paused)archon workflow status --json
启动一次运行,不阻塞archon workflow run <workflow> "<message>" --detach
批准一个暂停的关卡archon workflow approve <run-id> "looks good" --json
接受并完成满足完成条件的循环关卡archon workflow approve <run-id> --json(不加评论)
拒绝一个暂停的关卡archon workflow reject <run-id> "fix X first" --json
主动停止正在运行的 CLI --detach 运行archon workflow cancel <run-id> --json
将暂停或已确认孤立的运行标记为已取消,但不停止主机上的工作archon workflow abandon <run-id> --json

使用模式

监控运行直至完成
archon workflow runs --json                 # find the run id
archon workflow get <run-id> --json         # poll status: running | completed | failed | paused

当 status 为 completed、failed 或 cancelled 时,运行即已结束。

启动工作且不阻塞
archon workflow run archon-assist "Investigate the flaky test" --detach
# returns immediately; the run then appears in `archon workflow runs`

--detach 会在后台子进程中运行工作流。父进程无法打印新运行的 ID(它是在子进程中创建的)——使用 archon workflow runs 查找。如果运行始终没有出现,请检查命令打印的子进程日志路径(或 --detach --json 中的 logPath 字段)。

控制台 UI 提示: 分离运行会显示在 Web 控制台的 Workflow 停靠栏中(停靠栏会按项目列出运行),并且实时更新——即使它是在独立进程中执行的。服务端轮询器会追踪 workflow-event 表,并将新行重放到控制台的实时动态中(在 PostgreSQL 上,NOTIFY 触发器会在同一秒内推送这些行;在 SQLite 上,轮询器会按较短的间隔获取它们)。无需刷新。

批准或拒绝暂停的运行(两步)

--json 模式下的 approve/reject/resume 会记录决定(运行随后可恢复),但不会执行工作流——执行时会输出内容,从而破坏 JSON。因此:

archon workflow approve <run-id> "ship it" --json   # records the approval (resumable: true)
archon workflow resume <run-id>                      # execute it — run this as a BACKGROUND task
archon workflow get <run-id> --json                  # poll until completed/failed

如果你只需记录关卡决定,不需要推进后续的取消或返工流程,那么单独执行 --json 步骤就够了。若要在一次阻塞调用中完成批准并继续运行,请去掉 --json:archon workflow approve <run-id> "ship it" 会自动恢复运行(请将其作为后台任务运行)。

交互循环门:不添加评论 = 接受并完成

当暂停的交互循环门满足任一已声明的完成条件时 (archon workflow get <run-id> --json → .metadata.approval.completionSignaled 为 true),不添加评论直接批准即表示接受完成状态——恢复后,节点会基于已计算的输出直接 完成,不会重新运行。添加评论后批准,则会将其作为反馈运行下一轮。请先读取门的状态,再 审慎选择:

archon workflow get <run-id> --json | jq .metadata.approval.completionSignaled
archon workflow approve <run-id> --json          # accept & complete (finalize, no re-run)
archon workflow approve <run-id> "redo X" --json # run another iteration with feedback

(在项目范围的聊天中,manage_run 工具的 approve 操作也遵循此规则:不提供 message — 或设置 accept: true — 即会完成;提供 message 则会继续迭代。)

参考

如需查看完整的标志列表和各动词的 JSON 结构,请阅读 references/commands.md。

评论

支持 Markdown