Trigger.dev 是一个开源的 TypeScript AI 工作流与 Agent 编排平台,突破 Serverless 超时限制,通过 Checkpoint-Resume 机制支持长时运行任务,原生集成多种大模型 SDK,提供人机协同、自动重试与全链路可观测性。
项目概述#
Trigger.dev 是由 triggerdotdev 组织维护的开源平台,专注于在 TypeScript 中构建、部署和管理长时运行 AI Agent 与工作流。采用 Apache-2.0 许可证,当前版本 v4.4.5(共 617 个 release),支持云托管与自托管双模式。
核心能力#
无超时执行#
与 AWS Lambda、Vercel 等 Serverless 平台不同,Trigger.dev 无执行时间限制,适合视频处理、多日邮件营销、长链 AI 推理等场景。
Checkpoint-Resume 机制#
基于 CRIU(Checkpoint/Restore In Userspace)技术,在任务等待子任务或暂停时对内存、CPU 寄存器、文件描述符做快照并释放资源,事件触发后从断点精确恢复。
高可靠性#
- 自动重试:可配置指数退避、最大次数、随机化等策略
- 幂等性:支持幂等任务定义,避免重复执行
- 原子化部署:每次部署生成不可变原子版本,运行中任务不受新代码影响
AI Agent 与工作流编排#
- 多范式:自主 Agent、Prompt 链式调用、路由分发、并行化、多 Agent 编排、评估器-优化器闭环
- 原生 Tool Calling:深度集成 OpenAI、Anthropic、Vercel AI SDK、OpenAI Agents SDK(TS & Python)、Claude Agent SDK、Mastra
- MCP 协议:内置 MCP(Model Context Protocol)服务器支持
- Skills 与 Rules:可定义 Agent 技能和规则
人机协同#
- 实时流:将 LLM 响应实时流式传输至前端
- Waitpoints:在关键决策点暂停任务,等待人工审批、拒绝或反馈
- Input Streams:通过流式接口与运行中任务交互
并发与调度#
- 任务级并发规则配置
- 优先级队列与批量触发(
batchTrigger()) - 持久化 Cron 调度,最长支持一年周期
运行时扩展#
- 可在任务中执行 Python 脚本(自动安装 requirements.txt)
- 内置 FFmpeg 二进制文件用于视频处理
- 支持 Puppeteer、Browserbase、Lightpanda 浏览器自动化
- 支持 esbuild 插件、apt-get 系统包、Prisma、LibreOffice 等构建扩展
可观测性#
- 每次运行完整追踪和日志
- 标签、元数据、高级过滤
- 实时告警(邮件、Slack、Webhook)
- Dashboard 和查询工具
典型场景#
- AI Agent 开发:多模型编排、工具调用、多步推理
- 数据管道与 ETL:大规模无超时数据处理
- 媒体处理:批量音视频/图像处理
- AI 媒体生成:DALL·E、Fal.ai、Replicate 等
- 营销自动化:多日邮件营销活动编排
- 人机协同工作流:需人工审批的关键决策流程
- Webhook 处理:接收 Stripe、Supabase、自定义 Webhook
- 平台迁移:提供从 Mergent、n8n、Temporal 迁移指南
架构要点#
采用隔离执行环境的 Serverless 架构,通过任务队列、调度器和 Worker 池实现弹性伸缩,支持多区域 Worker 部署。工程上使用 pnpm workspace + Turborepo 管理 Monorepo,包含 apps/、packages/、internal-packages/、docker/、hosting/ 等目录,通过 Changeset 进行版本管理。
快速开始#
云托管:
npx trigger.dev@latest login
npx trigger.dev@latest init
npx trigger.dev@latest dev
npx trigger.dev@latest deploy
自托管: 支持 Docker Compose 和 Kubernetes(Helm Chart)两种方式,CLI 支持多 profile 连接不同环境。
兼容框架: Next.js、Node.js、Bun、Remix、SvelteKit
待确认信息#
- 商业定价细节未在已采集页面中确认
- CRIU 实现的具体代码路径未深入验证
- 已知用户(Supabase、Resend、Unkey)的具体部署规模待确认
- MCP Server 支持的具体 tools/protocols 细节未深入采集