
项目摘要
用TypeScript构建并部署AI智能体、工作流和长时后台任务的平台。
Trigger.dev是一个开源开发平台,支持用JavaScript/TypeScript编写AI工作流与后台任务,并提供长时运行、重试、队列、实时更新、日志追踪和弹性伸缩。适合需要将AI应用、自动化流程或资源密集型任务稳定上线的开发团队。
项目详细信息

构建并部署全托管式AI智能体与工作流
Website | Docs | Issues | Example projects | Feature requests | Public roadmap | Self-hosting
关于 Trigger.dev
Trigger.dev 是一个用于在 TypeScript 中构建 AI 工作流的开源平台。提供具备重试机制、队列管理、可观测性和弹性伸缩能力的长时运行任务。
专为构建AI智能体而设计的平台
使用您熟悉的所有框架、服务和LLM构建AI agents,将其部署到 Trigger.dev 后,即可开箱获得具备持久性、长时运行、重试机制、队列管理、可观测性和弹性伸缩能力的任务。
-
无超时限制的长时运行:执行任务时完全不受超时限制,这与 AWS Lambda、Vercel 及其他无服务器平台不同。
-
持久性、重试与队列:利用我们提供的持久化任务、重试机制、队列管理和幂等性,构建坚如磐石的智能体与AI应用。
-
真正的运行时自由:通过系统包自定义已部署任务——运行浏览器、Python脚本、FFmpeg等。
-
人工介入机制:以编程方式暂停任务,直到人工批准、拒绝或提供反馈。
-
实时应用与流式处理:通过订阅运行状态或将AI响应流式传输至您的应用,将后台任务移至前台。
-
可观测性与监控:每次运行都具备完整的追踪和日志记录功能。配置错误告警以快速捕获问题。
核心特性:- JavaScript and TypeScript SDK - 使用熟悉的编程模型构建后台任务
- Long-running tasks - 处理资源密集型任务,无超时限制
- Durable cron schedules - 创建并附加长达一年的循环执行计划
- Trigger.dev Realtime - 触发、订阅并获取任务执行的实时更新,支持LLM流式处理
- Build extensions - 直接接入构建系统并自定义构建流程。运行Python脚本、FFmpeg、浏览器等
- React hooks - 通过我们的React hooks包在前端与Trigger.dev API交互
- Batch triggering - 使用batchTrigger()以自定义负载和选项启动任务的多个执行实例
- Structured inputs / outputs - 为任务定义精确的数据模式,实现运行时负载验证
- Waits - 在任务中添加等待,暂停执行指定时长
- Preview branches - 创建用于测试和开发的隔离环境。与Vercel及git工作流集成
- Waitpoints - 在关键决策点引入人工判断,无需中断工作流程
- Concurrency & queues - 设置并发规则以管理多个任务的执行
- Multiple environments - 支持DEV、PREVIEW、STAGING和PROD环境
- No infrastructure to manage - 自动扩展的基础设施,消除超时和服务器管理负担
- Automatic retries - 若任务遇到未捕获错误,系统将自动尝试重新运行
- Checkpointing - 借助检查点功能,任务具备固有的持久性
- Versioning - 原子化版本控制允许部署新版本而不影响正在运行的任务
- Machines - 配置任务所需的vCPU数量和RAM大小(GB)
- Observability & monitoring - 通过全面的日志记录和可视化工具监控任务的每个性能维度
- Logging & tracing - 为所有任务提供完整的日志记录与追踪
- Tags - 为每次执行附加最多十个标签,支持通过仪表板、实时界面和SDK进行筛选
- Run metadata - 为执行附加元数据,随执行进度更新并可用于前端实时更新
- Bulk actions - 同时对多个执行执行操作,包括重放和取消
- Real-time alerts - 选择偏好的通知方式,接收执行失败和部署状态提醒
在代码库中编写任务
将任务创建在它们所属的位置:您的代码库中。像您已经习惯的那样进行版本控制、本地开发、测试和代码审查。
import { task } from "@trigger.dev/sdk";
//1. You need to export each task
export const helloWorld = task({
//2. Use a unique id for each task
id: "hello-world",
//3. The run function is the main function of the task
run: async (payload: { message: string }) => {
//4. You can write code that runs for a long time here, there are no timeouts
console.log(payload.message);
},
});
部署
使用我们的 SDK 在您的代码库中编写任务。无需管理基础设施,您的任务会自动扩展并连接到我们的云端。当然,您也可以选择自行托管。
环境
我们支持 Development、Staging、Preview 和 Production 环境,让您可以在部署到生产环境之前测试任务。
完整查看每次作业运行
查看每次运行中的每个任务,以便准确了解发生了什么。我们提供每次任务运行的完整追踪视图,让您能够查看每个步骤的详细情况。

快速开始
最快的方式是在我们的 web app 中创建一个账户和项目,并按照入门指南的说明操作。几分钟内即可构建并部署您的第一个任务。
有用链接:
- Quick start - 几分钟内快速上手
- How it works - 了解 Trigger.dev 的工作原理
- Guides and examples - 针对流行框架和用例的逐步指南和代码示例
自行托管
如果您希望自行托管 Trigger.dev,可以按照我们的 self-hosting guides 进行操作:
- Docker self-hosting guide - 使用 Docker Compose 快速启动 Trigger.dev 实例
- Kubernetes self-hosting guide - 使用我们的官方 Helm 图表将 Trigger.dev 部署到您的 Kubernetes 集群
支持与社区
我们在官方 Discord server 中拥有一个活跃的大型社区,提供支持服务,并设有专门的自托管频道。
开发
如需在本地进行设置和开发,或为开源项目做出贡献,请遵循我们的 development guide。