跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://docs.devin.ai/llms.txt

Use this file to discover all available pages before exploring further.

自动化功能可将外部事件——如 Slack 消息、GitHub webhook、Linear 工单更新、计划任务以及自定义 webhook——接入会自动启动的 Devin 会话。这样一来,你不必在每次报告 bug 或 CI check 失败时都手动 @ Devin;只需定义一次触发条件,Devin 就会在每次事件发生时自动处理。

核心概念

一个自动化由三个部分组成:
部分作用
触发器触发自动化运行的事件 (例如 #bugs 中的一条 Slack 消息、一次 GitHub CI 失败,或一次 Linear 标签变更)
条件用于收窄触发范围的可选筛选条件 (例如仅当标签为 bug 时触发,或仅针对特定仓库)
action触发后 Devin 要执行的内容——启动新会话、向现有会话发送消息,或充当分流监控器

操作类型

操作说明
Start session使用你定义的提示创建一个新的 Devin 会话。事件负载会自动作为上下文包含其中。
Message session向现有的长期运行的 Devin 会话发送消息——适合将事件发送到可保持状态的会话中。
Triage Devin一个持续运行的 Devin,用于监控 Slack 频道。它会查看每一条传入消息,判断哪些需要处理,并为需要调查的事项启动子 Devin。详情请参阅 自动分流
Email notification自动化运行时向你发送电子邮件——可设置为每次运行都发送、仅在失败时发送,或仅在成功时发送。

触发源

来源事件类型示例用例
Slack新消息、添加表情回应#incidents 中对 bug 报告进行分流,通过添加 🚨 表情回应来启动调查
GitHubIssue 评论、PR 打开/更新、PR 审查、检查运行 (CI) 、推送自动修复 CI 失败,响应 issue 中的 /devin 评论
LinearIssue 已创建、已添加标签、状态已更改、优先级已更改、已分配在添加标签时对 bugs 进行分流,在工单分配给 Devin 时进行处理
计划周期性 (基于 cron)每日 Sentry 错误扫描、每周依赖更新、夜间冒烟测试
Webhook传入 HTTP 请求通过 webhook URL 将任何外部系统 (PagerDuty、Datadog、Sentry、自定义工具) 接入 Devin
单个自动化可以有多个触发器——它们按 OR 逻辑生效,因此当任一触发器匹配时,自动化就会触发。例如,你可以创建一个同时在 GitHub CI 失败和 Slack 表情回应时触发的自动化。

创建自动化

Automations 页面中

  1. 在侧边栏中打开 Automations
  2. 点击 New automation (或在聊天输入框中用自然语言描述你的需求——Devin 会为你生成自动化配置)
  3. 配置触发器、条件和操作
  4. 点击 Save

从模板开始

  1. 在侧边栏中前往 Automations
  2. 点击右上角的 Templates
  3. 浏览模板库——每个模板都是针对常见工作流程预先配置的自动化
  4. 点击某个模板,即可用其触发器、action 和建议值预填充编辑器
  5. 自定义配置 (例如选择你的 Slack 频道或 repo) 并保存

使用自然语言

在自动化页面上,你可以在底部的聊天输入框中描述你的需求——例如:“当 my-org/my-repo 上的某个 CI 检查失败时,让 Devin 修复它并推送到同一分支。”Devin 会为你生成自动化配置,你可以查看并保存。

配置触发器

Slack 触发器

当在已邀请 Devin 加入的频道中发布消息,或在其中添加表情回应时,Slack 触发器就会触发。
  • Slack 消息:在特定频道中有新消息时触发。配置触发器时,你必须选择该频道。
  • Slack 表情回应:当消息被添加特定的 emoji 表情回应时触发 (例如,用于事件的 🚨) 。你可以按表情回应名称和频道进行筛选。
要使触发器生效,必须先邀请 Devin 加入相应的 Slack 频道。你还必须在 Settings > 集成 > Slack 中连接你的个人 Slack 账户。

GitHub 触发器

GitHub 触发器会在代码仓库事件发生时触发。你必须为每个触发器选择一个特定的代码仓库。
  • Issue comment:当有人在 GitHub issue 中发表评论时触发。通常会搭配 starts_with "/devin" 条件使用,这样用户就可以在任意 issue 中输入 /devin 来触发 Devin。
  • Pull request:在 PR 事件 (如打开、同步等) 发生时触发。
  • Pull request review:当有人在 PR 上提交评审时触发。
  • Pull request review comment:在单条评审评论产生时触发。
  • Check run (CI):当 CI 检查完成时触发。可按 conclusion = failure 筛选,以自动修复失败的构建。
  • Push:当代码被推送到某个分支时触发。
出于安全原因,GitHub 自动化仅适用于私有代码仓库。

Linear 触发器

Linear 触发器会在你已连接的 Linear 工作区中发生问题事件时触发。你必须为每个触发器选择一个团队。
  • 问题已创建:在所选团队中创建新问题时触发。
  • 标签已添加:当某个标签被添加到问题时触发 (例如 bugdevin) 。
  • 状态已更改:当问题的状态发生变化时触发 (例如移至“进行中”) 。
  • 优先级已更改:当问题的优先级发生变化时触发。
  • 已分配:当问题被分配给某人时触发。

计划触发器

计划触发器会按照标准的重复规则定期触发。
  • 周期性:设置频率 (每小时、每天、每周) 和时间。计划在底层采用 iCalendar RRULE 格式。
时间会按你的本地时区显示,但内部以 UTC 存储。

Webhook 触发器

Webhook 触发器可让你通过唯一的 HTTPS 端点将任何外部系统连接到 Devin。
  1. 创建一个使用 Webhook 触发器的自动化
  2. 保存后,从自动化详情页复制 webhook URL 和密钥
  3. 配置你的外部系统 (PagerDuty、Datadog、Sentry 或任何自定义工具) ,使其向该 URL 发送 HTTP POST 请求
  4. 可选添加 payload filter——即一个正则表达式模式;只有当请求正文匹配该模式时,自动化才会触发
Webhook payload 会作为上下文包含在 Devin 会话的提示中。超过 200 KB 的 payload 会被自动截断。

配置 actions

启动会话

这是最常见的action。触发器触发时,Devin 会根据你的提示启动一个新会话。事件负载 (例如 Slack 消息文本、GitHub webhook 请求体,或 Linear 工单详情) 会自动附加到提示中,以便 Devin 获得完整上下文。 选项:
  • 提示:Devin 会遵循的指示。像编写普通的 Devin 提示一样编写即可。
  • Playbook (可选) :在你的提示中使用 @playbook-name,即可包含一个 playbook 来提供额外指示。
  • 标签 (可选) :为此自动化创建的会话添加标签,便于筛选。

向会话发送消息

向现有的长期运行的 Devin 会话发送消息。当你希望使用同一个持久会话持续处理事件,而不是为每个事件都创建新会话时,这一方式很有用。 配置此 action 时,你必须选择目标会话。

分流 Devin (监控)

创建一个持续运行的 Devin 会话,用于监控 Slack 频道。有关此action类型的完整说明,请参阅自动分流指南

电子邮件通知

在自动化运行时发送电子邮件通知。选择接收通知的时机:
  • 始终 — 每次触发时
  • 失败时 — 仅当会话失败或出错时
  • 成功时 — 仅当会话成功完成时

限制与防护措施

自动化功能内置了控制机制,可防止用量失控:

ACU 限制

为此自动化启动的每个会话设置最高 ACU (Agent Compute Unit) 预算。如果 Devin 达到该限制,会话将停止。这可以防止单次调用消耗过多资源。

触发次数限制

设置自动化在一定时间窗口内可触发的次数上限。例如,“每小时最多触发 10 次”可防止嘈杂的 Slack 频道 或接连出现的 CI 失败引发数十个会话。 这两个字段均为可选项——如果不设置,自动化将不受限制地运行。

网络策略

你可以启用网络策略,以限制自动化会话可访问的外部主机。这对于处理不可信用户输入 (例如 Slack 消息、webhook 请求负载) 的自动化尤为重要。如果 Devin 需要访问外部服务,你可以将特定域名添加到允许列表中。

MCP 集成

强烈建议连接 MCP 集成——它们能让 Devin 访问日志、指标和错误详情等运行时数据,从而显著提升自动化的效果。
自动化会与 MCP 集成 配合使用,让 Devin 能够访问外部工具。创建自动化时,Connections 部分会显示推荐的 MCP 服务器及其连接状态。 例如,“Daily Sentry Error Fixes” 模板会推荐 Sentry MCP,以便 Devin 查询 Sentry 中尚未解决的错误。“Datadog Alert Investigation” 模板会推荐 Datadog MCP,用于提取指标和追踪数据。 在创建需要这些 MCP 服务器的自动化之前,请先在 设置 > MCP Marketplace 中启用它们。

Slack 工具访问权限

默认情况下,自动化会话可以读取和写入触发条件中涉及的 Slack 频道。你可以在自动化编辑器的 Slack 工具 部分为其他 Slack 频道授予访问权限。当 Devin 需要读取触发自动化的频道之外的多个频道时,这一设置会很有帮助。

活动与监控

每个自动化都会记录其调用历史。在自动化详情页面中,Activity 选项卡会显示:
  • 最近的调用及其时间戳
  • 每次调用是成功还是被跳过
  • 已创建的 Devin 会话链接
  • 调用失败时的错误消息
自动化列表页面会为每个自动化显示一条迷你趋势图,让你直观了解过去 30 天的活动情况。

启用和禁用

您可以随时在自动化列表或详情页面中启用或禁用自动化。已禁用的自动化将停止处理事件,但会保留其配置。重新启用后,将立即恢复事件处理。

模板

Devin 内置了一组适用于常见工作流程的预置自动化模板:
模板类别功能
在 Slack 上分流 bug 报告监控监控 Slack 频道,并自动分流新收到的 bug 报告
CI 失败修复CI/CD自动修复 PR 中失败的 CI 检查
/devin issue 修复CI/CD响应 GitHub issue 中的 /devin 评论
SRE 事件响应监控在添加 🚨 表情回应后调查事件
每日 Sentry 错误修复监控每日提取最重要的 Sentry 错误并创建修复 PR
Datadog 告警调查监控调查发布到 Slack 的 Datadog 告警
Bug Report Triage分流分流带有 bug 标签的 Linear 工单
客户支持分流分流为 Slack 中的支持消息起草回复
Linear 工单处理分流处理 Linear 中带有 devin 标签的工单
夜间 QA 与冒烟测试维护每晚运行 E2E 测试,并为回归问题创建工单
每周依赖更新维护扫描过时的软件包并创建更新 PR
每周更新日志维护将已合并的 PR 汇总为分类变更日志
可在 Devin 应用的 Automations > Templates 中查看所有模板。