这两年,Claude Code 、Codex 、Gemini CLI 这类 AI CLI 工具越来越成熟。你在终端里描述需求,AI 自动读代码、写代码、跑测试、提交——开发流程正在从"人写代码"变成"人指挥、AI 干活"。
但随之而来的问题是:终端变成了主战场,而现有工具都没为这个场景做好准备。
项目一多就乱、布局每次都要重摆、AI 跑完了不知道、Token 烧了多少完全不可见……
于是做了 codux——一个专门管理"用 AI CLI 工具开发多个项目"这个工作流的原生 macOS 终端工作区。
codux 是一个专为 AI CLI 工具时代设计的原生 macOS 终端工作区。用 SwiftUI + AppKit 从零构建,没有 Electron ,没有 WebKit ,启动即用,空闲时内存占用 80–150 MB 。
GitHub:https://github.com/duxweb/codux
官网:dmux.dux.cn
左侧项目侧栏,每个项目独立管理自己的终端会话、分屏布局和 Git 状态。切换项目一次点击,布局自动恢复。AI 任务在跑时,侧栏图标实时动态提示,哪个项目在工作一眼就看出来。
水平分屏、底部标签页、拖拽调整比例,所有布局按项目持久化存储。下次打开还是原来的样子,不需要每次重新摆。
右侧呼出 Git 面板:分支切换、暂存文件、查看 diff 、写提交说明、一键推送拉取。提交说明想不出来? AI 帮你生成。日常 Git 操作不需要再开 Fork 或 Tower 。
codux 实时监听终端里运行的 AI 工具,统计每个会话的 Token 消耗、使用的模型、调用的工具,以图表形式展示今日用量、近期热力图和工具排行。
目前支持:Claude Code、Codex ( OpenAI )、Gemini CLI,更多工具持续接入。
AI 任务跑起来就可以去做别的事。codux 持续监听运行状态,任务完成或出错时系统通知立刻推送,不需要守着终端盯结果。
根据当天 AI Token 使用量实时升段:
黑铁 → 青铜 → 白银 → 黄金 → 白金 → 钻石 → 大师 → 宗师
用量越高,等级越高。不只是个数字,更是今天工作强度的直观感受。
玻璃模糊背景、精心调校的深浅色模式、多套终端主题和应用配色方案可选。每天要盯几个小时的工具,好看也是生产力。
这类工具终端体验本身做得很好,渲染性能、字体渲染、快捷键定制都是业界标杆,iTerm2 用了十几年依然是 macOS 上最成熟的终端之一。
但它们的定位是通用终端模拟器,没有项目管理的概念——所有 session 是平的,需要用户自己用 tmux 或者手动组织。Git 操作、AI 任务监听、Token 统计这些都不在它们的设计范围内。
Warp 虽然引入了 AI 功能,但那是 Warp 自己的 AI 助手,和 Claude Code / Codex / Gemini CLI 这类独立 CLI 工具是两个生态,无法监听它们的运行状态和用量。
适合谁:不需要多项目管理、只是想要一个好用的终端的用户,iTerm2 / Warp 仍然是很好的选择。codux 更适合同时跑多个 AI 项目的场景。
Codex Desktop ( OpenAI 官方桌面客户端)和 OpenCode 这类工具,目标是把 AI CLI 工具的交互做得更直观——对话界面、任务管理、多会话切换都比纯终端友好不少,这方面它们做得相当完整。
和 codux 的差距主要体现在两点:
第一,Electron 的内存代价。 这类桌面端大多基于 Electron 构建,打开一个空窗口就要 300–500 MB 内存起步。AI 任务本身已经很耗资源,再压一层 Chromium ,机器稍微跑满就开始卡。
第二,会话记录一长就卡顿。 AI 对话内容通常包含大量代码块、长文本、diff 输出,Electron 渲染层处理这些并不擅长。跑了几十轮对话之后,滚动卡、渲染慢,这是 Web 渲染技术栈的结构性问题,很难靠优化彻底解决。
codux 使用原生 SwiftTerm 渲染终端内容,不走 Web 层,几千行输出滚起来和空终端一样顺滑,内存占用也稳定在 80–150 MB 。
适合谁:如果你主要关注的是 AI 对话交互体验,Codex Desktop 类工具更聚焦。如果你更在意性能、长会话流畅度,以及跨项目的终端布局管理,codux 是更好的选择。
VSCode 是优秀的代码编辑器,内置终端也基本够用,配合 Copilot 或 Continue 插件,AI 辅助编码的体验相当完整。
但 VSCode 的终端是编辑器的附属功能,设计上是"打开一个项目、用一个终端"。多项目场景需要开多个 VSCode 窗口,每个窗口的终端互相独立,没有统一的项目切换视图,布局不持久化,AI CLI 工具的运行状态和 Token 用量在 VSCode 里完全不可见。
此外 VSCode 基于 Electron ,空闲状态下内存占用也在 300 MB 以上,多开几个窗口压力不小。
适合谁:以代码编辑为主、偶尔用终端跑 AI 任务的用户,VSCode 完全够用。如果终端和 AI 任务管理是你的主要工作,codux 会更合适,两者也可以并行使用。
| codux | iTerm2 | Warp | Codex Desktop / OpenCode | VSCode | |
|---|---|---|---|---|---|
| 定位 | AI CLI 终端工作区 | 通用终端 | 智能终端 | AI 工具客户端 | 代码编辑器 |
| 多项目独立管理 | ✅ | ❌ | ❌ | ❌ | ❌ |
| 分屏布局持久化 | ✅ | 有限 | ❌ | ❌ | ❌ |
| AI CLI 工具监听 | ✅ | ❌ | ❌ | ✅ | ❌ |
| Token 用量统计 | ✅ | ❌ | ❌ | ✅ | ❌ |
| 任务完成通知 | ✅ | ❌ | ❌ | ❌ | ❌ |
| 内置 Git 面板 | ✅ | ❌ | ❌ | ❌ | 插件 |
| 原生渲染(无 Electron ) | ✅ | ✅ | ❌ | ❌ | ❌ |
| 长会话渲染流畅 | ✅ | ✅ | 一般 | ❌ | 一般 |
| 代码编辑 / 补全 | ❌ | ❌ | ❌ | 部分 | ✅ |
| 空闲内存占用 | ~100 MB | ~80 MB | ~200 MB | ~400 MB+ | ~300 MB |
| 组件 | 技术 |
|---|---|
| UI 框架 | SwiftUI + AppKit ,原生渲染,无任何 Web 层 |
| 终端引擎 | SwiftTerm ,完整支持 ANSI 、鼠标、文字选择 |
| Git 集成 | 直接调用本地 git CLI ,无额外依赖 |
| 数据存储 | JSON 本地持久化,无账号,无云端上传 |
首次打开如果提示"无法验证开发者",在终端执行:
sudo xattr -rd com.apple.quarantine /Applications/codux.app
或前往「系统设置 → 隐私与安全性」点击「仍要打开」。
如果你也在用 AI CLI 工具做开发,欢迎试用,有问题直接在 GitHub 提 Issue 。