文档开始使用
本页目录

用 AI 助手编排工作流

通过 CLI 或 MCP 查询、查看和修改工作流,与工作台使用同一个 Open Flow 服务。

将 AI 助手连接到你准备使用的 Open Flow 服务。工作台、CLI 和 MCP 操作的是该服务中的同一批工作流;切换客户端不会额外创建工作区或执行服务。

快速开始介绍了 AI 助手的环境配置。以下命令使用 oo flow 命令组。MCP 提供对应的 flow_read、flow_schema、flow_edit、flow_check 和运行工具。

修改前先查询

oo flow schema code --json
oo flow read FLOW_ID --json

修改节点前,先读取相关节点的详情,以及完整的代码或提示词。节点结构说明会列出支持的配置、输入来源、默认值和示例。应用操作和触发器的标识应从部署端的目录查询,不能自行猜测。

基于当前修订版本提交修改

修改请求包含读取时的 baseRevision、固定的 requestId,以及按顺序执行的操作。下面的示例添加一个开始节点、一个代码节点、一条执行连线和一个数据绑定:

{
  "baseRevision": "OBSERVED_REVISION",
  "requestId": "UNIQUE_REQUEST_ID",
  "edits": [
    {
      "op": "node.add", "as": "start", "type": "start", "name": "Start",
      "config": { "inputDefs": { "name": { "schema": { "type": "string" }, "nullable": false } } }
    },
    {
      "op": "node.add", "as": "greet", "type": "code", "name": "Compose greeting",
      "code": "export default ({name}) => ({message: `Hello, ${name}!`});",
      "config": { "outputs": { "message": { "schema": { "type": "string" }, "nullable": false } } },
      "inputs": { "name": { "kind": "output", "node": "$start", "port": "name" } }
    },
    { "op": "edge.connect", "source": "$start", "target": "$greet" }
  ]
}
oo flow edit FLOW_ID --file edits.json --json
oo flow check FLOW_ID --json

as 声明别名时不带 $;同批后续操作用 $alias 引用它。后续请求则使用服务返回的节点引用。同一批修改要么全部提交,要么全部不提交,但保存下来的草稿仍可能存在校验问题。

保留无关配置

更新会递归合并对象,包括 schema。数组会整体替换。未提供的字段保持原值,传入空对象也不会清空原有配置。

{
  "op": "node.update",
  "node": "NODE_REFERENCE",
  "clear": [["retry"]]
}

显式 clear、JSON null、未设置输入和继承默认值,含义各不相同。修改前先读取现有值,并按当前节点结构说明选择支持的输入来源。

处理冲突和响应不确定的情况

如果提交后未能确认结果,使用相同的请求标识重试完全相同的请求。确认原修改是否成功之前,不要换一个新的请求标识。遇到修订版本冲突,需要重新读取草稿,再决定如何合并修改,不能直接覆盖其他人的编辑。

校验不会执行工作流,也不能证明外部账号已准备就绪。发布前,测试相应入口并检查运行记录。详见测试与发布。

资料来源

搜索