9.2 KiB
Note
本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
构建并部署全托管 AI 智能体与工作流
Website | Docs | Issues | Example projects | Feature requests | Public roadmap | Self-hosting
关于 Trigger.dev
Trigger.dev 是用于在 TypeScript 中构建 AI 工作流的开源平台。支持长时间运行的任务,并提供重试、队列、可观测性(observability)和弹性扩缩容。
专为构建 AI 智能体而设计的平台
使用你熟悉的各类框架、服务和 LLM 构建 AI 智能体,部署到 Trigger.dev 后,即可开箱即用地获得持久化、长时间运行的任务,以及重试、队列、可观测性和弹性扩缩容能力。
-
长时间运行、无超时限制:与 AWS Lambda、Vercel 及其他 serverless 平台不同,你的任务可以完全没有超时限制地执行。
-
持久化、重试与队列:借助持久化任务、重试、队列和幂等性(idempotency),构建稳定可靠的智能体与 AI 应用。
-
真正的运行时自由:通过系统包自定义已部署的任务——可运行浏览器、Python 脚本、FFmpeg 等。
-
人机协同(Human-in-the-loop):以编程方式暂停任务,等待人工批准、拒绝或提供反馈。
-
实时应用与流式传输:通过订阅运行(runs)或将 AI 响应流式推送到应用,把后台作业带到前台。
-
可观测性与监控:每次运行都有完整的追踪与日志。配置错误告警,快速发现 bug。
核心功能:
- 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() 以自定义 payload 和选项发起同一任务的多次运行
- Structured inputs / outputs - 为任务定义精确的数据 schema,并在运行时校验 payload
- Waits - 在任务中添加等待,按指定时长暂停执行
- Preview branches - 创建隔离的测试与开发环境。可与 Vercel 和 git 工作流集成
- Waitpoints - 在关键决策点加入人机协同判断,而不中断工作流
- Concurrency & queues - 设置并发规则,管理多个任务的执行方式
- Multiple environments - 支持 DEV、PREVIEW、STAGING 和 PROD 环境
- No infrastructure to manage - 自动扩缩容的基础设施,消除超时与服务器管理负担
- Automatic retries - 若任务遇到未捕获错误,将自动尝试重新运行
- Checkpointing - 借助检查点(checkpointing)功能,任务天然具备持久化能力
- Versioning - 原子化版本控制,可在不影响正在运行任务的情况下部署新版本
- Machines - 配置任务使用的 vCPU 数量和 RAM(GB)
- Observability & monitoring - 通过全面的日志与可视化工具监控任务性能的各个方面
- Logging & tracing - 为所有任务提供全面的日志与追踪
- Tags - 为每次运行附加最多十个标签,可在 dashboard、realtime 和 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 - 针对流行框架和用例的逐步指南与代码示例
自托管(Self-hosting)
如果你希望自行托管 Trigger.dev,可以按照我们的 自托管指南:
- Docker 自托管指南 - 使用 Docker Compose 快速启动 Trigger.dev 实例
- Kubernetes 自托管指南 - 使用官方 Helm chart 将 Trigger.dev 部署到你的 Kubernetes 集群
支持与社区
我们在官方 Discord 服务器 拥有活跃的大型社区,可提供支持,其中包含专用于自托管的频道。
开发
如需在本地搭建开发环境或为开源项目贡献代码,请参阅我们的 开发指南。

