用途
flowchad-runner 用于验证 FlowChad 命名流程,覆盖本地、预览、生产或定期关键用户流程场景,通过浏览器证据和按需选择性部署来完成验证。
主要能力
- 使用 Playwright/Navvi 验证命名流程,为每个步骤捕获截图和视频证据
- 遇到 CAPTCHA 时自动切换到 Navvi
- 尽力上传证据
- 将结果发布到 GitHub 并写入本地报告
- 每个阶段作为聚焦的子代理运行,拥有隔离上下文
- 5 阶段顺序执行:01-preflight、02-load-flows、03-walk-flows、04-upload-evidence、05-report
使用方式
参数(按位置从 $ARGUMENTS 解析):$1=flow-name,$2=repo,$3=pr-number,$4=trigger。flow-name 必填,可为具体流程名或 affected/all 选择器;repo 必填;pr-number 可选,设置后会向该 PR 发布结果评论;trigger 可选,默认 manual,取值 pr | merge | cron | manual。
执行前先运行工作区解析,确保在目标仓库检出内运行。阶段 01 到 04 依次启动子代理任务,阶段 05 在主控中内联执行。
适用场景
- 针对影响已声明流程的 PR 进行显式合并前验证
- 部署后的生产验证
- 每周或定时的关键生产冒烟运行
- 当本地 CAPTCHA 行为被显式配置时的手动本地诊断
限制
- 仅文档、Dependabot 或未受影响的 PR:返回 N/A,不创建预览
- 不适用于将纯静态分析呈现为交互式认证
- 不启用全局提供商自动预览;预览是显式和按需的
- 流程不能并行运行,必须一次一个顺序执行,因为它们共享浏览器、会话和角色状态
- 主控回合不能启动浏览器,主控镜像没有浏览器库;Playwright 捕获在 worker devbox 上运行,Navvi 留在主控侧
- 交互式 PASS 需要浏览器证据,静态/curl 诊断最多支持 FAILED 或 BLOCKED
- 缺少 CAPTCHA/Navvi 能力视为 BLOCKED,不是通过也不是生产跳过
- 每个上传资产需带 evidence_class: visual,未分类的能力 URL 30 天后返回 410
- 上传失败尽力交付但必须披露,不阻塞运行也不消失
- 该公共技能不拥有调度器