一天一个开源项目(第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 原住民。

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

相关推荐
SL_staff7 小时前
为什么企业级自动化不能只靠AI编排?——逻辑引擎在确定性业务场景中的不可替代性
java·开源·产品
#六脉神剑7 小时前
myBuilder 11 月新版本:AI辅助设计
ide·人工智能·低代码·ai·mybuilder
SJZR7 小时前
图解循环神经网络(RNN)
人工智能·rnn·神经网络
QXWZ_IA8 小时前
测绘单位采购RTK:设备价格、账号年费、售后,用时间轴分权重
网络·人工智能·安全
kaixin_啊啊8 小时前
【零基础学AI】第 29 章——第一次调用大模型 API
人工智能
甲维斯8 小时前
Qwen4 被嘲笑了!国模被啥锁死了?
人工智能
夕阳_醉了9 小时前
Codex 客户端从装好到跑通:第三方 API 接入与配置避坑指南
人工智能·gpt·openai·codex·ai 编程
熟的生菜9 小时前
从零造一个腱绳驱动灵巧手——仿真器篇5:姿势串与手势工程——从文本协议到握拳、OK 与多姿势插值
人工智能
Moment9 小时前
不会后期的我,发现了一个开源胶片神器😍😍😍
前端·后端·开源
武子康9 小时前
攻击动作做对了,游戏规则就对了吗?H3-World 与三条控制路线的分工
大数据·人工智能·agent