Show HN:基于 Ghostty 的终端,具备垂直标签页和通知

发布: (2026年2月20日 GMT+8 05:30)
2 分钟阅读

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。

演示

Demo video on YouTube

仓库

cmux (AGPL) on GitHub


Footnotes

  1. https://github.com/vercel-labs/agent-browser (source of the in‑app browser API)

0 浏览
Back to Blog

相关文章

阅读更多 »