gabrielchasukjin/cloi

A local-first coding agent for the terminal, powered by Ollama. Reads, searches, edits and runs code on your machine — no API key, no data leaving the host.

解決的問題

Cloi 是一個面向終端的本地優先程式碼代理,允許使用者透過自然語言介面與程式碼庫互動。它透過完全在本機上使用 Ollama 執行,無需外部 API 金鑰,且防止資料離開主機,從而消除對外部 API 的依賴。

工作原理

Cloi 與 Ollama 集成,執行一個工具使用循環,使代理能夠讀取、搜尋、編輯檔案並執行 shell 命令。它採用多種可靠性機制來確保準確性:

  • 硬體感知模型選擇: 測量 VRAM、RAM 和核心數量,為每個步驟建議一個主模型,並為複雜任務建議一個更大的備用模型。
  • 升級邏輯: 如果代理陷入僵局(例如重複相同的呼叫或連續工具失敗),它會自動將對話交給更大的備用模型。
  • 驗證機制: 對檔案內容的聲稱會與實際工作區狀態進行比對,以防止幻覺。
  • 結果快取: 重要結果會被儲存,可後續調用,減少重複的工具呼叫。
  • Python 解釋器: 會話級解釋器允許代理在單一單元中執行複雜邏輯、算術或檔案操作,而無需多次工具呼叫。
  • 上下文管理: 不讓 Ollama 靜默丟棄權杖,Cloi 會總結對話的較早部分以維持上下文。

適用對象

希望擁有完全私密、在自己硬體上本地執行、直接在終端中操作的 AI 程式碼助手的開發者。

主要亮點

  • 本地優先: 由 Ollama 驅動,無需 API 金鑰或資料傳輸。
  • 動態模型路由: 基於觀察到的失敗而非預先猜測任務類型,切換到更大的模型。
  • 內建驗證: 自動將引用和行引用與實際檔案進行比對。
  • 整合 Python 解釋器: 允許在代理工作流程中高效處理資料和迴圈。
  • 工作區防護機制: 限制路徑僅限工作區,對寫入和 shell 命令執行需使用者授權。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • Dispatch