Show HN:Callimachus – 跨AI編碼代理歷史的本地搜尋
Callimachus 是一款本地優先的桌面應用,能將來自 11 個 AI 編碼代理的對話索引到 SQLite 資料庫中,支援混合關鍵詞與語義搜尋、知識蒸餾,並透過 CLI、MCP 伺服器和 VS Code 擴充套件與多種工具整合。
Callimachus 是一款開源的桌面應用,旨在解決 AI 編碼代理對話歷史分散、難以檢索的問題。它能夠將來自 Claude Code、Codex、Cursor、Gemini CLI、Qwen Code 等 11 種主流編碼代理的對話統一索引到本地的 SQLite 資料庫中,讓開發者可以在一個地方搜尋所有歷史記錄。
該工具的核心功能包括混合搜尋、知識蒸餾和多工具整合。混合搜尋結合了 SQLite FTS5 的關鍵詞排名與本地語義相似度(使用 sqlite-vec 的 KNN),透過 Reciprocal Rank Fusion 融合結果。使用者可以根據來源、專案、代理型別、星標和標籤進行過濾,還支援檔案路徑搜尋(如輸入 "file:embed/mod.rs" 即可找到涉及該檔案的所有對話)。
知識蒸餾功能可以自動提取待辦事項(TODO)、決策和陷阱,支援跨對話的語義召回,並允許使用者手動固定、編輯或刪除蒸餾結果。此外,還提供了可選的自動蒸餾功能,能在後臺持續處理新增或變更的對話,使記憶庫自動保持更新。該功能需要本地 Ollama(無需金鑰)或雲端 API 金鑰。
Callimachus 提供了多種訪問介面:桌面視窗、命令列工具(cal)、MCP 伺服器(callimachus-mcp)以及 VS Code / Cursor 擴充套件。MCP 伺服器使任何 AI 代理都能在會話中搜尋歷史記錄,並且支援雙向互動——代理可以直接向 Callimachus 的記憶體中寫入資料(如關閉 TODO、記錄決策),而無需接觸使用者檔案。CLI 工具支援管道操作,提供了 21 種命令,涵蓋搜尋、統計、匯出、記憶管理等功能。VS Code 擴充套件在編輯器側邊欄新增了搜尋面板,方便開發者在不離開編輯器的情況下查詢歷史。
在隱私方面,Callimachus 堅持本地優先設計:所有對話索引資料僅儲存在本地機器上,API 金鑰儲存在作業系統的金鑰鏈中,唯一的外出流量是使用者明確選擇的 LLM 提供商。專案採用 AGPL-3.0 或商業許可雙授權,原始碼託管在 GitHub 上。
技術棧方面,桌面應用基於 Tauri 2(Rust)和 React 19,搜尋使用 SQLite FTS5 和 sqlite-vec,嵌入模型採用本地的 fastembed(bge-small-en-v1.5,384 維)。此外,還內建了檔案監聽器,可即時檢測新對話並自動更新索引。
需要注意的是,"Open in CLI" 和 "Resume" 功能目前僅在 macOS 上支援(透過 AppleScript 驅動終端),Windows 和 Linux 上暫不可用。Cline、Roo Code、Kilo Code 等擴充套件由於缺乏 CLI,僅支援索引和搜尋,無法透過 "Resume" 重新啟動。此外,Cursor 的對話目前缺少專案路徑資訊。首次索引較大的資料量可能需要一些時間(例如作者本人的 Claude 語料約 9 萬條訊息,耗時約 25 秒),後續索引會跳過未變更的檔案。
總的來說,Callimachus 為使用多種 AI 編碼代理的開發者提供了一站式歷史記錄管理和檢索方案,顯著提升了開發效率和知識複用能力。