UStackUStack
Octopus icon

Octopus

使用 AI 自动化拉取请求审查:Octopus 为 GitHub/Bitbucket PR 提供带上下文的差异分析,并以严重性分级内联反馈。

Octopus

Octopus 是什么?

Octopus 是一款为 GitHub 和 Bitbucket 提供 AI 驱动的自动化代码审查工具。它连接您的仓库、索引代码库,然后自动审查新创建的拉取请求,直接在 PR 上发布审查结果。

Octopus 的核心目的是通过结合拉取请求差异与仓库上下文,帮助团队更早发现问题。它使用 LLM 分析代码变更,并以严重性评级返回结果作为内联评论,让审查者专注于架构和设计决策。

主要功能

  • GitHub App 集成,实现自动化 PR 审查:安装 Octopus GitHub App 并选择要监控的仓库,新拉取请求将自动触发审查。
  • Bitbucket 支持:Octopus 同时连接 GitHub 和 Bitbucket,在多平台应用相同的拉取请求审查流程。
  • 代码库索引,提供深度上下文:索引您的代码库,利用存储的上下文使审查输出了解模式和架构,而非仅限于差异。
  • 向量搜索上下文检索:在发送信息给 LLM 前,使用向量搜索和重排序从索引代码库中检索相关上下文。
  • RAG Chat,用于代码库问答:提供界面,使用向量搜索加重排序查询代码库,获取精确答案。
  • CLI 工具,支持终端工作流:包含 CLI(使用 @octp/cli),可在终端审查 PR、查询代码和管理仓库。
  • 知识库导入:允许组织导入标准、文档和规范,使未来审查融入共享指导。
  • 团队共享与组织级配置:支持共享知识和组织范围的审查标准。
  • 分析与使用跟踪:跟踪审查质量、令牌使用、每个仓库成本以及开发者速度。
  • 严重性评级的内联 PR 反馈:在拉取请求上发布反馈,严重性级别包括 Critical、Major、Minor、Suggestion 和 Tip。

如何使用 Octopus

  1. 开始使用并连接仓库:安装 Octopus GitHub App 并选择要监控的仓库(Octopus 也支持 Bitbucket)。
  2. 允许代码库索引:连接后,Octopus 会索引代码库,以便审查时检索相关上下文。
  3. 在拉取请求上运行审查:新 PR 创建时,Octopus 获取差异、从索引代码库检索相关上下文、通过 LLM 运行分析,并直接在 PR 上发布严重性评级的反馈。
  4. 使用辅助界面:使用 RAG Chat 查询代码库,CLI 工具进行终端 PR 审查和代码查询。

使用场景

  • 加速 PR 审查周期:为每个拉取请求自动生成初始审查评论,团队减少常规检查时间,专注于高层决策。
  • 一致执行标准:配置包含组织标准、文档和规范的知识库,使审查输出在所有 PR 中反映相同规则。
  • 审查中调查代码库问题:使用 RAG Chat 查询系统部分如何工作或特定模式实现,基于索引仓库内容。
  • 用终端工具支持开发者工作流:使用 @octp/cli 在命令行审查 PR 和查询代码,适合迭代调查。
  • 监控审查影响与使用情况:查看分析了解令牌使用、每个仓库成本、开发者速度,同时评估审查质量。

常见问题

  • Octopus 在拉取请求打开时会做什么? PR 打开时,Octopus 获取差异,使用向量搜索从索引代码库中检索相关上下文,并将信息发送给 LLM 进行分析。发现结果将直接发布到 PR 上,作为带严重性评级(Critical、Major、Minor、Suggestion、Tip)的内联评论。

  • Octopus 支持哪些编程语言? Octopus 与语言无关,可审查任何基于文本的代码文件。网站列出了常见示例,包括 TypeScript、Python、Go、Rust、Java、C#、Ruby、PHP、Swift、Kotlin 等。

  • 使用 Octopus 时,我的源代码安全吗? 网站声明代码仅在内存中处理,不会永久存储;仅持久化向量嵌入用于搜索。它还支持自托管,确保代码留在您的基础设施中。

  • Octopus 会取代人工审查员吗? 不会。Octopus 旨在增强审查流程,捕获 bug、安全问题和风格不一致,让人工审查员专注于架构、设计和业务逻辑。

  • Octopus 可以自托管吗? 可以。Octopus 支持自托管,网站声明自托管可保持代码在您的基础设施内。

替代方案

  • 自管代码审查自动化:使用仓库机器人或基于 CI 的工具执行规则检查(例如,linter、静态分析或策略检查),无需基于 LLM 的语义审查。这可能更简单,但通常缺少上下文感知的 LLM 驱动 PR 评论。
  • 通用 AI 代码助手带 PR 工作流:提供 AI 聊天或代码理解的工具可支持审查任务,但可能需要更多手动操作,与 Octopus 的自动 PR 内联评论相比。
  • 代码库上的向量搜索 + RAG:构建或采用 RAG 系统,将仓库索引到向量数据库并回答代码问题。这可复制“代码库问答”组件,但默认可能不包括自动化 PR 差异审查和内联严重性评论。
  • 静态分析和安全扫描服务:安全导向的扫描器可自动检测许多问题。它们专注于确定性检查,而非与 PR 差异绑定的上下文 LLM 生成发现。
Octopus | UStack