CLI 对话历史本地查看器。支持 Claude Code(~/.claude/projects/)、TRAE CLI(~/.trae/cli/sessions/)和 Codex CLI(~/.codex/sessions/)—— 把枯燥的 JSONL 日志变成浏览器里可以舒适阅读的对话界面。
纯本地运行,不上传任何数据,不需要联网,不需要 API Key。
| 功能 | 说明 |
|---|---|
| 多 CLI 切换 | 左上角按 Codex CLI / Claude Code / TRAE CLI 顺序切换,Codex 与 Claude 使用各自品牌图标,状态独立 |
| Markdown 渲染 | 代码块、表格、链接、引用与多级列表完整支持;常见 TUI 项目符号会保守规范化,围栏代码保持原样 |
| 一键复制 | 代码块和用户消息框提供悬停复制按钮,便于复用提示词与片段 |
| LaTeX 公式 | 通过 KaTeX 渲染行内与块级数学公式 |
| 图片显示 | Claude 会话里粘贴的图片自动渲染(按需流式加载,可点开原图) |
| 工具调用展示 | 可折叠查看 Read / Bash / Edit / Write 等工具的输入参数与输出结果 |
| 三主题切换 | 浅紫 / 浅蓝 / 暗色,顶栏弹出式选择器一键切换,平滑过渡,刷新后保持选择 |
| 收藏夹 | 侧栏“收藏”分组与会话悬停操作支持快速星标,按 CLI 隔离持久化到 ~/.cc-reader/favorites/,重建或端口变化后仍保留 |
| 删除会话 | SessionItem 上的垃圾桶按钮,inline 二次确认后真删本地 jsonl,并同步移除收藏 |
| 会话搜索 | 侧栏按路径或对话标题实时搜索,自动过滤并展开匹配项 |
| 准确提问计数 | 左侧会话条目的数量只统计解析后的真实用户提问,不把助手回复、工具结果或系统事件误算为提问 |
| 轮分页 | 长会话首屏只加载最近 10 轮,右侧"加载更早 10 轮"按需向上扩展,避免卡顿 |
| Recent 加载更多 | 左栏 Recent 默认显示 5 条,"显示更多"按钮每次 +5 |
| 实时更新 | 正在进行的对话会自动追加并合并同一轮的流式分段;左上刷新按钮会安全重读已打开会话 |
| 多标签页 | 同时打开多个会话,使用独立填充/描边状态像浏览器一样切换 |
| 问题快速跳转 | 右侧大纲一键跳到任意提问,点击后保持选中态;关键轮次可标记、重命名并只看标记,数据按 CLI / 项目 / 会话隔离保存 |
| 字体大小调节 | 默认 14px,工具栏按钮或 Ctrl/Cmd + +/- 调整,设置自动保存 |
| 阅读宽度 | 工具栏宽度选择器:窄 / 适中 / 宽 / 全宽 4 档,按个人显示器与字号选最舒服的,刷新后保持 |
| 隐藏工具输出 | 工具栏眼睛按钮一键折叠/展示工具调用气泡,专注阅读对话 |
| 交互式使用教程 | 标题栏“使用教程”提供 10 步真实界面导览:背景遮罩、镂空高亮、进度跳转与缺失区域示意,不会自动切换 CLI 或修改会话数据 |
| 克制动效 | 消息淡入与操作反馈保留轻量过渡,左右侧栏以宽度、透明度和轻位移联动展开;标题栏和标签页不做悬浮弹跳,并尊重「减少动效」无障碍设置 |
| 快捷键 | 功能 |
|---|---|
Ctrl/Cmd + = | 放大字体 |
Ctrl/Cmd + - | 缩小字体 |
教程中 ← / → | 上一步 / 下一步 |
教程中 Esc | 退出使用教程 |
- Node.js 18 或更高(
node -v查看) - Claude Code、TRAE CLI 或 Codex CLI(至少一个)—— 对话历史分别存储在
~/.claude/projects/、~/.trae/cli/sessions/与~/.codex/sessions/ - 支持 macOS / Linux / Windows
git clone https://github.com/Wkingxc/cc-reader.git
cd cc-reader
npm installnpm start这一条命令会自动完成 构建前端 → 启动服务 → 打开浏览器。终端会打印实际地址:
CC Reader running at http://127.0.0.1:3456
浏览器会自动弹出该地址;若没有自动打开,手动复制到浏览器即可。左侧选一个会话即可开始阅读。
端口 3456 被占用时会自动顺延到下一个空闲端口(以终端打印为准),也可手动指定:
PORT=8080 npm start。 调试时不想自动打开/抢占浏览器窗口,可设置:CC_READER_OPEN=0 npm start。
本工具读取的是当前用户主目录下的私密对话记录,默认只监听
127.0.0.1,请勿直接暴露到公网。如需远程使用,建议通过 SSH 端口转发(ssh -L 3456:127.0.0.1:3456 user@host)访问。
npm run desktop这一条命令会构建前端、编译本地服务和 Electron 入口,然后打开独立的 CC Reader 桌面窗口。桌面版仍然只读取本机 ~/.claude、~/.trae/cli/sessions 和 ~/.codex/sessions,不会上传数据。
需要生成本机可运行的 macOS .app 目录时:
npm run desktop:pack产物默认在 release/mac-arm64/CC Reader.app。当前脚本生成的是本地预览包,不做 Apple Developer ID 签名和公证。
需要发给别人试用时,建议生成 .dmg:
npm run desktop:dmg产物默认在 release/CC Reader-1.0.0-arm64.dmg。当前 DMG 仍是未签名预览包,首次打开可能需要用户右键打开或在系统设置里允许。
获得前端热更新 + 后端自动重启:
npm run dev- 前端 dev server:
http://localhost:5173(含热更新,开发时访问这个) - 后端 API:
http://localhost:3456(前端通过 Vite 代理转发/api与/ws)
| 命令 | 作用 |
|---|---|
npm start | 构建前端并启动服务(生产模式,单端口同时提供 API 与页面) |
npm run dev | 前端热更新 + 后端自动重启(开发模式) |
npm run build | 仅构建前端到 dist/ |
npm run build:server | 编译后端到 dist-server/(桌面打包使用) |
npm run build:electron | 编译 Electron 入口到 dist-electron/ |
npm test | 运行服务端测试与前端纯逻辑回归测试 |
npm run server | 仅启动后端服务(需先 npm run build) |
npm run desktop | 构建并启动 Electron 桌面窗口 |
npm run desktop:pack | 构建 Electron 本地 .app 预览包 |
npm run desktop:dmg | 构建用于分享试用的 macOS DMG 预览包 |
技术栈:React 18 · Vite · Tailwind CSS 3 · TypeScript · Express · ws · chokidar · KaTeX · Electron