AI News HubLIVE
站内改写2 分钟阅读

Show HN:Callimachus – 跨AI编码代理历史的本地搜索

Callimachus 是一款本地优先的桌面应用,能将来自 11 个 AI 编码代理的对话索引到 SQLite 数据库中,支持混合关键词与语义搜索、知识蒸馏,并通过 CLI、MCP 服务器和 VS Code 扩展与多种工具集成。

来源Hacker News AI作者: arishaller

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 编码代理的开发者提供了一站式历史记录管理和检索方案,显著提升了开发效率和知识复用能力。