Files
gyxx-flow/docs/workflow-console.md
T

3.1 KiB

工作流控制台

GYXX Flow 自带一个只依赖 Python 运行时的工作流控制台。页面从当前工作流目录、定时配置、 调度状态和运行索引动态取数,不维护第二套工作流清单。

启动

cd D:\gyxx-flow
uv run gyxx console

生产凭据不会从源码或任意 .env 自动发现。需要真实运行时,必须显式指定受控环境文件; 已经由服务环境注入的同名变量优先,不会被文件覆盖:

uv run gyxx console --env-file D:\secure\gyxx-flow.env

商品经营正式执行会在启动子进程前校验云端 PostgreSQL、hermes-analyzer 飞书身份、 所需 Hermes 密钥和负责人 open_id。缺少任一必需项时,前端会返回明确的配置错误, 不会创建一个注定失败的“正式运行”。

默认地址为 http://127.0.0.1:8765。控制台进程与调度进程职责分离;服务器仍只运行一个 项目内调度服务:

uv run gyxx schedule run

页面可以:

  • 按内容营销、商品经营、店铺洞察和供应链分别展示全部工作流;
  • 查看工作流定义、执行步骤、定时规则和下一次启动时间;
  • 修改定时类型、一个或多个时间、日期规则、启停状态和业务日期偏移;
  • 以安全预演或正式执行方式手动触发已注册工作流;
  • 查看最近运行状态、步骤统计和经过脱敏的错误详情。

定时配置保存到 config/schedules.json。常驻 Python 调度器会在下一次轮询时重新验证并 加载配置,不需要创建或修改 Windows Task Scheduler 任务。若新规则在错过触发补偿窗口 内已经到期,下一次轮询可能立即启动该工作流。

执行安全

手动运行默认选择“安全预演”,不会产生真实外部副作用。只有在页面中选择“正式执行”并 确认影响后,控制台才会通过固定的 python -m gyxx_flow run ... --execute 入口启动独立 子进程。浏览器不能提交脚本路径、命令参数、环境变量或凭据。

控制台沿用 GYXX_DATA_ROOT,因此运行日志、工作流锁、运行索引和副作用账本与 CLI、调度 服务保持同一边界。生产部署必须为所有进程设置同一个外部数据根。

页面中的“预演完成”和“正式成功”是两种不同状态。预演全部跳过外部写入时不会再显示为 最近正式成功;运行详情和历史记录会保留 dry_runexecute 模式。

远程访问

默认只监听回环地址。若需要绑定非回环地址,必须先通过安全环境注入不少于 24 个字符的 访问令牌:

$env:GYXX_CONSOLE_TOKEN = '<由密钥系统注入的随机令牌>'
uv run gyxx console --host 0.0.0.0 --port 8765

令牌不会写入源码、配置、URL 或日志。页面会在当前浏览器会话中临时保存令牌。生产环境 应再通过 HTTPS 反向代理或 SSH 隧道访问,不应直接把明文 HTTP 控制端口暴露到公网。

控制台不提供工作流入口、参数、运行时绑定或凭据的在线编辑能力;这些仍由受版本控制的 项目配置和代码维护。