Skip to content

可视化工作流

xopc 工作流把可重复的多步骤工作变成可视化任务方案。用户在画布上编排步骤、用自然语言描述修改、实时查看每一步,并直接使用最终结果,不需要阅读代码。

工作流定义是带版本的有向无环图。系统不再提供脚本格式和脚本执行路径。

产品模型

  • 模板:描述一类任务如何完成。
  • 草稿:尚未发布的可视化修改,会自动保存。
  • 版本:一次不可变的已发布定义。
  • 运行:执行启动时锁定的图和版本。
  • 自动化:决定已发布工作流何时运行。

因此,工作流只负责“怎么做”,自动化只负责“什么时候做”。

创建与编辑

打开 #/workflows,选择“创建任务模板”,然后可以:

  1. 用自然语言描述想要的结果,由 xopc 生成可视化草稿;
  2. 在画布上直接添加、连接和调整步骤。
步骤用途
输入接收目标和结构化输入;每个流程必须且只能有一个。
AI 任务让独立 Agent 完成一个聚焦任务;互不依赖的任务会并行执行。
判断用简单规则选择“是”或“否”分支。
合并汇总所有实际执行分支的结果。
结果生成最终摘要和结构化结果;每个流程必须且只能有一个。

选择步骤后可编辑名称、用途和自然语言指令。模型、工具、结构化输出和迭代次数属于高级设置,不应干扰普通用户。

草稿自动保存。发布时服务端会校验完整流程并创建新版本。如果其他编辑者已先发布,旧编辑器的保存会被拒绝,不会静默覆盖。

校验规则

服务端会一次返回所有已发现问题。可发布的流程必须满足:

  • 恰好一个输入和一个结果;
  • 节点、连线 ID 唯一;
  • 连线有效,不允许自连和环路;
  • 所有步骤都能从输入到达;
  • 所有步骤最终都能到达结果;
  • 每个判断都有“是”和“否”两条分支;
  • 每个 AI 任务都有明确指令。

编辑过程可以暂时不完整,因为拖拽时出现断开的节点很正常;但无效流程不能发布或运行。

运行与排障

启动工作流后,系统会创建独立工作流会话,并保存所执行图和版本的快照。以后修改模板不会改变历史运行。

运行页会在同一张图上显示每个节点的状态:等待、执行中、已完成、因未选择该分支而跳过、失败。

点击节点可查看输入、输出、耗时、模型/工具详情和错误。运行失败时,“修复这个工作流”会打开同一张图,并自动填入针对失败节点的修改要求。

所有已就绪且互不依赖的节点会并行运行。判断只激活选中的分支;合并等待实际激活的前置步骤并忽略跳过分支。活动 AI 节点失败或图无法继续推进时,本次运行失败。

使用入口

入口行为
工作流中心选择模板、填写目标、查看实时流程图。
Chatworkflow 工具按名称启动已发布模板。
自动化定时、Webhook 或手动触发器直接启动模板。
REST API不经过 Assistant turn,直接创建和监控运行。
TUI / 消息渠道接收精简进度和最终结果。

工作流工具只接受模板名称和运行输入,不接受内联可执行定义。

内置模板与自动化

内置模板覆盖仓库审计、调研、规划、决策、会议准备、周复盘、内容创作和竞品分析等常见场景。内置与自定义模板使用完全相同的图模型和运行时。复制内置模板后可以独立编辑,不会修改原模板。

周期性任务应创建自动化并选择一个已发布工作流。自动化保存触发条件和可靠性策略,工作流保存任务逻辑;自动化历史会链接到对应运行,以便查看准确版本、流程和结果。

只有在模型需要临时决定是否运行工作流时,才使用 Agent 指令型自动化。固定周期任务优先直接运行工作流,更简单也更易审计。详见 自动化

存储

自定义定义以 JSON 保存到 ~/.xopc/workflows/。版本快照和草稿位于同一工作流存储下的私有子目录。写入采用临时文件加原子重命名。

删除自定义工作流会同时删除当前定义、版本历史和相关草稿。内置模板不能删除。

REST API

所有路由使用网关控制台相同的 Bearer token。

方法路径用途
GET/api/workflows/definitions列出模板。
GET/api/workflows/definitions/:id读取当前流程图。
POST/api/workflows/definitions/validate不发布,仅校验流程图。
POST/api/workflows/definitions/generate根据自然语言生成或修改流程图。
POST/api/workflows/definitions携带 expectedRevision 发布。
DELETE/api/workflows/definitions/:id删除自定义模板及历史。
GET/api/workflows/definitions/:id/revisions列出已发布版本。
GET/api/workflows/definitions/:id/revisions/:revision读取指定版本。
POST/api/workflows/definitions/:id/revisions/:revision/restore将旧版恢复为一个新版本。
GET/api/workflows/drafts列出可视化草稿。
GET/api/workflows/drafts/:draftId读取草稿。
POST/api/workflows/drafts用乐观并发创建或更新草稿。
DELETE/api/workflows/drafts/:draftId丢弃草稿。
POST/api/workflows/runs启动运行并返回运行/会话 ID。
GET/api/workflows/runs列出运行。
GET/api/workflows/runs/:runId获取实时投影后的运行视图。
POST/api/workflows/runs/:runId/cancel停止活动运行。
POST/api/workflows/runs/:runId/retry启动一次全新重试。
POST/api/workflows/runs/:runId/replay重放失败检查项或阶段。

配置与边界

工作流是否可用及运行限制由所选 Agent 的能力清单决定。AI 节点可以选择 smalllarge 等模型用途;无法解析的用途会明确失败,不会静默改变行为。

当前边界:

  • 工作流必须无环;
  • AI 节点内部不能嵌套启动工作流;
  • 已取消运行重试时从头开始;
  • 各消息渠道的进度展示受渠道能力限制,网关始终提供完整节点图。

基于 MIT 许可证发布