一文搞定!用 cass 统一搜索你所有 AI 编程助手的聊天记录
你是否同时使用 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
该命令会:
- 自动扫描本机上已安装的 AI 编程工具
- 读取各自的聊天记录文件
- 归一化为统一格式并建立搜索索引
输出示例:
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 备份时的权限问题)。可以尝试:
- 以管理员身份运行 PowerShell
- 将 cass 数据目录添加到杀毒软件排除列表
- 到 GitHub 提 issue 反馈
Q5: 支持哪些搜索模式?
| 模式 | 算法 | 适用场景 |
|---|---|---|
lexical |
BM25 全文搜索 | 精确关键词匹配,代码搜索 |
semantic |
向量相似度 | 语义查询,“找类似的” |
hybrid(默认) |
混合 RRF | 平衡精确度和召回率 |
九、总结
cass 是目前唯一一个能够统一搜索多种 AI 编程助手聊天记录的开源工具。它的核心价值在于:
- 消除信息孤岛 — 跨 19 种工具搜索,不再遗漏任何对话
- 毫秒级响应 — 基于 Tantivy 的高性能搜索
- 隐私安全 — 全部本地运行,数据不出本机
- 灵活集成 — CLI + TUI + Robot 模式,满足不同使用场景
如果你同时使用多种 AI 编程工具,cass 绝对值得一试。
相关链接:
- GitHub: https://github.com/Dicklesworthstone/coding_agent_session_search
- 安装文档: https://github.com/Dicklesworthstone/coding_agent_session_search#readme
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)