跨终端 Claude Code 会话状态总览 · macOS menubar
English · 简体中文
并行开多个 Claude Code 终端会话时,状态散落在各 tab / 窗口——哪个在干活、哪个等你回复 / 权限、哪个已经 idle,得逐个切窗口看。容易漏掉阻塞:一个 claude 等你确认权限 10 分钟你没注意,它就干等。
cc-view 把所有会话聚合到 menubar 一个图标(hover 看「N 等我 · M 工作」,需介入时染橙 + 红圆 badge)+ ⌥Space 命令面板(搜索 / focus 跳终端 / 搁置 / 归档 / 复制 ID,失焦收起)+ 常驻精简面板(贴桌面、状态色闪动提醒)+ ⌘, 偏好设置(VSCode 风格)+ 系统通知——不用切窗口就能掌握全部会话、快速跳到要处理的那个。
点会话直接跳到正确的终端 tab——不再是 app 级 activate(iTerm2 / Terminal / Otty 按 TTY 精确到 tab,Ghostty / cmux 按 cwd 精确到 terminal)。
自动更新双源兜底——GitHub 为主,Gitee 为国内网络兜底,GitHub 不可达时自动切换。
搜索 + 跳终端(⌥Space → 输入 → Enter)
常驻面板(贴桌面 · 展开收起)
任务完成提醒 → 点击跳转
命令面板(⌥Space 呼出)— 多项目多状态 + token 列
会话详情(点行内 📊)— 上下文曲线 + 回合消耗明细
常驻模式(贴桌面 · 待介入闪动提醒)
偏好设置(⌘, · VSCode 风格 · toggle switch)
- 全局快捷键呼出居中 overlay,搜索(名称 / 项目)/ 聚焦(跳终端)/ 搁置 / 归档 / 复制 ID
- 失焦自动收起;可图钉钉住;位置记忆,拖动后持久化恢复
- 列表显示可配置:终端名 / token 用量 / 操作按钮均可独立开关(偏好设置 → 显示)
- 点会话行直接跳到正确的终端 tab/window,不再是 app 级 activate
- iTerm2 / Terminal.app / Otty:TTY 匹配(
ps取控制 TTY → AppleScript 遍历 tab/session 找匹配) - Ghostty ≥ 1.3.0 / cmux:OSC 7 marker 精确匹配(往 TTY 写唯一 cwd 标记 → AppleScript 匹配 → 恢复)。cmux 基于 libghostty,继承了 Ghostty 的 AppleScript 模型
- 其余终端(Warp / VSCode / IntelliJ / WezTerm / Alacritty / Kitty):app 级 activate(无可编程 API 或需额外配置)
- 全屏 Space 切换:统一 click Dock 图标(唯一可靠方式)
- 同一 overlay 的精简形态——贴桌面常驻、失焦不收起、背景透明度可调(0–100%)、宽度可调(拖右边缘 140–480px,右锚定不动,拖完持久化)
- B 精简(分组 + 状态文字)/ A 极简(仅图标 + 名称)两种布局,可切换显示搁置 / 闲置
- 待介入闪动提醒:会话从「非待介入」切到「待介入」时,目标行 + 整框用状态色脉动 3 次(仅常驻模式,节流防狂闪)
- 未读红点:会话切到待介入时行前红点提醒(未读消息式),focus 跳转或该会话恢复处理后自动消除——常驻 + 命令面板都有
- 右上角一键展开成完整命令面板,面板内一键收起
- 偏好设置手动切浅色 / 深色,默认浅色、不跟随系统
- 毛玻璃(vibrancy)material 优化为
UnderWindowBackground:深色下文字清晰不糊、浅色透明度 0% 不再突兀白
- 列表每行显示累计 token(输入↑ / 输出↓),一眼看出哪个会话烧得多
- 点详情看会话 token 明细:当前上下文大数字 + sparkline 增长曲线 + 消耗三格(输入 / 输出 / 缓存命中)+ 按回合列表(背景进度条 + 上下文列)
- compact 自动检测:相邻回合上下文大幅下降(降 30%+)即推断一次压缩(不依赖
compact_boundary标记,新版 claude-code 也能识别) - token 单位可配置:k/M(国际,默认)或 万/亿(中文),偏好设置切换
- menubar 图标 tooltip「N 等我 · M 工作 / 等权限 / 等回答」;有 NeedsPermission / WaitingForReply 时染橙 + 红圆 badge
- 会话进入「等权限 / 等输入 / 需要关注」时弹系统通知(按会话名区分,可关闭)
- 搁置:暂时不管(不催促、不通知);会话被重新输入(状态更新)后自动取消搁置、冒泡回待介入
- 归档:收起不常看的会话(持久化,可恢复)
- 等输入超 30min 自动灰显 + 标「闲置」,全闲置项目整组下沉;超时等回答同样灰显——不抢注意力
- VSCode 风格:左侧分类导航(通用 / 显示 / 更新)+ 右侧设置项行,
⌘,全局快捷键打开 - 显示分类:主题 / token 单位 / 显示终端名 / 显示 token 用量 / 显示操作按钮 / 常驻布局 / 搁置 / 闲置 / 透明度 / 面板宽度
- 开关统一 macOS toggle switch;搁置 / 闲置分项带说明(搁置=手动暂停不催促不通知;闲置=等输入超 30min 自动降级)
- 基于 tauri-plugin-updater 的自动检查 + 下载安装 + 重启
- 双源兜底:GitHub 为主 → Gitee 为国内网络兜底(updater 按序自动 fallback)
- 支持简体中文和英语,自动检测系统语言
- 偏好设置 → 通用 → 语言切换(跟随系统 / 简体中文 / English)
- menubar 菜单、tooltip、通知文本全部本地化
| 快捷键 | 作用 | 可配置 |
|---|---|---|
⌥Space |
呼出 / 收起命令面板 | ✅ 可改 ⌘⌥Space / ⌃Space / 禁用 |
⌘, |
打开偏好设置 | — |
Enter(面板内) |
聚焦选中会话(跳终端) | — |
| 点击 / 回车 会话行 | 聚焦该会话 | — |
- 下载最新 release dmg:按 CPU 架构选——Apple Silicon(M 系列)用
cc-view_<ver>_aarch64.dmg,Intel 用cc-view_<ver>_x86_64.dmg。 - 打开 dmg,拖 cc-view 到 Applications。
- 启动 cc-view——menubar 出现图标(平时无 dock 图标),
⌥Space呼出命令面板。
cc-view 是个人开源项目,未做 Apple 公证(公证需 $99/年 Apple Developer Program),macOS Gatekeeper 会拦截 DMG 安装的 app。处理方式:
- 双击打开 → 提示「Apple 无法验证…」→ 点「完成」关闭
- 系统设置 → 隐私与安全性 → 滚到底 → 点「仍要打开」→ 确认
- cc-view 启动后会自动清除 quarantine 标记(v0.5.4+),后续启动不再弹此提示
也可以直接终端跑
xattr -dr com.apple.quarantine /Applications/cc-view.app,效果一样。
自动更新不受影响:cc-view 的内置更新器下载的 app 不带 quarantine 标记,更新后直接启动,不会弹 Gatekeeper。只有从 DMG 手动安装时才有此提示。
要求:macOS 13+,Apple Silicon(aarch64,已验证)或 Intel(x86_64,未经实机测试,有问题提 issue)。首次运行在系统设置里授权:
- 通知:系统通知
- 辅助功能:focus 跳全屏 app(点 Dock 切全屏 Space 需要);首次 focus 会弹系统授权窗引导
- 自动化:控制终端 app(iTerm / Terminal / Otty / Ghostty 的 AppleScript);首次切换到对应终端会弹授权窗
cc-view 聚合多路数据源拼出最准确的会话视图:
~/.claude/sessions/<pid>.json:前台交互会话状态- roster / 后台 agent 会话列表
claude agents --json:fleet agent 精确状态(运行中 / 等输入 / 等权限)- JSONL 尾部文本:等权限预测 + Compacting 检测(识别
compact_boundary)
npm install
npm run tauri dev # 开发
npm run tauri build # 产出 .app / dmg / updater artifacts技术栈:Tauri 2(Rust)+ Vue 3 + TypeScript。后端每 3s 采集 → 状态机 reduce → 通知 → hash 去重 → emit sessions 事件;前端 Vue 监听渲染。
推荐 IDE:VS Code + Vue - Official + Tauri + rust-analyzer
- DMG 安装触发 Gatekeeper:cc-view 未做 Apple 公证(个人项目,公证需 $99/年 Apple Developer Program)。DMG 安装后首次打开会提示「Apple 无法验证…」,需在隐私与安全性里点「仍要打开」。app 启动后自动清除 quarantine(v0.5.4+),后续启动不再弹。自动更新不受影响——更新器下载的 app 不带 quarantine,直接启动。彻底消除需 Apple 公证。
- 常驻拖动需先点击:常驻面板是 nonActivating panel(贴桌面不抢焦点),失焦后再拖动需先点一下面板回归焦点才能拖——输入可用性(becomesKeyOnlyIfNeeded)与拖动便利的折衷,无法在不破坏终端输入的前提下消除。
- 精确切 tab 覆盖范围:iTerm2 / Terminal / Otty(TTY 匹配)和 Ghostty / cmux(OSC 7 marker)已精确到 tab/terminal;Warp / VSCode / IntelliJ / WezTerm / Alacritty / Kitty 因无可编程 API 或需额外配置,仍为 app 级 activate(同 app 多窗口不精确)。
- Compacting 检测为 post-compact:详情面板用上下文跳降启发式(不依赖
compact_boundary,适配新版 claude-code);状态机的"压缩中"判定仍用compact_boundary,compaction 进行中的 ~2min 内无法实时检测。 - Intel 版未经实机测试:x86_64 包由 Apple Silicon 交叉编译产出(纯 Rust + 系统框架依赖,理论可用),未在真实 Intel Mac 上验证运行;遇到问题请提 issue。
- Apple 公证(消除 Gatekeeper 警告,需 $99/年 Developer Program)
- Kitty remote control 精确切换(需用户开
allow_remote_control) - WezTerm
wezterm cli focus-pane精确切换 - VSCode / IntelliJ 打开项目窗口增强
- 透明度 / 毛玻璃效果进一步可调
如果你需要更重的方案,推荐了解 herdr——专为 AI coding agent 设计的终端复用器(类似 tmux)。herdr 拥有自己的终端运行时,支持会话持久化、跨平台、agent 间通信、插件系统。
cc-view 与 herdr 的区别:
| cc-view | herdr | |
|---|---|---|
| 定位 | 监控层——在现有终端旁边读状态 | 运行时——agent 跑在 herdr 内部 |
| 是否改工作流 | 不需要,装上即用 | 需要从 herdr 启动 agent |
| 平台 | macOS | macOS / Linux / Windows |
| 界面 | menubar + overlay(原生 GUI) | TUI(终端内) |
| 通知 | 系统通知 + menubar badge | pane 内状态标记 |
| Token 统计 | 有(上下文曲线 + 回合明细) | 无 |
| 会话持久化 | 无(仅监控) | 有(断网 / 重启后恢复) |
简单来说:想换个更强的终端运行时 → herdr;想在现有终端工作流上加一层监控和通知 → cc-view。两者也可以互补使用。
- Tauri · Vue · Claude Code(Anthropic)






