Trigger.dev:构建完全托管的AI代理与工作流

仓库:triggerdotdev/trigger.dev  |  ⭐ 15.9k  |  语言:TypeScript  |  协议:Apache-2.0

项目简介

Trigger.dev 是一个开源平台,专为构建和部署完全托管的AI代理及长运行工作流而设计。它解决了传统Serverless架构中常见的超时问题,支持任务重试、队列管理、可观测性和弹性扩展。无论你需要构建AI内容生成管线、数据处理管道还是复杂的Agent编排,Trigger.dev 都能让你用TypeScript以同步方式编写异步逻辑,大幅降低开发复杂度。

如果你对Agent编排系统感兴趣,还可以参考我们的 OpenFang Agent OS教程 了解另一种Agent操作系统架构。

核心功能与架构

功能说明适用场景
Tasks(任务)定义可重试、可队列化的长运行函数AI生成、数据处理、批处理
Triggers(触发器)支持Webhook、Schedule、Event、Delta四种触发方式定时任务、事件驱动、变更检测
Runs(运行实例)每次任务执行生成Run,含完整日志和状态追踪调试、监控、审计
Realtime(实时)支持流式输出和实时进度更新聊天AI、流式生成
Wait & Resume任务可暂停等待外部信号后恢复执行人工审批、多Agent协调
Retry & Queue自动重试策略和并发队列控制高可靠性场景、限流

安装指南

首先安装 Trigger.dev CLI工具和SDK:

# 安装 CLI
npm install -g @trigger.dev/cli

# 初始化项目
npx @trigger.dev/init@latest

# 安装 SDK
npm install @trigger.dev/sdk

# 登录(使用云服务或自托管)
npx trigger.dev login

初始化完成后,会生成 trigger.config.ts 配置文件和 src/trigger/ 目录。

使用示例

以下是一个完整的AI代理工作流示例,包含任务定义、触发器和错误处理:

// src/trigger/ai-agent.ts
import { task, retry } from "@trigger.dev/sdk";
import { openai } from "@trigger.dev/openai";

// 定义AI内容生成任务
export const generateContent = task({
  id: "generate-content",
  maxDuration: 300, // 5分钟超时
  retry: {
    maxAttempts: 3,
    minTimeout: 1000,
    factor: 2,
  },
  run: async (payload: { topic: string; tone: string }) => {
    const response = await openai.chat.completions.create({
      model: "gpt-4",
      messages: [
        { role: "system", content: `用${payload.tone}的语气写作` },
        { role: "user", content: `写一篇关于${payload.topic}的文章` },
      ],
    });

    return {
      content: response.choices[0].message.content,
      tokens: response.usage.total_tokens,
    };
  },
});

// 定义批处理工作流
export const batchWorkflow = task({
  id: "batch-content-workflow",
  run: async (payload: { topics: string[] }) => {
    const results = await Promise.all(
      payload.topics.map((topic) =>
        generateContent.triggerAndWait({ topic, tone: "专业" })
      )
    );
    return { total: results.length, items: results };
  },
});

部署任务到Trigger.dev平台:

# 部署所有任务
npx trigger.dev deploy

# 查看运行日志
npx trigger.dev runs list

# 实时查看日志
npx trigger.dev runs logs <run-id>

与其他工具对比

特性Trigger.devn8nTemporal
语言TypeScript可视化/JSGo/TS/Java
超时限制无限制(托管)有限无限制
AI集成原生支持OpenAI等需插件需自定义
学习曲线极低较高
自托管支持支持支持
可观测性内置Dashboard基础强大

如果你想了解可视化的工作流方案,推荐阅读 n8n工作流自动化教程 进行对比学习。

📚 常见问题

Trigger.dev是什么?

Trigger.dev 是一个开源平台,专为构建和部署完全托管的AI代理及长运行工作流而设计。它解决了传统Serverless架构中常见的超时问题,支持任务重试、队列管理、可观测性和弹性扩展。无论你需要构建AI内容生成管线、数据处理管道还是复杂的Agent编排,Trigger.dev 都能让你用TypeScript以同