Core API 总览

Core API 分组记录业务 workflow 可直接使用的 workflow.* 运行时 API。这里的边界以 core/runtime-api.ts 为准:平台、CLI、App 和 server 会把这些方法注入到 globalThis.workflow,业务 workflow 不需要从 "workflow-code" 导入它们。

入口边界

入口说明
workflow.*业务 workflow 使用的全局 API,来源是 core/runtime-api.ts
workflow-code 包入口CLI、App、server、测试和高级宿主使用的工具入口,来源是 core/index.ts

Runtime API 索引

API说明
defineWorkflow定义 workflow 本体,描述主执行函数。
defineExecutor定义平台如何把参数转成 workflow input,并声明 params、registry、conversation。
createInputNode创建输入解析节点。
createFileInputNode创建文件输入节点,把 file param 引用解析成文件对象。
createLLMNode创建非流式 LLM 调用节点。
createLLMStreamNode创建流式 LLM 调用节点。
createLLMProviderFromEnv从 workflow runtime 环境变量创建 LLM provider。
createLLMProviderRef创建可延迟解析的 provider 引用。
createOutputNode创建同步或流式输出节点,最终输出 WorkflowOutputItem[]
createDetailsOutputNode创建独立可折叠 output item 的便捷输出节点。
createTimerNode / endTimer创建业务计时节点,并在显式结束或 workflow 收尾时写入计时卡片。
createToolApprovalGate创建工具审批包装器;结合 executor tools 注册项和 context.toolPermissions 复用 user-input 等待/恢复协议审批工具调用。
createQuestionClassifierNode创建基于 LLM 的问题分类节点。
runNode执行普通节点并触发节点执行 hook。
runStreamNode执行流式节点,收集 chunks,并产出 finalize 结果。
runIf执行 if / else-if / else 分支,并把分支选择写入运行报告和 Diagram。
runFor执行可追踪的 for 循环,并让 Diagram 用循环容器展示循环体。
runWhile执行可追踪的 while 循环,并让 Diagram 用循环容器展示循环体。
runWorkflow在当前上下文中调用另一个 workflow,复用 KV、会话、provider、token usage 和 trace。
Knowledge Documents通过 PersistentValue 管理项目内 markdown 知识库文档。
getEnv读取当前 runtime 环境中的非空变量。
getRuntimePlatform / isCli / isWeb / isApp判断当前 workflow 的执行宿主是 CLI、App 还是 server web。
getLLMProvider按上下文、节点名和 provider source 解析 LLM provider。
WorkflowError标准 workflow 错误类型。

核心运行对象

多数 API 会围绕 inputcontextnodepayload 运行。
对象类型说明
inputInput 或节点 Output当前 workflow 或节点的输入数据。
contextWorkflowContext / NodeContext包含 provider、KV、conversation、files、metadata、hooks、abortSignal。
payloadWorkflowPayload 子类型节点 payload 应继承 WorkflowPayload,成功时 errCode: 0errMessage: ""
providerLLMProviderSource / LLMProviderLLM 节点通过 provider source 解析实际 provider。

NodeContext 核心字段

字段类型说明
providersProviderRegistryLLM provider 注册表和绑定表。
kvWorkflowKVContext全局、workflow、conversation 三层 KV。
persistentValueWorkflowPersistentValueContextserver 数据库持久值入口,三层 scope 与 KV 同构;CLI/App 已连接 server 时可用,未连接且未注入 store 时调用报错。
conversationWorkflowConversationContext会话状态读写入口。setTitle 可安全建议 UI 标题;未启用会话时其它读写会抛错。
filesWorkflowFileStore | undefined文件引用解析入口;createFile 可生成 server-backed 运行文件。
metadataobject | undefined当前执行元信息,例如 workflow、runId、conversationId。
nodeHooksNodeExecutionHooks | undefined节点开始、chunk、完成等事件回调。
timersWorkflowTimerContext | undefined业务计时节点上下文;createTimerNode 启动计时,endTimer 结束计时。
toolPermissionsWorkflowToolPermissionContext | undefined当前 run 的工具权限上下文。按 executor tools 默认值和宿主覆盖值解析,供 createToolApprovalGate() 或自定义工具调用逻辑判断启用、自动批准和人工审批。
abortSignalAbortSignal | undefined中断执行和 provider 调用。

Payload 约束

字段说明
errCode业务错误码。成功值为 0
errMessage错误说明。成功时统一为空字符串。

追踪

本文档由 issue #46 记录。Runtime platform helper 由 issue #84 记录。PersistentValue、知识库 helper 与 runtime 生成文件由 issue #86 记录。工具权限审批由 issue #92 记录。Runtime API 对齐 core/runtime-api.ts