Claude Session Viewer (cc-sessions-viewer) — Vibecoding 作品
标签: vibecoding ai开发 tauri vue rust 会话管理 claudecode codex geminicli
基本信息
- 名称: Claude Session Viewer
- 仓库: github.com/jerrywu001/cc-sessions-viewer
- 作者: jerrywu001
- 定位: AI Coding CLI 会话浏览器——统一查看 Claude Code / Codex / Gemini CLI 的本地 session 记录
- 技术栈: Tauri 2 + Vue 3 + Rust
- Stars: 15 | Forks: 2
- 创建时间: 2026-05-20(极新,仅两周前)
- License: MIT
解决什么问题
Claude Code、Codex、Gemini CLI 都会把会话 JSONL 写到磁盘,但路径各异、格式不同,且都没有内置浏览器。这个工具把它们统一到一个时间线里:
- Claude Code:
~/.claude/projects/<dir>/<sessionId>.jsonl(按项目目录分组) - Codex:
~/.codex/sessions/<YYYY>/<MM>/<DD>/rollout-*.jsonl(按 cwd 分组) - Gemini:
~/.gemini/tmp/<slug>/chats/session-*.jsonl(按 slug 分组)
只读安全:原始 JSONL 绝不修改,删除走 soft move 到 trash 目录。
核心功能
会话浏览与回放
- 统一项目视图,跨三个 CLI 按工作目录分组
- 忠实回放:思考链、工具调用配对、结构化 diff、行内截图
- 折叠/展开所有工具调用,一键隐藏噪音聚焦对话
- Live tail:正在进行的会话自动刷新,滚动查看时提示新增消息
- Image lightbox 查看截图
搜索
- 全局搜索 (⌘⇧F):跨项目搜索,点击命中跳转到精确消息,带高亮闪烁
- 会话内搜索:可按范围(全文/用户消息/agent 回复/工具输出)搜索,前后跳转+计数器
- 会话列表搜索:Rust 侧执行关键词搜索,支持取消,可排序
统计与分析
- Token 用量 + 费用统计(按项目/模型/工具/单会话切分)
- 模型定价来自 LiteLLM 实时数据(24h 缓存),可浏览可搜索
- 每日活动图、KPI 卡片、分类柱状图
- Codex 会话过滤:区分内部/归档 session
导出
- 单会话导出:Markdown / HTML(离线可渲染)/ 无损 JSON
- 批量导出:多选 → 合并导出到按时间戳命名的文件夹
- 导出历史侧边栏(最近 50 条,按路径去重)
终端集成
- 内嵌终端(xterm.js + portable-pty):直接 resume 或启动新会话
- 无需切出到外部 Terminal
用户体验
- 4 主题:Light / Dark / Codex / Dracula + 系统自动
- i18n:英文/简体中文/繁体中文/日语,首次启动匹配 OS 语言
- macOS 托盘:关闭窗口隐藏到托盘
- Pin/Sink 项目:侧边栏彩色标记
- 重命名会话:标题同步回 CLI,resume 时可见
- 欢迎页:最近打开的项目,一键重开
技术亮点
- Tauri 2 原生桌面壳,资源占用低
- Rust 后端处理文件 I/O、搜索索引、JSONL 解析
- Vue 3 前端渲染聊天界面(Markdown/Mermaid/表格/语法高亮)
- 支持 CLI 原生格式差异:三种 CLI 的 JSONL schema 各不相同,做了统一适配
- CLAUDE.md 长达 9,621 字节,说明 prompt engineering 投入很深
与作者过往实践的关联
用户(july1735)表示曾做过类似会话分析工具,但没有做得这么深入。这个项目的参考价值:
- 会话格式适配层:三种 CLI 的不同 JSONL schema → 统一数据模型的设计思路
- 只读安全理念:soft delete + trash 恢复,避免误操作
- 统计闭环:token → 费用 → 模型定价实时更新,完整的数据 pipeline
- Tauri 桌面化:把原本可以是 CLI/web 的工具做成原生桌面体验
- i18n + 多主题:从一开始就考虑国际化,产品化程度高
相关链接
收录时间
2026-06-05