跳转到主要内容

概览

当 Devin 正在跟踪某个 pull request(拉取请求,PR)时,它会监控新产生的评论并自动回复。默认情况下,Devin 会忽略来自机器人用户的评论(例如 github-actions[bot]dependabot[bot] 或代码审查机器人),以防止出现无限反馈循环。Autofix settings - bot comments(Autofix 设置 - 机器人评论) 功能允许你控制这一行为,使 Devin 能够自动回复你信任的机器人的评论。 这是一个组织层面的设置,会应用于你所在组织内的所有 Devin 会话。

查找位置

依次前往 Settings > Customization > Pull request settings > Autofix settings - bot comments
只有组织管理员可以修改此设置。

可用模式

不响应机器人评论(默认)

Devin 会忽略所有来自机器人用户的 PR 评论。这是最安全的选项,可避免 Devin 与其他自动化工具之间出现无限循环的风险。

响应所有机器人评论

Devin 会像处理人类评论一样处理机器人评论,并全部予以处理。
此模式可能会与自动化代码审查机器人导致无限循环。例如,如果代码审查机器人在 Devin 的 PR 上发表评论,Devin 通过代码变更进行回复,而机器人再次发表评论,这个循环就可能无限重复。仅在你确信你的机器人不会产生反馈循环时才使用此模式。

仅响应特定机器人

你可以提供一个包含机器人用户名的允许列表,让 Devin 只响应这些机器人。Devin 只会处理来自这些机器人的评论,并忽略所有其他评论。对于大多数团队来说,这是推荐的选项,因为它能让你进行精细控制。 要将机器人添加到允许列表中:
  1. 在下拉菜单中选择 Respond to specific bots only
  2. 在输入框中输入机器人的 GitHub 用户名(例如,github-actions[bot])。
  3. 点击 Add
机器人用户名通常以 [bot] 结尾。你可以通过查看是谁在你的拉取请求(pull request,PR)上撰写了评论来找到机器人的用户名。 要移除某个机器人,点击其在允许列表中名称旁边的 × 按钮。
机器人用户名匹配不区分大小写,因此 GitHub-Actions[bot]github-actions[bot] 会被视为相同。

运行时的工作方式

当某个 bot 在 Devin 正在跟踪的 PR 上留下评论时,Devin 会检查你组织的 bot 评论设置:
  1. Mode 为 “none” — 忽略该评论。
  2. Mode 为 “allowlist” — 将该 bot 的用户名与允许列表(allowlist)进行比对。若匹配,Devin 会处理该评论;否则会被忽略。
  3. Mode 为 “all” — 评论会被处理。
如果评论通过了 bot 过滤规则,它仍然会经过 Devin 的其他评论处理检查(例如仅提及模式设置以及 PR 上的评论监控复选框)。
来自 bot 的 Lint 检查失败评论(包含 “lint check failed”)始终会被处理,与此设置无关,因此 Devin 始终可以响应 CI 失败。

常见用例

  • CI 机器人:将你的 CI 机器人接入 Devin,这样 Devin 就能自动修复流水线中标记的 lint 错误、测试失败或构建问题。
  • 安全扫描器:将你的安全扫描机器人接入 Devin,这样 Devin 就能直接处理漏洞报告。
  • 代码质量工具:将 SonarQube 或 Codacy 等机器人接入 Devin,这样 Devin 就能响应代码质量反馈。

与 Devin Review 的交互

Devin Review 会以 devin-ai-integration[bot] 的身份在 PR(拉取请求)上发布评论。由于这是一个机器人账号,这些评论会受你的机器人评论设置约束。在默认模式(“Don’t respond to bot comments”)下,Devin 会话不会自动根据 Devin Review 的发现执行操作。 如果你希望 Devin 自动处理 Devin Review 标记的问题,可以:
  • 将模式设置为 “Respond to specific bots only”,并将 devin-ai-integration[bot] 添加到允许列表。
  • 将模式设置为 “Respond to all bot comments”
无论此设置为何,Devin Review 的 “No Issues Found” 汇总评论都会被忽略——只有报告实际问题的评论才会受到影响。

与仅提及模式的交互

如果你启用了 “Only respond to PR comments that mention Devin”(仅响应提及 Devin 的 PR 评论) 设置,则机器人的评论也必须提及 Devin(以 DevinAI@devin 开头)才能被处理。机器人评论过滤器会先运行,然后再应用仅提及模式过滤器。

提示

  • “仅响应特定机器人” 开始,并且一次只添加一个机器人。这样可以先确认每个机器人都能与 Devin 正常协作,再添加更多机器人。
  • 如果你发现出现异常的循环行为,切换回 “不响应机器人评论” 以立即停止它们。
  • 机器人用户是通过其 GitHub 用户类型(Bot)而不是用户名来识别的。名称中带有 [bot] 的真人用户不会受到该设置的影响。