synthetic-lab/octofriend

An open-source coding helper. Very friendly!

解決的問題

Octofriend 是一款專為開發者設計的終端式程式碼助理,旨在提供一個私密、彈性且工具豐富的開發環境。它解決了被鎖定於單一 LLM 提供者或模型的問題,允許使用者在對話過程中切換模型,並在無遙測的情況下整合各種外部工具,如語言伺服器與 MCP 伺服器。

工作原理

Octo 作為一個 CLI 工具運作,可連接 OpenAI 相容或 Anthropic 相容的 API(包含本地 LLM)。它透過以下方式提升程式碼體驗:

  • 工具整合:自動偵測並使用語言伺服器協定(LSP)伺服器,實現 IDE 級的導航(例如跳轉至定義),並支援模型上下文協定(MCP)以取得豐富的資料存取。
  • 沙箱化:內建 Docker 支援,允許助理在容器內執行 shell 命令與編輯檔案,以保護主機系統。
  • 自動修復:可使用自訂訓練的 ML 模型自動處理工具呼叫與程式碼編輯失敗的情況。
  • 上下文管理:支援會話恢復、基於目錄的規則檔案(OCTO.md),以及 Agent Skills 規範,實現可重複使用的上下文相關指令。
  • 多模態支援:若所選模型支援視覺功能,使用者可將圖片附加至訊息中。

適用對象

希望擁有高度可客製化、零遙測的程式碼助理,能在不同 LLM 提供者、本地模型與沙箱環境中運作的開發者。

主要亮點

  • 模型無關:可在對話過程中自由切換不同 LLM API(OpenAI、Anthropic、本地模型)。
  • 零遙測:無資料收集,確保程式碼隱私。
  • Docker 沙箱:在 Docker 容器內執行助理操作,確保安全。
  • LSP 與 MCP 支援:整合語言伺服器與模型上下文協定支援。
  • 網路搜尋:透過 Synthetic 或 Exa API 集成網路搜尋功能。
  • 會話持久化:自動按目錄儲存對話,並支援輕鬆恢復。

相關

  • 專案
  • 專案
  • 專案
  • Dispatch