SuperAPI AI 工具集

callimachus

Callimachus 是一款本地优先的 AI 编程智能体历史索引与检索工具,将 Claude Code、Codex、Cursor、Gemini CLI、Qwen Code、Goose、OpenCode、Continue、Cline、Roo Code、Kilo Code 共 11 种编程智能体的对话记录,统一索引到一个本地 SQLite 数据库中。它通过关键词(SQLite FTS5/BM25)与设备端语义相似度(sqlite-vec KNN,无需云端)融合的混合排序进行检索,支持按来源、项目、子智能体、星标和标签过滤。工具提供 MCP 服务器、CLI(cal)和 VS Code / Cursor 扩展,可让智能体在会话中检索自己过去的对话与工作总结。所有数据留在本机,API 密钥存于操作系统钥匙串,默认不向任何外部服务发送内容,仅在你选择 LLM 提供商时才会产生出站流量。

访问官网

工具介绍

Callimachus 是一个本地优先的 AI 编程智能体历史索引与检索工具,名称取自曾为亚历山大图书馆编目的 Callimachus。它面向使用多个编程智能体的开发者,解决对话记录分散、无法跨工具回忆过去工作的问题。

用途

将多种 AI 编程智能体的对话统一收录到本地可搜索索引中,让开发者与智能体都能在需要时找回过去的工作内容、决策与经验。索引与搜索全部在本地完成,对话内容不会离开本机。

主要能力

  • 多来源索引:支持 Claude Code、Codex、Cursor、Gemini CLI、Qwen Code、Goose、OpenCode、Continue、Cline、Roo Code、Kilo Code 共 11 种来源,统一进入一个本地 SQLite 存储。
  • 混合检索:关键词(SQLite FTS5 / BM25)与设备端语义相似度(sqlite-vec KNN,无云端)通过 Reciprocal Rank Fusion 融合排序;可按来源、项目、子智能体、星标、标签过滤。
  • 代码感知搜索:在搜索栏输入 file:embed/mod.rs 或使用 cal files <path>,可找到涉及某路径的所有线程,底层由索引时构建的文件提及索引支持。
  • 知识提炼:免费的启发式 TODO 提取,以及可选的 LLM 提炼(决策、注意事项、摘要)与跨线程语义回忆;可选自动提炼在后台处理新增/变更线程。可运行于本地 Ollama(无需密钥)、已登录的 Claude Code 或 Codex CLI 订阅(无需 API 密钥),或云端 API 密钥。
  • 事实管理:可固定、编辑或删除提炼出的事实,编辑在重新提炼后仍保留;另有 LLM「Review conflicts」检查相互矛盾的决策。
  • 项目级记忆:Projects 标签页按规范项目键聚合每个仓库的决策、注意事项和未完成 TODO,并提供 LLM 摘要和托管的 .callimachus/memory.md;可写入仓库的 AGENTS.md / CLAUDE.md,或通过 cal hook 注入 Claude Code SessionStart 钩子。
  • 历史问答(RAG):基于你自己的线程生成带 [thread N] 引用的合成答案,需要启用 LLM 引擎(知识/提炼)。
  • 集合整理:星标线程并附加自由标签,按星标或标签过滤。
  • 应用内智能体聊天:支持 Anthropic / OpenAI / Gemini / OpenRouter / Ollama(本地或云端),或已登录的 Claude Code / Codex CLI(无需密钥);可检索自身历史并在你批准后运行 shell 命令;流式、可取消,聊天记录同样被保存并成为可搜索内容。
  • 跨工具携带上下文:在任何智能体 CLI 中打开某线程(种子为该线程打包的转录文本)、在原生 CLI 恢复 Claude Code / Codex 线程、复制上下文,或导出到 Obsidian(可选 AI 摘要含决策/注意事项/TODO)。
  • 关联提交:在设备端通过线程讨论的文件与线程时间窗口内 git log 变更文件的重叠推断线程产生的提交(共享文件数即置信度),可在时间线、桌面 UI 或 linked_commits MCP 工具中查看。
  • 会话快照:线程的持久、可恢复检查点(打包转录 + 项目记忆结转),支持跨上下文压缩或跨工具交接;可通过 Claude Code PreCompact / SubagentStop 钩子自动捕获。
  • 决策守卫:决策可带理由,活跃守卫会在智能体重提某议题前展示该主题已确定的决策(cal check / check_decision MCP 工具)。
  • 主动回忆:可选的 Claude Code 钩子在每次提示时,若与过去工作高度匹配,就向上下文注入「你可能已经解决过这个问题」(默认关闭)。
  • 重复问题挖掘:跨所有工具呈现反复出现的错误(归一化签名,最近 180 天)。
  • 成本展示:索引时记录每条消息的 token 用量与模型,估算按模型的花费与最贵线程,需重新索引一次以回填。
  • PR 审计:cal audit-pr 返回单个 JSON 包(提交溯源、文件相关线程与推理、仓库重复错误、项目记忆),供外部本地 PR 审查工具展示 diff 背后的历史。
  • MCP 服务器:内置 callimachus-mcp 将索引暴露为工具,任何智能体可在会话中调用;支持双向,智能体可写回 Callimachus 自身记忆(关闭 TODO、记录决策/注意事项、快照会话),不触碰你的文件。

使用方式

  • 安装:从 Releases 获取最新签名构建,支持 macOS(.dmg,Apple Silicon)、Windows(.msi)、Linux(.AppImage / .deb),应用从此自动更新;也可自行构建。
  • 首次启动:索引为空,打开 Settings(或点 Reindex)索引来源,然后 Build semantic index 启用语义搜索;两者为后台任务且互斥(一个持写锁时另一个暂停)。
  • MCP:可通过 npx 快速运行(首次下载预构建二进制),在官方 MCP 注册表列名为 io.github.betabots-llc/callimachus;已运行桌面应用时 callimachus-mcp 在 PATH 中,可执行 claude mcp add callimachus -- callimachus-mcp;从源码构建可用 cargo install --path apps/desktop/src-tauri --bin callimachus-mcp。MCP 共 21 个工具,其中读 17 个(如 search_threads、search_current_project、recent_threads、get_thread、list_tags、list_open_todos、get_thread_knowledge、recall_decisions、recall_gotchas、find_prior_work、project_memory、ask_history、threads_for_file、check_decision、linked_commits、list_snapshots、load_snapshot),写 4 个(complete_todo、record_decision、record_gotcha、snapshot_session)。
  • CLI:cal,随桌面应用提供(在 PATH 中),或 cargo install --path apps/desktop/src-tauri --bin cal 构建;运行 cal help 查看完整命令。
  • 编辑器扩展:VS Code / Cursor 扩展提供「Callimachus History」侧边栏、状态栏搜索按钮和搜索/插入/复制线程的命令(通过调用 cal)。可从 VS Code Marketplace 或 Open VSX 安装,或从 Releases 获取 .vsix。
  • 技术栈:Tauri 2(Rust)+ React 19 + TypeScript + Vite 8;SQLite + FTS5(rusqlite);fastembed(bge-small-en-v1.5,384 维)设备端嵌入;sqlite-vec 向量检索;notify + debouncer 文件监听;genai 多提供商聊天;keyring 存储密钥。仓库为 Turborepo + pnpm 工作区。

适用场景

适合同时使用多个 AI 编程智能体的开发者,用于跨工具检索历史对话、查找涉及某文件的历史线程、回忆过去的决策与踩坑、向智能体提供项目记忆、生成带引用的历史问答、追踪重复错误与 token 成本,以及为 PR 审查提供历史背景。

限制

  • 跨平台支持 macOS / Windows / Linux;仅「Open in CLI」/「Resume」启动器为 macOS 专属(通过 AppleScript 驱动 Terminal),在 Windows/Linux 返回「暂不支持」提示,其余功能(索引、搜索、聊天、导出、钥匙串)全平台可用。
  • Cline / Roo Code / Kilo Code 为编辑器扩展、无 CLI,仅可索引(可搜索,但不能通过 Resume 重新启动)。
  • Cursor 不存储每线程工作区,因此 Cursor 线程目前没有项目路径。
  • Claude Code 子智能体转录会被索引,但默认隐藏在「subagents」开关之后。
  • 首次索引大型语料是一次性成本(示例中 Claude 语料约 9 万条消息约 25 秒),后续会跳过未变更文件。
  • Charm Crush、Factory Droid、Copilot CLI 已在计划中但尚未集成。
  • 语义索引与重新索引互斥;ask_history 等需要启用 LLM 引擎。
  • 封闭源代码、专有或 AGPL 不允许的营利/SaaS 用途需商业许可(见 COMMERCIAL.md);开源采用 AGPL-3.0-or-later。