仓库工作流
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 任务 |
| Issues | Git provider 上的 open issues |
| MRs | Open 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 概览和具体实现尝试不会混在一起。
- 打开仓库 issue。
- 查看描述、labels、assignees 和评论。
- 在 issue workspace 中创建任务。
- 如果 root issue 还没有指定执行环境,选择本地机器或 cloud。
- 让 agent 执行实现、排查或验证。
- 打开每个 subtask 查看 history、artifacts、diff 和 preview。
- 工作完成且 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,并把网络访问限制在可信来源。