用途:该技能用于创建持久、可恢复的工作流,适合需要跨进程重启存活、暂停等待外部事件或长时间运行的任务。基于 Vercel 的 Workflow DevKit。
主要能力:通过 "use workflow" 指令将异步函数变为持久工作流,通过 "use step" 将函数变为可缓存、可重试的单元。提供 sleep、fetch、createHook、createWebhook、getWritable 等原语,以及 FatalError、RetryableError 错误类型和 getWorkflowMetadata、getStepMetadata 元数据。客户端 API 包括 start、getRun、resumeHook、resumeWebhook。支持 Next.js、Vite、Astro、Nitro/Nuxt 等框架集成。
使用方式:先查阅随包文档 node_modules/workflow/docs/,可用 glob "node_modules/workflow/docs/**/*.mdx" 查找、grep "your query" node_modules/workflow/docs/ 搜索。建议将逻辑放入步骤函数,工作流函数仅做编排,以避免沙箱限制。工作流沙箱中无 fetch、setTimeout/setInterval 和 Node.js 模块,需用 workflow 的 fetch、sleep 或移入步骤。数据必须可序列化,不支持函数、类实例、Symbol、WeakMap/WeakSet。流式传输仅在步骤中通过 getWritable() 使用,并需 releaseLock()。调试可用 npx workflow health、npx workflow web、npx workflow inspect runs 等命令。
限制:工作流函数运行于沙箱 VM,功能受限;未使用的导入可能导致 500 错误;具体收费、平台与效果资料暂未提供。