English | 中文
CCSM 是一个面向 Windows 的本地桌面应用,用于统一浏览 Claude Code 和 Codex 的历史会话。它会按真实项目目录合并两类会话,支持搜索、筛选、查看元数据,并从原项目目录一键继续或分叉工作。
当前源码版本:
0.4.0
-
扫描
%USERPROFILE%\.claude\projects下的 Claude Code JSONL 会话。 -
只读扫描
%CODEX_HOME%\state_*.sqlite;未设置CODEX_HOME时回退到%USERPROFILE%\.codex\state_*.sqlite。 -
自动合并 Microsoft Store 版 Claude Desktop 的本地索引,补充标题、归档状态和活动时间。
-
按真实项目目录合并 Claude Code 与 Codex 会话,支持来源切换和跨项目搜索。
-
支持归档筛选,以及按最近活动时间或标题排序;最近活动视图按今天、昨天、本周和更早分组。
-
展示来源、标题、活动时间、消息数或 Token 数、文件大小、Git 分支、模型和 CLI 版本。
-
优先显示 Claude Code 与 Codex 中的用户自定义会话标题;未设置时继续使用来源提供的标题回退。
-
支持 CCSM 本地归档、会话多选、批量归档与恢复,以及按当前项目创建新的 Claude Code 或 Codex 会话;归档后默认从列表隐藏,可随时查看并恢复。
-
支持定时扫描并保存每个项目最后一次有效工作区;终端全部关闭或 CCSM 重启后,当前项目及子目录仍可恢复到同一个 Windows Terminal 窗口的不同标签。
-
“继续”在单窗口场景复用现有 Windows Terminal;多窗口场景进入 CCSM 管理的项目专属窗口,避免标签进入其他项目。
-
支持临时会话项目,将临时目录中的两类会话集中管理,并在侧栏自动刷新会话目录。
-
悬浮或聚焦会话列表左侧的 Claude/Codex logo,可查看按顺序排列的最近 5 条用户消息摘要。
-
支持原会话续接和分叉续接:
来源 原会话 分叉会话 Claude Code claude --resume <id>claude --resume <id> --fork-sessionCodex codex resume <id>codex fork <id> -
续接时优先打开 Windows Terminal;未安装时回退到独立 PowerShell 窗口。
-
可临时开启最高权限。Claude Code 使用
--dangerously-skip-permissions,Codex 使用--yolo;该选项默认关闭并持续显示风险提示。
| 来源 | 默认位置 | 读取内容 |
|---|---|---|
| Claude Code | %USERPROFILE%\.claude\projects |
JSONL 会话元数据 |
| Codex | %CODEX_HOME%\state_*.sqlite,或 %USERPROFILE%\.codex\state_*.sqlite |
threads 表中的会话索引 |
| Claude Desktop | Microsoft Store 版的本地索引 | 标题、归档状态和活动时间等补充信息 |
- CCSM 只读取本机会话数据,不修改、迁移或删除原始文件。
- 归档状态只保存在 CCSM 本地;归档会从默认列表隐藏会话,原始 Claude Code、Codex 和 Desktop 文件保持不变。
- 完整对话正文只在本地解析标题、统计信息或按需生成最近用户消息摘要时短暂读取;摘要只显示最近 5 条用户消息,保存在进程内缓存,不上传会话,也不保存 API Key。
- 续接前会重新扫描并校验 Session ID 和项目目录;项目目录不存在时不会启动会话。
- 终端扫描只读取进程树、工作目录和会话标识,不保存命令行、环境变量或终端输出。
- 工作区状态保存在
%LOCALAPPDATA%\CCSM\workspace-state.json,只包含来源、已见 Session ID、目录、进程标识与启动时间、采集时间和项目窗口名;身份无法唯一确认的会话不会写入项目快照。 - 续接终端继承当前 Windows 用户的 CLI 配置。最高权限默认关闭,不写入本地存储;开启后界面会持续显示风险提示。
当前版本请前往 CCSM 0.4.0 发布页下载 Windows x64 NSIS 或 MSI 安装包。未配置代码签名的构建在首次运行时可能触发 Windows SmartScreen 提示。
运行 CCSM 需要:
- Windows 10 或 Windows 11
- Microsoft Edge WebView2 Runtime
- Claude Code CLI 或 Codex CLI(按需安装;续接对应来源的会话时必须可用)
- Windows Terminal(推荐;缺失时自动回退到 PowerShell)
从源码开发还需要:
- Node.js 24
- pnpm 10(仓库锁定版本为
pnpm@10.21.0) - Rust stable MSVC 工具链
git clone https://github.com/evepupil/ccsm.git
cd ccsm
pnpm install
pnpm tauri devpnpm tauri dev 会启动 Vite 前端和 Tauri 桌面应用。CCSM 当前仅支持 Windows。
构建前端:
pnpm build构建 Tauri 安装包:
pnpm tauri build只生成不打包的 Windows 可执行文件:
pnpm tauri build --no-bundle无安装包的可执行文件位于:
src-tauri\target\release\ccsm.exe
完整安装包位于 src-tauri\target\release\bundle\。
提交前运行:
pnpm format:check
pnpm check
pnpm test
cargo fmt --manifest-path src-tauri\Cargo.toml --check
cargo clippy --manifest-path src-tauri\Cargo.toml --all-targets -- -D warnings
cargo test --manifest-path src-tauri\Cargo.toml
pnpm build
pnpm tauri build --no-bundlesrc/ React 界面、筛选排序和显示格式
src/components/ 侧栏、标题栏和会话列表组件
src/hooks/ 会话扫描、筛选和终端启动状态
src/lib/ 格式化、筛选和启动命令等纯函数
src-tauri/src/catalog.rs Claude Code 与 Codex 项目合并
src-tauri/src/providers/claude.rs Claude 会话和 Desktop 索引解析
src-tauri/src/providers/codex.rs Codex SQLite 只读索引
src-tauri/src/launcher.rs 双 CLI 检测和受控终端启动
src-tauri/src/terminal.rs Windows 终端进程与工作目录扫描
src-tauri/src/workspace/ 工作区快照匹配、持久化和恢复状态
docs/roadmap.md 里程碑状态
docs/模块设计/ 设计、验证和改动归档
当前里程碑和退出标准见 docs/roadmap.md。M0、M1 和 M2 的实现持续完善中,真实会话标题、时间和终端续接仍以 Windows release 应用中的人工验收为准。