UStackUStack
Octopus icon

Octopus

用 AI 自動審查 GitHub 與 Bitbucket 的 PR。Octopus 索引程式碼庫,結合上下文分析差異,並在 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 監控的儲存庫(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 進行分析。結果會以嚴重性等級(Critical、Major、Minor、Suggestion、Tip)直接張貼為 PR 內嵌留言。

  • 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 自動內嵌留言,可能需更多手動操作。
  • 程式碼庫的向量搜尋 + RAG:建置或採用 RAG 系統,將儲存庫索引至向量資料庫並回答程式碼問題。這可複製「程式碼 Q&A」功能,但預設不含自動 PR 差異審查與內嵌嚴重性留言。
  • 靜態分析與安全掃描服務:安全導向掃描器可自動偵測許多問題。它們著重確定性檢查,而非連結 PR 差異的上下文 LLM 發現。
Octopus | UStack