开了一堆终端跑 Claude Code?我写了个网页把它们收进一屏

wzzexe 2026-06-17 10:06 1

起因:开了七八个终端跑 Claude Code ,我崩溃了


最近重度使用 Claude Code ,几个项目并行推进,基本是一个项目一个会话。


但问题很快就来了:
终端窗口越开越多,哪个还在干活、哪个停下来等我授权、哪个早就空闲了,全靠来回 `cmd + `` 切着看。


没有全局视图,也没法快速跳转。


找了一圈没找到趁手的工具,干脆自己写了一个,叫 cc-window


一句话:一个本地网页,把全机所有 Claude Code 会话收进一屏管。
MIT 开源。


cc-window 看板


它主要干这几件事


1. 监控所有会话


全机每个 Claude Code 会话,包括交互式会话和后台会话,都会排成一个看板,并按状态上色:


干活中 / 等授权 / 等输入 / 空闲


一眼就能看清谁还在跑、谁卡住了、谁已经闲着了。


2. 网页里新建会话


直接在网页里选择目录和模型:


Opus 4.8 / Sonnet 4.6 / Haiku 4.5 / Fable 5


然后一键启动一个真正的交互式终端。


3. 直接操作会话


每个会话都有一个 xterm.js 面板,可以直接:



  • 打字交互

  • 回授权弹窗

  • 切换模型

  • 结束会话


不用再在一堆终端窗口里来回找。


4. 本地终端交接


如果想用本机原生终端接管,也可以点一下 attach


这时网页端会自动变成只读;等你关掉本地终端,网页又会自动恢复可交互。


始终保证只有一个可交互端,避免两边同时抢输入、抢 resize 。




还顺手做了历史用量统计


后来我把另一个独立小工具 cc-journal 也合并了进来,变成了顶栏里的「📊 统计」入口。


它会解析 Claude Code 本来就存在本机的 transcript:


~/.claude/projects/**/*.jsonl

然后生成一套纯离线的回看统计:



  • GitHub 风格活跃热力图,指标可切换:总 tokens / 输出 tokens / 会话数 / 指令数;

  • 每日 token 趋势,区分 input / output / cache 创建 / cache 读取;

  • 时段分布、项目排行、模型分布;

  • 当日明细和工作日报;

  • 工作日报支持规则版即时生成,也可以调用本机 claude CLI 浓缩,不需要 API key 。


解析缓存会落在:


~/.claude-journal/

即使 Claude Code 30 天后清理掉历史,这边也会继续保留。全程不出本机。


历史用量统计




上手方式


npx cc-window
# 启动后浏览器打开 http://127.0.0.1:4317

可选安装监控 hooks ,拿到秒级状态:


npx cc-window install-hooks

这一步会修改:


~/.claude/settings.json

但会自动备份,也支持:


--dry-run
--uninstall

环境要求



  • claude 已在 PATH 中,且已经登录;

  • Node ≥ 20 ;

  • 建议安装 tmux ,交接和重启不丢会话主要靠它。


一键「在终端打开」目前是 macOS 限定,底层走 osascript。其它平台会退化成复制 attach 命令。


内网 / 远程开发


可以直接跑在内网的一台开发机上,然后用浏览器访问。


默认只监听:


127.0.0.1

并且没有内置鉴权


所以如果要内网访问,更推荐用 SSH 端口转发:


ssh -L 4317:127.0.0.1:4317 user@devbox

不要直接裸露到公网。


可配置的环境变量:


CC_PORT / PORT      # 默认 4317
CC_HOST # 默认 127.0.0.1
CC_TMUX_SOCKET # 默认 ccwindow



仓库地址


GitHub:
https://github.com/pickjason/cc-windows


直接使用:


npx cc-window



我现在是直接部署在公司的服务器上,团队共用一个账号使用。相比每个人各开一堆本地终端,或者再搞一层“中转站”,这种方式更集中,也更容易管理 Claude Code 会话。

最新回复 (0)
    没有回复
* 帖子来源V2EX
返回