Dicklesworthstone/coding_agent_session_search

Unified TUI and CLI to index and search your local coding agent session history across 11+ providers (Codex, Claude, Gemini, Cursor, Aider, etc.)

解决的问题

编程代理(如 Cursor、Claude Code 和 Aider)会生成大量的对话历史,但这些数据通常分散在不同的专有格式和存储位置中。这使得跨不同工具查找过去会话中的特定解决方案或上下文变得非常困难。cass 提供了一个统一、高性能的接口,用于索引和搜索这些本地历史记录。

工作原理

cass 将来自各种代理的会话数据规范化为通用模式,并将其存储在本地 SQLite 数据库中。它采用多层搜索方法:

  • Lexical Search:使用带有 edge N-grams 的 BM25 全文搜索,实现对精确术语和代码符号的即时、基于前缀的匹配。
  • Semantic Search:一个可选的、选择性启用的功能,使用本地 MiniLM 模型(通过 frankensearch)在无需网络连接的情况下执行概念查询的向量相似性搜索。
  • Hybrid Search:默认模式,使用倒数排名融合 (RRF) 结合词法和语义搜索结果,以平衡精确率和召回率。

它具有面向人类的终端用户界面 (TUI) 和专门为其他 AI 代理查询历史而设计的“机器人模式”(带 JSON 输出的 CLI)。

适用对象

  • 个人开发者:希望拥有单个可搜索的 AI 辅助编程会话存档的人。
  • 团队:希望在不同的工具偏好之间共享机构知识的团队。
  • AI 代理:需要访问用户历史上下文以改进当前问题解决能力的 AI 代理。

亮点

  • 广泛的兼容性:聚合来自 Codex、Claude Code、Gemini CLI、Cursor、Aider、GitHub Copilot 等许多工具的历史记录。
  • 低于 60ms 的延迟:由 Rust 原生后端驱动的高速“随打随搜”体验。
  • 隐私优先:所有索引和推理都在本地进行;数据不会发送到外部服务器。
  • 机器人模式:具有稳定的 JSON 契约的专用 API 表面,可与其它 AI 代理无缝集成。
  • 原子更新:使用原子交换确保索引完整性,防止在后台索引期间出现损坏的搜索结果。