Linear
把 Issue 委派给应用,Agent 就会接手——在 Linear 自己的 Agent 会话中确认、工作并给出答复。
Linear 集成让你的 Agent 成为 Linear 中可委派的队友。把 Issue 分配给该应用,或在评论中提及它并附上指令,Agent 会在几秒内确认,在自己的工作区中工作,并把进展流式推送到 Linear 的 Agent 会话动态中——思考、工具操作和计划清单——最后把答复作为会话响应发布。在该会话线程中回复即可引导它,或使用 Linear 的 Stop 控件中断它。
连接一次对应一个工作区,你在该工作区上启用的每个 Agent 都通过同一个 Linear 应用工作。由哪个 Agent 接手某项工作则按团队决定。
连接之前
Linear 通过 HTTP 回调投递事件,因此部署需要一个公共回调端点,以及为整个部署注册的一个 Linear OAuth 应用。AgentConnect Cloud 已经具备这两者。在 AgentConnect OSS 上,运维人员需要先注册部署的 Linear 应用;在那之前,Linear 面板会显示此部署尚未配置 Linear。
连接工作区
在 Agent 页面:集成 → 添加集成 → Linear。
没有任何需要填写的内容。选择连接 Linear,在打开的 Linear 标签页中批准该工作区,连接就会回到控制台。你发起连接时所在的 Agent 会成为每个团队的默认分发 Agent——即一次不带名字的委派会到达的 Agent。
授权会请求读写权限、作为应用被分配和被提及的权限,以及 Initiative 访问权限。如果你在支持 Initiative 之前就连接了工作区,其他一切照常工作,只有三个 Initiative 工具会要求你重新连接。
要在同一个工作区上加入第二个 Agent,打开那个 Agent 的添加集成 → Linear,从列表中选择已连接的工作区。要连接另一个工作区,在同一面板中使用连接另一个工作区…。
团队就是频道
已连接的工作区会在 Agent 的 Linear 卡片上列出每个 Linear 团队一行。每一行都带有频道在 AgentConnect 中任何地方都有的两个控件:
- 默认分发——该团队中不带名字的委派会启动的 Agent;以及
- 触发条件——@ 提及或关闭。
没有“任意消息”设置:每个 Linear 事件本来就是发给该应用的,因此一个团队要么接受委派和提及,要么处于关闭状态。把团队设为关闭会对工作区上的每个 Agent 静音;让某一个 Agent 停止在工作区任何地方应答的方式,是把该 Agent 从工作区解除关联。
团队名称链接到 Linear 中的团队,旁边显示其 key。要更改团队的默认 Agent,使用该行的选择器;当当前默认 Agent 是受限 Agent时,控制台会先给出警告——成为默认 Agent 正是它能在那里行事的原因。如果关联工作区的 Agent 是受限 Agent,团队会以关闭状态开始,直到有人启用它。
在 Issue 上开始工作
- 把 Issue 委派给应用。由该 Issue 所在团队的默认分发 Agent 接手。Linear 自动化发起的委派也会到达这里。
- 提及应用并附上指令。在指令中的任意位置写上
@<agent name>即可按名字指定一个 Agent;不写名字时,仍由团队默认 Agent 接手。指定了多个 Agent 时选取第一个——确认消息会说明是哪个 Agent 接手了这一轮。
每次委派或提及都会创建一个绑定到一个 Agent 的 Linear Agent 会话。后续回复和 Stop 都留在该 Agent 上;要找另一个 Agent,就需要一次新的提及,它会打开自己的会话。
Agent 在 Issue 中会做什么
- 在十秒内确认,并以自己的名字开头,即使它正排在已在进行的工作之后。
- 把 Issue 移入已开始状态。在最初的委派时,尚未处于已开始、已完成或已取消状态的 Issue 会移到团队的第一个已开始状态。分诊状态不会被触碰,这样 Linear 侧的自动化仍由人来分诊;没有已开始状态的团队会被跳过。后续回复从不改动你留下的状态。
- 流式推送进展,以思考和工具操作的形式呈现,并让它的待办列表与 Linear 的计划清单保持同步。
- 附加链接。它创建的 Pull Request 和 Merge Request 会附加到 Agent 会话上,AgentConnect 会话从第一轮起就出现在 Issue 的 Resources 中。
- 答复最终响应;如果 Agent 的输出设置包含署名页脚,答复会带上它。
- 按请求停止:运行被中断,会话以一条提示你回复以继续的备注收尾。
无论 Linear 收到了什么,完整的会话记录始终在会话中。
有多少内容会进入动态
Agent 的输出模式决定发布什么:
| 输出模式 | 确认 | 进展 | 工具操作 | 计划 | 答复 |
|---|---|---|---|---|---|
| 无 | — | — | — | — | — |
| 最简 | ✓ | — | — | — | ✓ |
| 低 (默认) | ✓ | ✓ | ✓ | ✓ | ✓ |
| 中 | ✓ | ✓ + 推理 | ✓ | ✓ | ✓ |
| 高 | ✓ | ✓ + 推理 | ✓ + 结果 | ✓ | ✓ |
在这里,低模式就已经包含操作和计划,因为进展可见正是 Linear Agent 会话的用途所在。无是真正的静默——什么都不会到达 Linear,会话就那样无人应答地放着——因此对于带有 Linear 集成的 Agent,控制台会把它标记为错误配置。
Agent 在 Linear 中能做什么
在 Linear 会话中工作的 Agent 会获得一组基于同一应用授权的 Linear 工具:读取和搜索 Issue、评论、状态、标签、团队、用户、项目、周期、文档和 Initiative,以及写入 Issue、评论和 Initiative 更新。updateIssue 按名称接受状态、负责人或标签,并针对团队进行解析,因此“把它移到 In Progress”不需要先做查询。
这些工具只存在于 Linear 会话中。同一个 Agent 在 Slack 或 Pull Request 上工作时不会带有它们。
Agent 还会收到 Issue 的标识符、标题、URL 和团队作为常驻上下文,外加一条简短的工作约定:按票据所写的内容工作,只在无法继续时才提问;用评论报告结果而不是计划,因为计划已经实时显示在会话中;并用 Issue 标识符命名分支和 Pull Request,这样 Linear 自己的代码托管平台集成就能把它们链接回来。工作区管理员在 Linear 中为该应用编写的指引会随每一轮一起传递。
Issue 描述和先前的评论作为引用上下文而非指令交给 Agent——它们经常包含在你的工作区之外写下的文本。在 Linear 中附加的文件和图片不会被读取。
审批
当某个步骤需要 Agent 自己无法授予的权限时,动态中会出现一张卡片,说明该操作并附带指向控制台会话的链接;你在那里批准或拒绝后,会有一条备注跟进。目前还不支持在 Linear 内部进行审批。
管理连接
| 操作 | 位置 | 效果 |
|---|---|---|
| 解除 Agent 关联 | Agent 的 Linear 卡片 | 该 Agent 离开工作区。工作区和其他所有 Agent 保持不变。 |
| 重新连接 | Agent 的卡片,或集成 → 消息应用 → Linear | 在授权过期或被撤销后重新授权工作区。 |
| 断开连接 | 仅限集成 → 消息应用 → Linear | 为整个组织终止该工作区,并在 Linear 撤销授权。 |
断开连接刻意不放在单个 Agent 的成员身份旁边:否则一个成员就能终止其他所有人的访问。
如果有人从 Linear Settings → Applications 中撤销了 AgentConnect,工作区很快会显示一个已撤销标记——Linear 需要一两分钟才会报告——Agent 也会报告需要认证。重新连接可以修复它并恢复各成员关系。
限制
- 配置按团队进行——没有按 Issue 或按项目的设置。
- 在文档或其他非 Issue 界面上提及应用,会得到一条简短的备注,说明该界面尚不支持;不会启动任何 Agent 运行。
- Linear 用 Issue 为它自己的 Agent 会话命名;AgentConnect 的会话标题保留在控制台中。