一个自托管的网页面板,用来统一浏览并继续本地 AI CLI 工具的会话历史,例如 Claude Code、Codex CLI、GitHub Copilot CLI。
如果你同时使用多个终端 AI 工具,会很快遇到几个问题:
- 会话历史分散在不同隐藏目录里
- 每家的落盘格式都不一样
- 过一段时间很难回看某条会话到底属于哪个项目
- SSH 到远程机器时,很难像本地 App 一样方便地贴图
这个项目提供了一层统一的浏览和交互界面:
- 按项目浏览多来源会话
- 在网页里查看历史聊天
- 继续已有会话
- 从浏览器发送文字和图片
- 同时浏览以下工具的本地会话历史:
- Claude Code
- Codex CLI
- GitHub Copilot CLI
- 按工作区 / 项目路径聚合会话
- 在项目列表和会话列表里显示来源标记
- 可以把常用 session 固定到紧凑 workspace strip,方便跨项目快速切换
- 把原始 JSONL 文本整理成更接近 CLI 的显示效果
- 对跨天 resume 的会话增加日期分隔,减少“时间乱跳”的错觉
- 在浏览器里继续已有 session
- 在选中项目后创建新的 draft session
- 把状态、工具事件、回复流式插入聊天记录
- 支持粘贴/上传图片
- 使用元数据缓存和 digest 轮询,减少不必要的重复扫描
这个项目刻意保持简单:
- 后端:纯 Node.js HTTP 服务
- 前端:静态 HTML + CSS + 原生 JS
- 数据源:直接读取各工具本地的持久化目录
后端把三种完全不同的历史格式统一成一个内部消息模型:
- Claude Code:
~/.claude/projects - Codex CLI:
~/.codex/sessions - Copilot CLI:
~/.copilot/session-state
multi-cli-session-dashboard/
├── config.example.json
├── config.js
├── interaction.js
├── server.js
├── public/
│ ├── index.html
│ ├── css/
│ └── js/
└── README*.md
- Node.js 18+
- 至少安装一种支持的 CLI 工具
- 对应工具启用了本地 session 持久化
推荐:
claude在 PATH 中codex在 PATH 中copilot在 PATH 中
先复制模板:
cp config.example.json config.json再按你的机器修改:
{
"port": 3456,
"workspaceRoot": "/path/to/your/workspace",
"claudeProjectsDir": "/home/your-user/.claude/projects",
"claudeModelsFile": "/home/your-user/.models.json",
"codexSessionsDir": "/home/your-user/.codex/sessions",
"copilotSessionStateDir": "/home/your-user/.copilot/session-state",
"codexBin": "codex",
"claudeBin": "claude",
"copilotBin": "copilot"
}也支持通过:
- 环境变量
- CLI 参数,比如
--port、--config、--claude-projects-dir
来覆盖配置。
npm start然后打开:
http://localhost:3456
网页右侧的输入框不是“新开一个匿名聊天框”,而是继续当前选中的真实 session。
这意味着:
- 如果你选中的会话本身上下文很重,工具会沿着原会话继续
- 这是设计行为,不是 bug
- 如果你想更干净地开始,就用项目下方的新建 draft session 按钮
不同工具的图片支持不完全一样:
- Codex CLI:走原生图片附件
- Claude Code:先把图片保存到本地,再把文件路径写进 prompt
- Copilot CLI:同样先落本地,再把路径写进 prompt
这样即使你是通过 SSH 在远端跑工具,也能从浏览器侧方便地贴图。
- 这个项目会直接读取本地会话历史
- 也能把新消息发回本地 CLI session
- 如果不加鉴权,请不要直接暴露到公网
- 使用前请确认本地 CLI 的权限模式符合你的预期
- 增加登录鉴权
- 支持更多 CLI / Agent 工具
- 增加 split view / 多会话同时阅读模式
- 更好的工具事件卡片
- 会话全文检索
- 导出和归档功能
欢迎提交 Issue、功能建议和 Pull Request。
如果你想改进这个 dashboard、接入新的 CLI、或者优化浏览器侧交互体验,可以直接提交 issue 或 PR:
- Issues: https://github.com/Stepuuu/multi-cli-session-dashboard/issues
- Pull Requests: https://github.com/Stepuuu/multi-cli-session-dashboard/pulls
比较适合优先贡献的方向:
- 支持更多 AI CLI 工具
- 登录鉴权和多人部署
- 搜索和索引能力增强
- 更丰富的工具事件 / 产物渲染
- 更好的导出和归档体验
如果本项目对你的工作流、研究或内部工具开发有帮助,欢迎引用:
@misc{multi-cli-session-dashboard,
author = {Stepuuu},
title = {CLI Session Dashboard: A Self-hosted Dashboard for Browsing and Continuing Local AI CLI Sessions},
year = {2026},
publisher = {GitHub},
howpublished = {\url{https://github.com/Stepuuu/multi-cli-session-dashboard}},
}MIT