内容
# 会话浏览器
**每个 AI 编程会话的本地私有主页** — 跨越 Claude Code、GitHub Copilot CLI 和 Codex。搜索所有内容,查看每个会话在 API 上 *可能* 的成本,从任何目录恢复任何会话,在 CLI 之间传递会话,并阅读每个会话的决策/推理轨迹。
[](https://github.com/mpankaj151/session-browser/actions/workflows/ci.yml)



所有内容都在您的机器上运行并保留:SQLite + Flask + 纯 JavaScript + numpy。无需云服务,无需遥测,无需外部请求 — UI 甚至可以在离线状态下工作。

## 为什么
如果您运行多个 AI CLI 和长时间、多天的会话,您的工作会分散在 `~/.claude`、`~/.copilot` 和 `~/.codex` 中,格式无法搜索、从其他地方恢复或在工具之间传递。会话浏览器将它们统一到一个可搜索的索引中,并添加了 CLI 不具备的功能:
- **“如果在 API 上执行此操作会花费多少?”** — 真实的代币数量 + 公共列表价格等效,这样一个固定费率的 Max/Pro 计划终于有了使用信号。
- **从任意位置恢复** — 不仅限于原始项目目录。
- **将会话传递给另一个 CLI** — Claude → Copilot → Codex 传递。
- **推理轨迹** — 每个会话如何实际达到其决策。
## 快速开始
```bash
curl -fsSL https://raw.githubusercontent.com/mpankaj151/session-browser/main/bootstrap.sh | bash
source ~/.zshrc # 或 ~/.bashrc — 安装程序会打印出哪一个
sb ui # http://127.0.0.1:7655
```
> 注意:默认安装包括语义搜索 ML 堆栈(约 2 GB)。如果要跳过,请在单行命令前添加 `SB_INSTALL_ARGS=--lite` — 其他一切都可以使用;搜索会退回到关键词 + 全文。
还没有会话?使用合成数据查看整个过程:
```bash
sb demo
```
更喜欢先克隆?参见 [docs/SETUP.md](docs/SETUP.md) 了解手动安装、Linux 调度、MCP 服务器和故障排除矩阵。
```bash
git clone https://github.com/mpankaj151/session-browser.git && cd session-browser
./install.sh # --lite 跳过约 2 GB 的语义搜索堆栈
./bin/install-cr.sh # 添加 cr / sb shell 快捷方式
```
## Shell 快捷方式
```bash
cr <session_id> # 在当前目录中恢复任意会话
sb ui # 启动 Web UI
sb stats # 终端中的 ccusage 样式使用情况报告
sb demo # 启动合成数据演示
sb doctor # 健康检查
sb refresh [--enrich] # 现在运行索引管道
```
## 功能
### 使用情况仪表盘 — 可共享的仪表盘
GitHub 样式的活动热图,每日/模型/项目/CLI 代币和成本明细,以及标题数字:*“如果按公共 API 列表价格计费,相当于 ≈$X 本月”* — 强度信号,而不是您在固定计划上支付的金额。

也可以在终端中使用:`sb stats`(今日 / 7 天 / 30 天 / 所有)。
### 搜索所有内容,三种方式
**关键词** (标题/摘要/主题),**语义** (向量相似性),和 **全文** (FTS5,基于实际对话 — 按讨论内容查找会话)。按文件夹、来源、主题或时间筛选。
### 从任意位置恢复 — `cr <session_id>`
普通的 `claude --resume` 仅在会话的原始目录中有效。`cr` 将会话的内存移植到您所在的位置,然后恢复 — Claude(符号链接到编码的项目目录),Copilot(重新指向工作区 cwd),Codex(原地恢复)。UI 的 **恢复** 按钮复制此命令。
### 推理 / 决策轨迹
对于每个会话,重建 **可见推理** 和 **确切操作序列** — 可读的 Markdown 轨迹每个会话,以及原始 + 可读存档在 `~/claude-reasoning-archive/` 下。
> **诚实的限制:** Claude Code 和 Codex 存储扩展思维而不存储其文本(仅签名/加密 blob),因此 *内部* 思维链不可恢复。轨迹捕获可见推理 + 操作,并标记隐藏思维发生的环节。Copilot *确实* 保留 `reasoningText`。
### 桥梁 — 将会话传递给另一个 CLI
没有 CLI 可以原生恢复另一个会话,因此 **🌉 桥梁** 编写目标特定的交接引物和命令,以在同一项目目录中启动另一个 CLI 中的新会话,并以完整上下文为种子。
### 在会话之间传递上下文
**📋 复制上下文** / **⬇ 导出** 构建一个便携式 Markdown 引物 — 目标、摘要、主题、关键决策、最近推理、代币/成本、恢复命令,以及指向转录 + 轨迹的指针。
### 隐私:秘密删除
每个从工具中删除的引物(复制、导出、桥梁)、全文索引、推理存档、LLM 丰富(提示和存储的内容),以及每个 MCP 工具结果都通过 `redact.py`,该程序掩盖 API 密钥和代币(`sk-`、`sk_live_`、`github_pat_`、`npm_`、`xox*`、AWS、Google、JWT、`Authorization:` 头),`*_SECRET`/`*_KEY` 赋值(包括 JSON 形式),`user:password@` URL 凭证和私有密钥块。
### MCP 服务器 — 让 Claude 回忆过去的工作
六个 stdio 工具(`search_sessions`、`get_session_summary`、`get_session_snippet`、`list_recent`、`get_decisions`、`get_reasoning`)。在 [docs/SETUP.md](docs/SETUP.md) 中注册。
## 如何保持更新
- **停止钩子** 在 Claude 会话结束时索引(始终退出 0 — 它永远不会阻塞您的会话)。
- **监视器** (launchd 守护进程)通过文件系统事件捕获 Copilot/Codex 和其他内容。
- **夜间刷新** (01:00)运行完整管道:成本、推理、全文、嵌入、LLM 摘要。
macOS 通过 launchd 自动连接这些;Linux 使用 systemd/cron([docs/SETUP.md](docs/SETUP.md) 中的命令)。
## 支持的 CLI
| CLI | 索引 | 成本 | 推理 | 恢复 | 桥梁 |
|-----|:--:|:--:|:--:|:--:|:--:|
| Claude Code | ✅ | ✅ | ✅ 可见 + 标记 | ✅ | ✅ |
| GitHub Copilot CLI | ✅ | ✅ | ✅ 实际推理文本 | ✅ | ✅ |
| Codex CLI | ✅ | ✅ | ✅ 可见 + 标记 | ✅ | ✅ |
添加另一个(Gemini、OpenCode、Aider、Ollama、…)是一个文件 — 参见 [docs/ADDING-A-CLI.md](docs/ADDING-A-CLI.md)。
## 路线图
- 每日摘要 / 自动站立会议来自当天的会话
- 决策轨迹 → PR 描述导出
- Gemini CLI、OpenCode、Aider 适配器
- 预算警报关于名义支出
- Homebrew / pipx 打包
欢迎贡献 — 参见 [CONTRIBUTING.md](CONTRIBUTING.md)。
## 文档
- [SETUP.md](docs/SETUP.md) — 安装、Linux 调度、MCP、故障排除
- [ARCHITECTURE.md](docs/ARCHITECTURE.md) — 数据流 + 设计决策
- [ADDING-A-CLI.md](docs/ADDING-A-CLI.md) — 在一个文件中编写适配器
## 许可证
MIT — 参见 [LICENSE](LICENSE)。