workflow-code run
workflow-code run 在本机加载一个 workflow 目录,安装全局 workflow runtime API,执行 executor.createInput 和 workflow run,并按普通 CLI 模式输出结果。
命令格式
参数
| 参数 | 说明 |
|---|---|
workflow-dir | workflow 项目目录。不传时使用当前目录。 |
args | executor.createInput({ args }) 可读取的原始参数数组。 |
选项
| 选项 | 说明 |
|---|---|
--json | 切换为 JSON 报告输出。行为接近 workflow-code json。 |
--conversation-id <id> | 指定会话 ID。仅对启用 executor.conversation.enabled 的 workflow 有状态读写意义。 |
--file-store-dir <dir> | 指定本地文件 store 目录。未传时读取 WORKFLOW_FILE_STORE_DIR。 |
执行流程
| 阶段 | 说明 |
|---|---|
| 解析目录 | workflow-dir 缺省时使用当前目录。 |
| 加载环境 | 执行前加载 workflow 目录下 .env。 |
| 创建输入 | 调用 executor 的 createInput(context)。 |
| 执行 workflow | 调用 workflow.run(input, context),普通节点会触发 CLI 输出 hooks。 |
| 设置退出码 | workflow 失败或 payload errCode 非 0 时退出码为 1。 |
输出
| 情况 | 输出 |
|---|---|
成功且未传 --json | output node 的内容写到 stdout。 |
失败且未传 --json | 完整 JSON 执行报告写到 stderr。 |
传入 --json | 完整 JSON 执行报告写到 stdout。 |
示例
注意事项
| 场景 | 建议 |
|---|---|
workflow 参数以 -- 开头 | 使用分隔符 --,分隔符后的参数会原样传给 workflow。 |
| 需要检查节点报告 | 使用 --json 或改用 workflow-code json。 |
| 需要稳定会话 | 显式传 --conversation-id,否则会话 ID 可能由 runtime 根据输入生成。 |
| workflow 调用 PersistentValue 知识库 helper | 本地运行会优先读取 WORKFLOW_SERVER_URL / WORKFLOW_SERVER_ADMIN_KEY,否则回退到 workspace CLI 登录态 workflow-auth.json,并代理到 server 数据库;未连接 server 时使用 workflow 自己提供的 dry-run 或改在 server/PostgreSQL 下执行。 |
workflow 调用 context.files.createFile(...) | 本地运行会读取同一 server 连接并上传到 server 文件 API;未连接 server 时调用会报错,不会写入本地文件 store。 |