Show HN:基于 Ghostty 的终端,具备垂直标签页和通知
Source: Hacker News
概览
我同时运行许多 Claude Code 和 Codex 会话。以前我使用 Ghostty 的分割窗格,并依赖 macOS 原生通知来判断何时需要关注某个代理。Claude Code 的通知正文始终只有 “Claude is waiting for your input”,没有提供上下文,且打开大量标签页后标题变得难以辨认。
为了解决这个问题,我构建了 cmux,一款使用 Swift/AppKit 编写的原生 macOS 应用。它使用 libghostty 进行终端渲染,并读取你现有的 Ghostty 配置(主题、字体、颜色等)。
功能
-
带垂直标签的侧边栏
显示每个工作区的 git 分支、工作目录、监听端口以及最新的通知文本。 -
通知系统
- 捕获终端序列(OSC 9/99/777)。
- 提供一个 CLI (
cmux notify),可接入 Claude Code、OpenCode 等代理的钩子。 - 当代理在等待时,其窗格会出现蓝色环,侧边栏对应的标签也会点亮。
Cmd+Shift+U跳转到最近的未读通知。
-
应用内浏览器
- 迁移自 agent‑browser1 的可脚本化 API。
- 代理可以快照可访问性树、获取元素引用、点击、填写表单、执行 JavaScript,以及读取控制台日志。
- 你可以在终端窗格旁边拆分出一个浏览器窗格,让 Claude Code 直接与开发服务器交互。
-
完整脚本化
- CLI 和套接字 API 让你可以创建工作区/标签、拆分窗格、发送按键以及在浏览器中打开 URL。
演示
仓库
Footnotes
-
https://github.com/vercel-labs/agent-browser (source of the in‑app browser API) ↩