@agentproto/workflow

中文文档
0.8.0发布于 2026/10/27Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 6566

@agentproto/workflow-AIP-15 WorkFlow.md 参考执行. 用于宣布多步代理工作流程抽象管弦形状的标记下加前题格式——其步骤、分支、平行、批准大门、暂停/恢复和补偿

中文使用文档
文档目录5 节
  1. 使用量
  2. 设计规格(后续——此处未执行)
  3. A. 出口/进口:WorkingFlow.md * * * createWorkflow / Vercel AI SD…
  4. B. 代理流动 workflow_start − 工作流程(WorkFlow.md)代理级统一
  5. 许可证

@ agentproto/ 工作流程

AIP-15 (中文(简体) ) WORKFLOW.md 参考执行。 用于宣布多步代理工作流程的抽象管弦形状的标记下+前题格式——它的步法,分支,平行,批准门,暂停/恢复,以及补偿. 与标准对等 defineWorkflow 编号 : defineStep 签名。 执行完全生活在每步TOOL.md合同及其AIP-30 DRIVER绑定中;工作流程本身是纯粹的管弦数据.

状态:0.2.0-α. defineWorkflow 财务报告和审定财务报表 parseWorkflowManifest 已执行; 见 src/index.ts 用于编写路径.

谱: https://agentproto.sh/docs/aip-15 (中文(简体) )

使用量

import { defineWorkflow } from "@agentproto/workflow"

const x = defineWorkflow({
  id: "my-workflow",
  description: "Short purpose.",
  // ...
})

设计规格(后续——此处未执行)

两个只设计的建议,在给守护进程布线时写出 tool- 步骤登记(packages/runtime/src/workflow-tool-registry.ts和 养狗吃它(packages/worktree/routines/worktree-gc-notify/) (中文(简体) ). 卧底 今天存在的东西;这一变化不会使下文的任何内容得到落实.

A. 出口/进口:WorkingFlow.md * * * createWorkflow / Vercel AI SDK 软件

已经存在的东西. 每个TOOL的预测是真实的,在 ToolImplementation 职等(implementTool(tool, body) 从 @agentproto/driver: @agentproto/adapter-mastra是因为 toMastraTool(impl, opts) (单位:千美元)adapters/mastra/src/index.ts:98)对一项执行进行调整以适应 Mastra 的 createTool· ; @agentproto/adapter-ai-sdk是因为 toAiSdkTool(impl, opts) (单位:千美元)adapters/ai-sdk/src/index.ts:74) 适应同一种形状的AI SDK dynamicTool。两者都是运行时间的包装(呼叫时间投影),而不是代码.

在WorkFlow一级 不同 先例值得重用 形状,而不是机制: packages/agencies/mastra/src/codegen.ts是因为 procedureToWorkflow(procedure) 读取程序 . md doctype并发出 a .ts 源文件 应用程序承诺,呼叫 @mastra/core/workflows' createWorkflow({ id, steps: {...} }) 目前为一级骨架(一) TODO-stub Mastra 步骤,每个程序步骤;分支/签署门排放 还是评论,不是真的 .then/.branch 连锁). 没有投影仪构建一个 马斯特拉工作流程 对象 从a RuntimeWorkflow 今天是比赛时间. packages/mastra (AIP-42 AGENT.md = Mastra)有: WorkflowResolver 类型 a 代理可以用来 附 录 外部构建的工作流程,但 MastraWorkflowLike = unknown (单位:千美元)packages/mastra/src/types.ts:27) —— 内容 解决一个对 有点 工作流程对象,它不构建一个.

拟议形状——运行时投影,不是代码. A 类 RuntimeWorkflow (单位:千美元) compileWorkflow 输出) 已携带活 ToolHandle + 键 DriverHandle[] 每个工具步骤的候选人——相同的投入 runTool 已经 调度。 这说明 @agentproto/workflow-mastra 软件包,兄弟 改为 adapter-mastra,显示 toMastraWorkflow(compiled, opts): MastraWorkflow 将编译为 RuntimeWorkflow 电话通话时间——相同 一级升级关系 toMastraTool 必须 implementTool编码 由于生成的文件是 意为世代相传的手工定制; WorkingFlow. MD的步骤是 意思是按申报的运行,所以没有什么可以手动编辑的——运行时间 投影更适合这里.

步相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相RunStep 种类, packages/workflow-runtime/src/types.ts:

RunStep.kind马斯特拉原始页:1
toolcreateStep({execute}) 包装 runTool同今天一样的调度——没有新的路径. 连锁通过 .then(step)。 。 。 .
group平地变平 .then().then()...
branch.branch([[cond, then], [elseCond, otherwise]])cond 把台阶包起来 Selector<boolean> 读取 Mastra 运行的上下文代替 Bindings。 。 。 .
parallel.parallel([...branches])直接对决.
map.foreach(step, { concurrency })concurrency ← MapStep.parallelism。 。 。 .
loop.dowhile(step, cond) 编号 : .dountilMastra的原生回路没有硬迭代帽; LoopStep.maxIterations 需要一个合成的反相步骤——标出差距,而不是在这里解决.
suspend 编号 : approval玛斯特拉是本地人 .suspend() /恢复任何步骤中最接近的尺寸——两者都已经是AIP-7形.
subworkflow筑巢 createWorkflow(...) 作为一步Mastra在本土上支持工作流程即行即行.
agent步骤 execute 调用相同的 AgentSessionHost 移植守护进程已注入Mastra 没有任何会话- 生命周期原始( 会话Ref/ sandbox/ policy) 来映射到—— 包接现有的主机端口, 而不是强制匹配本地端口 .
transform很简单的一步, execute: async ({inputData}) => step.compute(...)只能通过一个基于输入的手柄在 PR 之后才能到达 compile-workflow.ts 过关个案(参见 run-workflow.test.ts 编号 : compile-workflow.test.ts) (中文(简体) ).

AI SDK方向——比马斯特拉差距要小得多. AI SDK(v5/v6),每架 adapters/ai-sdk'pareDep'没有一等阶图原始——它的 单位是一个工具调用循环( q)generateText编号 :streamText 与 tools + 键 stopWhen) (中文(简体) ). @agentproto/workflow-runtime是因为 runWorkflow 实值 已经 (单位:千美元) 便携式、 依附光线的async 函数, 没有守护进程组合 (单位:千美元)(args: RunWorkflowArgs) => Promise<WorkflowRunResult>),所以自然而然地 "预测"更接近于无: toAiSdkWorkflowTool(compiled, opts) 包装 (input) => runWorkflow({ workflow: compiled, input }).then(r => r.output) 作为单一的AI SDK dynamicTool (全工作流程-一工具)——不 需要逐步进行绘图,因为没有相互竞争的控制流量 与 Mastra 不同.

进口方向(Mastra/AI-SDK → WorkFlow.md),简要. 来自马斯特拉:a Workflow 对象会暴露自己的步骤图,所以 fromMastraWorkflow(wf): WorkflowHandle 可以走它 并释放一个条目。 mjs- 形状的手柄—— 工具 步入马斯特拉自己的 step.execute 通过合成 ToolHandle +驱动. 分支/ Loop 语义上两者之间差异很大 转接的引擎可能会丢失 这是有记录的限制, 在第一个剪接点里不是要解决的 AI SDK:没有步骤图 要导入,仅一个 generateText+ 键tools 打电话 唯一明智的 "进口"将整个循环嵌入 tool- 不错的一步.

B. 代理流动workflow_start− 工作流程(WorkFlow.md)代理级统一

已经存在的东西. workflow_start按步骤设置 (单位:千美元)workflowStepSchema, (中文(简体) ), packages/runtime/src/orchestration-tools.ts:747(b) —— label编号 :adapter编号 :prompt编号 :sessionRef编号 :cacheable编号 :sandbox编号 :policy 是一个 aIP-15的近精确结构子集 AgentStep (单位:千美元)packages/workflow-runtime/src/types.ts: label→id其它的一切都会 a 1:1 字段名称匹配. workflow_start是因为 stages: [{ steps: [...] }] 实值 同位素为线性顶级列表 ParallelSteps,每阶段一次,每阶段一次 树枝相接 AgentStep。两个表面已经经过相同的 runWorkflow 引擎(按此 PR 框架) —— 它们只在 撰写 平面:一个具有声波的MCP-工具 JSON形状对AIP-15 前题/入口.mjs,均以 compileWorkflow → runWorkflow。 。 。 .

拟议统一,分三个不突破阶段:

  1. 纯 I/ O 无线映射功能 stagesToWorkflowHandle(input): WorkflowHandle 转动 { workflowId, stages, ... } 输入为条目形状 控件 : stages.map((stage, i) => ({ id: stage.label ?? \阶段 ${i}, 类型 : "并行", 分支 : stage. steps.map(s { id: s. label, steps: [{类型:"代理人", id: s. label, 适配器: s. adapter, 即时:() => s.prompt, session ref: s. session Ref, s. sandbox: s. sandbox, policy: s. policy, 互联网档案馆的存檔,存档日期2013-12-27, 可缓存: s.caxable }}}))(a single one-step stage can degenerate to a bare代理人步骤 -- -- 可选简化,不要求 (第1段).
  2. 重新执行 workflow_start处理器在(1)方面: 建立手柄, 然后编译 + 通过完全相同的路径运行 startFromFile 已经 ,而不是在 workflow-runner.ts。 MCP 工具的请求/答复 JSON 保留 字节相同—— workflow-mcp-e2e.test.ts现有主张应 没有改变,因为只有内部移动。 这是报酬: 一 执行器,一个编译器,两个作者的前端而不是两个执行器.
  3. 一次(2)船, workflow_start工具描述可以说是糖 超过工作时速,md代理步骤,和 a workflow_run_stages (或类似) 切入点可以跳过 JSON – handle – 编译呼叫者的回程 想要没有 MCP 工具特定形状的映射.

故意超出这个SPEC的范围: 折旧/驱逐 workflow_startJSON级的外形——它是一个公共的MCP表面与 现有呼叫器( 例程) agent 目标、中心、外部整合; 退休需要明确的人类决定,而不是单方面的后续行动. 范围以外: 运行跟踪 状态机器 (单位:千美元)RunState编号 :status()编号 :cancel()缩放 workflow-runner.ts(b) —— 步骤 (2) 仅统一 COMPILE 路径; 运行/状态/取消/升级 簿记是分开的,更大的地表,标记为第四阶段后续.

许可证

麻省理工学院——见 自由主义。 。 。 .

版本与发布记录

@agentproto/workflow 共发布 12 个版本,首次发布于 2026/06/16;过去 12 个月发布了 12 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.8.0latest2026/10/279 天前
0.7.22026/10/1918 天前
0.7.12026/09/301 个月前
0.7.02026/09/271 个月前
0.6.12026/09/171 个月前
0.6.02026/09/091 个月前

关于 @agentproto/workflow 的常见问题

@agentproto/workflow 是什么?

@agentproto/workflow-AIP-15 WorkFlow.md 参考执行. 用于宣布多步代理工作流程抽象管弦形状的标记下加前题格式——其步骤、分支、平行、批准大门、暂停/恢复和补偿

如何安装 @agentproto/workflow?

在项目目录运行 npm install @agentproto/workflow,或使用 pnpm add / yarn add / bun add。

@agentproto/workflow 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@agentproto/workflow 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@agentproto/workflow 可以商用吗?

@agentproto/workflow 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@agentproto/workflow 的下载量有多少?

根据 npm 官方下载统计,@agentproto/workflow 在 2026/10/05 – 2026/11/03 这 30 天内被下载 6,566 次,日均约 219 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@agentproto/workflow 还在维护吗?

最新版本 0.8.0 发布于 2026/10/27(9 天前);至今共发布 12 个版本,其中过去 12 个月发布了 12 个;首次发布于 2026/06/16。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。