你是否同时使用 Claude Code、Cursor、Copilot、Aider 等多个 AI 编程工具?每次想找回之前某次对话中的解决方案,却记不清是哪个工具里聊的?cass 就是为解决这个痛点而生的。

一、cass 是什么?

cass(coding-agent-search)是一个开源的高性能 CLI + TUI 工具,用 Rust 编写,能够:

  • 自动发现本机上 19+ 种 AI 编程助手的聊天记录
  • 统一索引不同格式(JSONL、SQLite、JSON、Markdown)的历史数据
  • 毫秒级搜索跨所有工具的对话内容
  • 全部本地运行,数据不上传,隐私友好

GitHub 地址: https://github.com/Dicklesworthstone/coding_agent_session_search

Stars: 700+ | 语言: Rust | 协议: MIT


二、支持的 AI 工具一览

cass 目前支持 19 种 AI 编程工具,覆盖国内外主流产品:

工具 存储路径(Windows) 格式
Claude Code ~/.claude/projects/ Session JSONL
Codex ~/.codex/sessions/ Rollout JSONL
Cursor %APPDATA%\Cursor\User\ SQLite (state.vscdb)
GitHub Copilot Chat VS Code globalStorage JSON
Copilot CLI ~/.copilot/session-state JSONL/JSON
Cline VS Code globalStorage Task JSON
Gemini CLI ~/.gemini/tmp/ Chat JSON
Aider .aider.chat.history.md Markdown
OpenCode .opencode/ 目录 SQLite
ChatGPT ~/Library/Application Support/com.openai.chat/ JSON(v1)/ 加密(v2-v3)
Amp ~/.local/share/amp
Windsurf %APPDATA%\Windsurf\User\ SQLite
Kimi Code ~/.kimi/sessions/ Session JSONL
Qwen Code ~/.qwen/tmp/ Chat JSON
Pi-Agent ~/.pi/agent/sessions/ Session JSONL
OpenClaw ~/.openclaw/agents/*/sessions/ Session JSONL
Clawdbot ~/.clawdbot/sessions/ Session JSONL
Vibe (Mistral) ~/.vibe/logs/session/ Session JSONL
Crush ~/.crush/crush.db SQLite
Factory (Droid) ~/.factory/sessions/ JSONL

不同工具的聊天记录分散在不同目录、不同格式中,手动查找极为困难。cass 帮你把它们全部聚合到一个可搜索的数据库中。


三、安装方法

3.1 Windows(推荐 Scoop)

# 添加 bucket
scoop bucket add dicklesworthstone https://github.com/Dicklesworthstone/scoop-bucket

# 安装
scoop install dicklesworthstone/cass

3.2 Windows(一键脚本)

irm https://raw.githubusercontent.com/Dicklesworthstone/coding_agent_session_search/main/install.ps1 | iex

安装完成后,cass 会被放到 ~/.local/bin/cass.exe,需要将该路径添加到 PATH:

# 临时生效(当前终端)
$env:PATH += ";C:\Users\你的用户名\.local\bin"

# 永久生效
[Environment]::SetEnvironmentVariable("PATH", $env:PATH + ";C:\Users\你的用户名\.local\bin", "User")

注意:永久设置后需要重新打开终端才能生效。

3.3 macOS / Linux(Homebrew)

brew install dicklesworthstone/tap/cass

3.4 通用安装脚本(macOS / Linux)

curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/coding_agent_session_search/main/install.sh" \
  | bash -s -- --easy-mode --verify

四、快速上手

4.1 建立索引(首次使用必须)

cass index --full

该命令会:

  1. 自动扫描本机上已安装的 AI 编程工具
  2. 读取各自的聊天记录文件
  3. 归一化为统一格式并建立搜索索引

输出示例:

Preparing...
index completed
Indexed: 156 conversations, 4,832 messages from 5 agents

首次索引耗时取决于已有数据量,通常几十秒到几分钟。

4.2 启动交互式搜索界面(TUI)

cass tui

进入三栏布局的终端界面:

┌──────────────────────────────────────────────────────────┐
│  🔍 > authentication error                            │  ← 搜索栏
├────────────────────────────┬─────────────────────────────┤
│  📄 [Claude Code] auth fix │  ## 解决方案               │
│     2h ago · score 0.92    │                             │
│                            │  用户: 登录接口报 401...    │
│  📄 [Cursor] login issue   │                             │
│     5d ago · score 0.85    │  助手: 检查 token 过期...   │
│                            │                             │
└────────────────────────────┴─────────────────────────────┘

常用快捷键:

快捷键 功能
Enter 搜索
↑/↓ 浏览结果
Tab 切换面板
e 导出当前会话为 HTML
Ctrl+E 快速导出
Ctrl+O 在编辑器中打开
F12 切换排序模式
A 打开分析面板
F1 / ? 帮助
q 退出

4.3 命令行搜索(适合脚本/自动化)

# 基本搜索
cass search "authentication error"

# 限制结果数量
cass search "bug fix" --limit 5

# 指定搜索模式
cass search "login" --mode lexical     # 精确匹配
cass search "login" --mode semantic    # 语义搜索(需安装模型)
cass search "login" --mode hybrid      # 混合搜索(默认)

# JSON 输出(适合程序处理)
cass search "error" --robot --limit 3 --fields minimal

# 高亮匹配关键词
cass search "timeout" --highlight

五、核心功能详解

5.1 查看会话列表

# 查看所有会话
cass sessions --json

# 查看当前项目的会话
cass sessions --current --json

# 按工作目录筛选
cass sessions --workspace "D:/Projects/myapp" --json --limit 10

5.2 查看会话详情

# 查看某个会话文件的第 42 行附近内容
cass view /path/to/session.jsonl -n 42 --json

# 展开上下文(前后各 3 行)
cass expand /path/to/session.jsonl -n 42 -C 3 --json

5.3 导出为 HTML

cass 支持将对话导出为精美的、自包含的 HTML 文件:

# 基本导出
cass export-html /path/to/session.jsonl

# 加密导出(AES-256-GCM)
printf '%s\n' "mypassword" | cass export-html session.jsonl --encrypt --password-stdin

# 导出后自动打开浏览器
cass export-html session.jsonl --open

# 指定输出目录
cass export-html session.jsonl --output-dir ~/exports --filename "my-session"

导出的 HTML 文件特性:

  • 自包含(结构 CSS 内联,无需本地服务器)
  • 深色/浅色主题切换
  • 代码块语法高亮
  • 可折叠的工具调用区域
  • 内置搜索功能
  • 打印友好

5.4 健康检查与诊断

# 快速健康检查
cass health --json

# 详细诊断
cass doctor --json

# 自动修复
cass doctor --fix

# 查看统计信息
cass stats

5.5 语义搜索(可选,需安装模型)

cass 默认使用 BM25 全文搜索(lexical),可以额外安装本地嵌入模型实现语义搜索:

# 查看可用模型
cass models status

# 安装默认模型(MiniLM,约 90MB)
cass models install --model minilm

# 安装更强的模型
cass models install --model snowflake-arctic-s   # ~120MB
cass models install --model nomic-embed           # ~270MB

# 验证模型
cass models verify

# 安装后重建语义索引
cass index --full --semantic

语义搜索安装后,查询 “登录失败” 也能匹配到 “authentication error” 相关的对话。

所有模型推理在本地完成,不联网。

5.6 时间线与分析

# 查看活动时间线
cass timeline

# Token 用量分析
cass analytics

# TUI 中按 A 打开分析面板,包含 7 个视图:
# - Dashboard(总览)
# - Explorer(探索)
# - Heatmap(热力图)
# - Breakdowns(分类统计)
# - Tools(工具使用)
# - Plans(计划)
# - Coverage(覆盖率)

六、Agent 模式(Robot Mode)

cass 提供 --robot / --json 模式,输出结构化 JSON,方便其他 AI Agent 或脚本集成:

# 搜索并输出 JSON
cass search "database migration" --robot --limit 5

# 当前会话
cass sessions --current --json

# 健康检查
cass health --json

# 输出格式选择
cass search "test" --robot-format json     # 格式化 JSON(默认)
cass search "test" --robot-format jsonl    # 每行一个 JSON
cass search "test" --robot-format compact  # 紧凑单行 JSON
cass search "test" --robot-format sessions # 仅输出文件路径

集成示例:让当前 AI Agent 搜索历史对话

# 1. 确保索引就绪
cass health --json || cass index --full

# 2. 搜索相关历史
cass search "authentication error" --robot --limit 5 --fields minimal

# 3. 获取当前会话
cass sessions --current --json

# 4. 查看命中的对话详情
cass view /path/to/session.jsonl -n 42 --json

七、高级功能

7.1 多机同步搜索

如果你在多台机器上使用 AI 编程工具,cass 可以通过 SSH 同步各机器的会话历史:

# 交互式配置向导
cass sources setup

# 预览配置
cass sources setup --dry-run

# 配置指定主机
cass sources setup --hosts laptop,desktop

7.2 HTML 归档页面

# 导出加密的可搜索静态页面
cass pages --output-dir ~/archive

7.3 管理索引源

# 查看已识别的 agent
cass sources agents list --json

# 排除某个 agent 的数据
cass sources agents exclude openclaw

# 重新包含
cass sources agents include openclaw

八、常见问题

Q1: cass 会上传我的数据吗?

不会。 cass 完全本地运行,不联网(语义搜索模型安装后也是本地推理),不收集任何遥测数据。

Q2: 索引会占用多少空间?

取决于你的聊天记录数量。通常几百个会话约占几十 MB。语义索引额外占用约 90-270 MB(取决于选择的模型)。

Q3: 新的聊天记录会自动索引吗?

默认不会。需要手动运行 cass index 或使用 cass index --watch 开启自动监听模式:

# 监听模式,文件变化时自动重新索引
cass index --watch

# 每 60 秒检查一次
cass index --watch --watch-interval 60

Q4: Windows 上遇到 “拒绝访问” 错误怎么办?

这可能是 cass 在 Windows 上的已知问题(SQLite VFS 备份时的权限问题)。可以尝试:

  1. 以管理员身份运行 PowerShell
  2. 将 cass 数据目录添加到杀毒软件排除列表
  3. 到 GitHub 提 issue 反馈

Q5: 支持哪些搜索模式?

模式 算法 适用场景
lexical BM25 全文搜索 精确关键词匹配,代码搜索
semantic 向量相似度 语义查询,“找类似的”
hybrid(默认) 混合 RRF 平衡精确度和召回率

九、总结

cass 是目前唯一一个能够统一搜索多种 AI 编程助手聊天记录的开源工具。它的核心价值在于:

  1. 消除信息孤岛 — 跨 19 种工具搜索,不再遗漏任何对话
  2. 毫秒级响应 — 基于 Tantivy 的高性能搜索
  3. 隐私安全 — 全部本地运行,数据不出本机
  4. 灵活集成 — CLI + TUI + Robot 模式,满足不同使用场景

如果你同时使用多种 AI 编程工具,cass 绝对值得一试。


相关链接:

  • GitHub: https://github.com/Dicklesworthstone/coding_agent_session_search
  • 安装文档: https://github.com/Dicklesworthstone/coding_agent_session_search#readme
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐