SuperAPI AI 工具集

manage-run

智能体与模型

查看项目

更新于 10-15 12:28

技能介绍

概述

manage-run 是一个专注于通过 archon CLI 管理 Archon 工作流运行的技能。它假定 Archon 已经安装,并且你正在项目仓库内工作——当前目录会自动将每个命令限定到该项目。若要编写工作流、进行设置或配置,请改用更广泛的 archon 技能。

主要能力

该技能提供以下动词(操作):

  • 列出最近的运行(所有状态,当前项目):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
  • 仅显示活动运行(运行中/暂停):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

使用方式

输出处理

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

监控运行直至完成

archon workflow runs --json                 # 找到运行 id
archon workflow get <run-id> --json         # 轮询状态:running | completed | failed | paused

当状态为 completed、failed 或 cancelled 时,运行结束。

非阻塞启动工作

archon workflow run archon-assist "Investigate the flaky test" --detach

--detach 会立即返回,然后在后台子进程中运行工作流。父进程无法打印新的运行 id(在子进程中创建)——用 archon workflow runs 找到它。如果运行从未出现,检查命令打印的子进程日志路径(或 --detach --json 中的 logPath 字段)。

控制台 UI 说明:一个分离的运行会出现在 Web 控制台的 Workflow dock 中(dock 按项目列出运行)并实时更新——即使它在单独的进程中执行。服务器端轮询器尾随 workflow-event 表并将新行重放到控制台的实时馈送中(在 PostgreSQL 上,NOTIFY 触发器在同一秒内推送;在 SQLite 上,轮询器按其短间隔拾取)。无需刷新。

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

--json 的 approve/reject/resume 会记录决定(运行变为可恢复),但不会执行工作流——执行会流式输出输出,这会破坏 JSON。因此:

archon workflow approve <run-id> "ship it" --json   # 记录批准(resumable: true)
archon workflow resume <run-id>                      # 执行它——作为后台任务运行
archon workflow get <run-id> --json                  # 轮询直到 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          # 接受并完成(最终化,不重跑)
archon workflow approve <run-id> "redo X" --json # 使用反馈运行另一次迭代

(在项目范围内的聊天中,manage_run 工具的 approve 操作与此镜像:无消息——或 accept: true——最终化;有消息则迭代。)

适用场景

  • 监控工作流运行进度
  • 启动后台工作流任务
  • 批准或拒绝暂停的门
  • 取消或放弃运行

限制

  • 需要 archon CLI 在 PATH 中
  • 部分操作需要分两步执行(记录决定与执行分离)
  • --detach 启动时父进程无法直接获得运行 ID
  • 当前目录决定项目范围,需从仓库运行

参考

有关每个动词的完整标志列表和 JSON 形状:请阅读 references/commands.md。