跳到主要内容

仓库工作流

Repository mode 把 GitHub 和 GitLab 工作集中到一个入口。相比从空白聊天开始,它更适合从仓库、issue、MR 或 inbox item 出发。

连接 Git Provider​

从侧边栏打开 Repos。如果选中的 Git server 需要 OAuth,而你的账户还没有连接,应用会提示你连接对应 provider。连接完成后,刷新仓库列表。

支持哪些仓库来源取决于部署配置。托管版通常包含 GitHub,私有部署可以添加 GitLab server。

仓库列表​

仓库面板支持:

  • 在已配置的 Git servers 之间切换。
  • 从选中的 server 同步仓库。
  • 跨仓库搜索。
  • 按 owner 或 organization 过滤当前 server。
  • 查看需要你处理的仓库 inbox 数量。

选择仓库后会进入该仓库的工作区。

仓库工作区​

每个仓库包含这些标签页:

标签页内容
Inbox需要用户关注的 issues、MRs 或仓库事件
Tasks绑定到该仓库工作区的 agent 任务
IssuesGit provider 上的 open issues
MRsOpen pull requests 或 merge requests

需要最新 provider 状态时,使用刷新按钮。

Inbox​

Inbox item 来自仓库集成和 webhook。它会把需要 review、跟进或交给 agent 处理的 issues 与 MRs 收到一个队列里。

打开 inbox item 会跳到对应的 issue 或 MR 视图。如果 inbox 为空,说明当前没有需要关注的仓库项。

Issues​

Issues 标签页可以列出和打开 issues。根据 provider 能力和权限,也可以直接在 Agentrix 中创建 issue。

Issue 视图可以显示:

  • 标题、描述、labels 和 assignees。
  • 来自 Git provider 的评论。
  • 从 Agentrix 新增评论。
  • GitLab 暴露 thread ID 时,可以回复评论线程。
  • 跳回 Git provider 原页面的链接。

处理 Issue​

Issue 工作流使用 root issue workspace 加 subtasks 的结构。这样 issue 概览和具体实现尝试不会混在一起。

  1. 打开仓库 issue。
  2. 查看描述、labels、assignees 和评论。
  3. 在 issue workspace 中创建任务。
  4. 如果 root issue 还没有指定执行环境,选择本地机器或 cloud。
  5. 让 agent 执行实现、排查或验证。
  6. 打开每个 subtask 查看 history、artifacts、diff 和 preview。
  7. 工作完成且 provider 权限允许时,可以从 Agentrix 关闭 issue。

应用会把 issue context 附加到任务中,让 agent 看到 issue 正文和选中的评论。从任务 composer 引用 issue 时,应用也能把引用信息加入初始消息。

Merge Requests​

MRs 标签页列出 open pull requests 或 merge requests。打开后可以查看 provider 元数据和 code review 上下文。Provider API 支持时,Agentrix 会显示 MR 状态和 review discussion 数据。

对于 GitLab merge request,review threads 可以包含 resolved 状态。如果某个 thread 或 comment 需要 provider 原生操作,请使用页面里的 provider 链接跳转处理。

仓库任务​

Tasks 标签页显示绑定到仓库工作区的任务。当工作不属于某个具体 issue 或 MR 时,在这里创建仓库任务。

仓库任务适合:

  • 实现跨多个文件的功能。
  • 做较大范围重构。
  • 让 agent 检查仓库并给出计划。
  • 在打开或更新 PR 前验证变更。

仓库任务和聊天任务使用同一套审阅界面:history、artifacts、diff、commit 和 preview。

私有 GitLab Webhook​

私有 GitLab 部署可以使用 daemon webhook bridge。先用 CLI 配置 GitLab server,再把 daemon webhook URL 和 secret 添加到 GitLab 项目。完整步骤见 CLI 命令参考。

如果 GitLab server 与 daemon 不在同一台机器上,需要在 ~/.agentrix/settings.json 中启用 daemonControl.allowLanAccess,重启 daemon,并把网络访问限制在可信来源。