一天一个开源项目(第90篇):cmux - 为 AI Agent 时代设计的原生终端复用器

引言

"The best developers have always built their own tools." --- The cmux Zen

这是"一天一个开源项目"系列的第90篇文章。今天带你了解的项目是 cmux。

如果说前几期介绍的 pi-mono 或 Warp 是在重新定义终端的交互逻辑,那么 cmux 则是在为 AI Agent 时代构建一个全新的"物理承载空间"。它不是一个简单的终端模拟器,而是一个高度可编程的命令行与浏览器复用器(Multiplexer)。它的目标是:当你的 AI 代理(如 Claude Code)在疯狂改代码时,你能在一个原生的、GPU 加速的窗口里,同时监控进程、查看浏览器预览、并实时干预。

你将学到什么

  • 为什么 AI Agent 需要专门的复用器(Multiplexer)?
  • cmux 如何实现终端与浏览器的无缝分屏协作。
  • 利用 Unix Socket API 实现对开发环境的完全编程控制。
  • 为什么"原生(Native)"对 AI 时代的开发者效率至关重要。

前置知识

  • 了解 tmux 或 screen 等传统终端复用器。
  • 习惯于在命令行中调用 AI 模型或编程代理。
  • 使用 macOS 操作系统。

项目背景

项目简介

cmux(可能源于 Command Multiplexer)是一个轻量级、高性能的 macOS 原生应用。它将终端(基于 Ghostty 核心)和网络浏览器整合到一个统一的工作区中。它采用了"Primitive-First(基元优先)"的设计哲学,不提供现成的重型解决方案,而是通过 CLI 和 Socket API 提供最基础的构建块,让开发者构建最适合自己的 Agent 协作流程。

作者/团队介绍

  • 团队:Manaflow
  • 核心理念:反对"黑盒"和过于主观的 AI 产品,倡导给开发者提供可编程的"基元(Primitives)",回归"开发者自己造工具"的开源精神。

项目数据

  • ⭐ GitHub Stars: 400+ (快速增长中)
  • 📦 核心技术: Swift & libghostty
  • 📄 License: MIT (待确认,遵循开源社区常规)
  • 🌐 仓库: manaflow-ai/cmux

主要功能

核心作用

cmux 为 AI 代理提供了一个"可视化的家"。它允许外部程序(Agent)通过 Socket 连接,自主创建分屏、导航网页、甚至在侧边栏显示自定义的进度条和状态信息。

使用场景

  1. Agent 协同监控
    • 左侧运行 AI 自动编程代理,右侧实时显示编译后的网页预览。
  2. 自动化开发环境配置
    • 通过脚本一键启动项目:自动分屏(Api 层、前端层、数据库日志),且自动打开相关文档链接。
  3. 跨多浏览器会话
    • 它可以导入 20 多种浏览器的 Cookie,让 AI 代理能直接方位需要认证的 Web 工具。

快速开始

目前 cmux 主要针对 macOS 用户。

bash 复制代码
# 访问 GitHub 下载最新 Release 的 .dmg 包
# 或者通过命令行控制 cmux(假设应用已运行)
cmux split-pane --horizontal
cmux open-url https://google.com

核心特性

  1. Bonsplit 布局系统
    • 极其灵活的分屏与标签管理,支持终端与浏览器的混合排版。
  2. Agent 侧边栏 (Sidecar)
    • 专门为 Agent 设计的 UI 面板,AI 代理可以通过 API 发送元数据、进度条、日志等,无需弄乱主终端输出。
  3. 完全可编程控制
    • 提供 Unix Socket API (v1/v2),支持 line-based 和 JSON-RPC 协议,让任何程序都能接管 UI。
  4. GPU 加速渲染
    • 基于强大的 libghostty 引擎,渲染速度极快,延迟极低。
  5. 高度定制化
    • 直接读取 Ghostty 的配置文件,完美支持现有的配色方案和字体设置。

项目优势

对比项 cmux tmux Warp / Cursor
GUI 集成 完美集成(终端+浏览器) 纯文本 深度定制但较封闭
可编程性 极强(Socket API) 强 较弱
性能 原生 Swift + GPU 极快(由于简单) 中(Electron 居多)
Agent 友好度 满级(带状态侧边栏) 低 高但非通用工具

项目详细剖析

1. 编程接口:让 Agent 指挥终端

cmux 最强大的地方在于它的 /tmp/cmux.sock。 一个简单的 Python 脚本就可以控制它:

python 复制代码
import socket
import json

# 通过 JSON-RPC 创建一个新的浏览器分屏
command = {
    "jsonrpc": "2.0",
    "method": "v2.workspace.open_url",
    "params": {"url": "http://localhost:3000"},
    "id": 1
}
# 发送到 cmux 即可通过脚本实现 UI 漂移

2. 侧边栏 Primitives (Sidecars)

在 cmux 中,Agent 可以拥有自己的展示领地。通过侧边栏 API,Agent 可以展示:

  • 实时生成的测试覆盖率图表。
  • 任务执行的 Step-by-step 进度条。
  • 发现的漏洞列表,点击即可在主窗口打开对应文件。

这种"信息解耦"极大地缓解了开发者监控 Agent 工作时的认知负担。


项目地址与资源

官方资源

适用人群

  • 正在构建自定义 AI Agent 的开发者。
  • 喜欢在多屏幕、多窗口间频繁切换的高级玩家。
  • 追求极致性能、讨厌 Electron 臃肿感的 macOS 原住民。

欢迎来我的个人主页找到更多有用的知识和有趣的产品

相关推荐
AI你一生一世14 分钟前
Cloudflare OS:当边缘网络开始承载 Agent 运行时
人工智能·serverless·边缘计算·容器编排·cloudflare os·agent 运行时
JJJennie77721 分钟前
2026年大模型网关自建还是买?MAI Gateway等主流方案横评
人工智能·开源·gateway·ai网关
拆房老料2 小时前
【第四部分:Agentic 智能体设计模式】16. 一个 Prompt 搞不定复杂任务?试试 Prompt Chaining
java·前端·人工智能·设计模式·prompt
运维行者_3 小时前
应用性能监控怎么选?从调用链到用户体验的五个能力维度
运维·服务器·数据库·人工智能·mysql·性能优化·应用性能监控
张张123y3 小时前
后端第十四课:Agent 记忆系统(让 Agent 记住上下文和用户,跨会话不健忘)
java·大数据·人工智能·python·agent·记忆
国科安芯7 小时前
四重证据,一条逻辑链:商业航天级微控制器MCU抗辐射验证方法学综述——以国科安芯AS32S601为例
人工智能·单片机·嵌入式硬件·mcu·安全·抗辐射
dk_tjy7 小时前
AI驱动的自动化攻击背景下:企业端点安全体系的技术架构与建设路径
网络·人工智能·安全·自动化·终端安全管理·数据防泄漏
布吉岛的石头7 小时前
Java 程序员第 50 阶段2:预训练的目标函数:自回归语言建模本质
java·开发语言·人工智能·深度学习·回归·transformer
2601_965454237 小时前
用AI把开源项目功能清单做成MG动画介绍视频
人工智能·开源·音视频
风雅GW8 小时前
局域网访问为何少一半配置页:DSH 的安全边界设计复盘
人工智能