调查与修复

Autofix

智能体编写的修复以拉取请求的形式到达你的仓库。你审查并合并;Polylane会提醒你,并收拾没人处理的东西。

自动修复是Polylane为解决它发现的问题而打开的拉取请求。智能体先调查,然后在一个分支上写下变更并在GitHub上打开拉取请求;合并权在你手中。

功能概述

自动修复从三个地方开始。你在一个线程中请求一个,例如“打开一个修复这个问题的拉取请求”。一次修复运行在已连接的仓库中落到一个已确认的原因上,并在同一个线程中打开修复。或者Polylane自行提议一个,例如它在仓库首次连接时起草的可观测性改进。

工作原理

  1. 调查:智能体从拓扑、遥测和受影响的仓库中收集上下文。
  2. 分支:它针对仓库的基础分支创建一个分支。
  3. 修复:执行器写下变更并推送提交。
  4. 拉取请求:它打开拉取请求,描述哪里出了问题以及改了什么,并链接到背后的线程或问题。
  5. 你的审查:你平常的代码审查和持续集成决定是否合并。关闭它也是一种有效的结果,Polylane会记录下来。

状态

状态说明
started运行正在进行。
branch_pushed提交已在分支上,拉取请求即将打开。
approval_required工作区要求在启动自动修复前先询问,所以这次运行等待有人从它的线程中启动它。
pr_opened拉取请求已打开,等待你的审查。
merged你合并了拉取请求。
closed拉取请求未经合并就被关闭了,由你或由Polylane。
failed执行器无法产生修复。
no_fix_needed智能体得出结论,没有什么需要改。
already_in_flight另一次运行或一个已打开的拉取请求已经覆盖了同一个修复。
quota_exhausted工作区目前无法启动另一次运行。
disabled该工作区已关闭自动修复。
plan_rejected请求在运行开始前被拒绝。
unreachablePolylane无法再读取该仓库,例如GitHub App被移除或暂停之后。
expired运行停滞超过了它的时间窗口,已被关闭。

被跳过的运行可以从它的概览中用Run anyway启动,已过期或失败的用Run again,被暂缓的用Approve and run。在Settings > Workspace下,Autofix卡片包含面向整个工作区的Open autofix pull requests开关和Fixes Polylane starts on its own,其中Ask first会暂缓自动修复,直到有人启动它们。

一直打开的拉取请求

Polylane打开的拉取请求不会永远等下去。一周没有活动后,每周巡检会通过邮件和Slack发送一次提醒,并在拉取请求上留下同样的评论;如果没有人被请求审查,就会请求它所涉及代码的所有者。提醒后又一周毫无动静的拉取请求会被Polylane关闭,并附上一条解释原因的评论,分支保留,所以重新打开会把变更原样带回来。

在连接仓库过程中打开的拉取请求不参与提醒和关闭。

执行器

执行器是编写差异的编程智能体。Polylane自己的执行器无需设置;你也可以改为把自动修复路由到你已经在用的编程智能体:

在Settings > Integrations下用你自己的API密钥连接Devin、Cursor、Factory或Conductor,然后开启Use Devin for all autofixes(或Cursor、Factory或Conductor页面上的对应开关),让它成为工作区中每次自动修复的执行器。如果该集成被移除或禁用,自动修复会回退到Polylane执行器。

在哪里找到

在产生它的线程上阅读自动修复。线程侧边栏中的Lineage显示Autofix和它的Pull request,自动修复节点打开Overview、Diff、Session、Timeline和Properties标签页。Approve and run、Run again和关闭原因位于它的概览上。

相关内容

  • 修复运行:把已确认的原因交给自动修复的运行。
  • 拉取请求审查:每个拉取请求在合并前得到的检查。
  • 仓库:连接自动修复所写入的代码。
  • GitHub:自动修复借以写入的代码托管平台连接。