我是那种会在终端里待到凌晨两点的人。
写代码、跑命令、跟 Claude Code 来回拉扯,一天里大部分时间都在终端里。所以我对终端这个东西,要求很苛刻——快、轻、别弹窗要我注册账号、别在后台偷偷传数据。
过去一年我一直在换终端。从 iTerm2 到 Warp,再到在 VS Code 里开内置终端,每一款都有它的问题。
两个月前我在 GitHub trending 上刷到一个项目:Terax,7MB 的 AI 终端。
7MB。我当时的反应是——这连 Warp 安装包的零头都不到。下载下来一用,用了差不多两个月。今天这篇文章,就是我的真实使用报告。
一个 7MB 的应用,怎么塞进一个完整 AI 工作台的?

先说一个数字对比。
Warp 的 macOS 安装包是 145MB,VS Code 三百多 MB。Terax 是 7 到 8MB,差了将近 20 倍。
体积小不是因为功能简陋。恰恰相反,Terax 把多标签终端、代码编辑器、文件浏览器、Git 面板、本地 dev server 预览、以及一个完整的 AI 侧边栏全部塞了进去。
技术栈是解释这个东西怎么做到的关键:它用 Tauri 2 而不是 Electron。
Electron 本质上是把一整个 Chromium 浏览器嵌进你的应用里——所以随便一个 Electron 应用动辄上百 MB,吃内存一大堆。Tauri 用的是操作系统自带的 WebView,Rust 管后端,Web 前端做 UI,体积一下就降下来了。
Terax 的 Rust 后端负责 PTY 终端(portable-pty)、keyring 密钥管理、Tauri 窗口和系统集成。前端是 React 19 + TypeScript,xterm.js + WebGL 做终端渲染,CodeMirror 6 做编辑器。
这个架构选择直接决定了体验:冷启动不到一秒,开了五个标签页内存占用几百 MB,对比我之前的 Warp 动不动 1.5GB 起步。
但体积小只是入场券。真正让我留下的,是另外三件事。
AI 用你自己的 key,数据不出一台机器

大部分 AI 终端有一个共同的问题:AI 功能是终端公司提供给你的,你的代码和对话走他们的服务器。
我不喜欢这样。不是我不信任谁,是代码这东西太私人了。
Terax 的做法很直接:BYOK——Bring Your Own Key。支持 OpenAI、Anthropic、Google Gemini、Groq、xAI Grok、Cerebras、DeepSeek、Mistral,以及任何 OpenAI 兼容的 API 端点。
更关键的是本地模型支持。你可以把 Terax 指向自己电脑上的 LM Studio、MLX 或者 Ollama,所有推理都在本地完成,prompt 和代码碎片不会离开你的机器。
API key 也不落盘。Terax 通过 Rust 的 keyring 把 key 写进操作系统钥匙串——macOS 上走 Keychain,Windows 上用 Credential Manager。不是存在某个配置文件里、也不是 localStorage,更难被恶意脚本读到。
这种隐私优先的设计不是附加功能,是刻在基因里的:无遥测、不需要注册账号、没有登录界面。你装好就能用,不需要告诉任何人你是谁。
它怎么"听"Claude Code说话

这可能是 Terax 我最喜欢的一个技术点。
大部分终端对 Claude Code 的态度是"你在里面跑什么我不管"。Terax 不一样——它在 Rust 层的 PTY 字节流里放了一个状态检测器,专门监听 Claude Code 的 OSC 序列。
具体怎么工作的:Claude Code 在开始执行、工作中、需要你注意、执行完成这几个状态切换时,会发出 OSC 777 信号(通过 Terax 安装的 hooks)。Terax 的 Rust 端在 PTY reader 的字节过滤层拦截这些信号,然后路由到同一个通知面——跟它内置 AI agent 用的通知是同一套系统。
也就是说,当 Claude Code 在终端里干活时,Terax 知道它是"正在跑"还是"需要你注意"还是"跑完了"。你不会再问"这个任务到底跑完了没有"——状态变化会直接显示在 UI 里,跟内置 agent 的状态同步。
而且这个检测方式很聪明:只用显式的 OSC 序列判断状态,从不解析终端原始输出。一个 TUI 界面疯狂刷新也不会误触发,零性能开销。Claude Code 没跑的时候,字节过滤器就是个空操作。
hooks 的安装也是一键操作——设置里打开开关,自动写入 ~/.claude/settings.json,三条 hook 分别对应三个状态。关掉开关就自动移除,而且只会删 Terax 自己写的 hooks,不会动你其他的配置。
不是终端,是一个完整的开发工作间

用了两个月,我发现自己打开 VS Code 的频率明显下降了。
不是说 VS Code 不好。是 Terax 把你在开发中最常用的几件事整合得太顺手了。
编辑器。 基于 CodeMirror 6,支持 TS/JS、Rust、Python、Go、C/C++、HTML/CSS、JSON、Markdown。有 Vim 模式、内置十套主题。AI 帮你改代码的时候不是直接覆盖——它显示编辑 diff,你可以一个 hunk 一个 hunk 地 accept 或 reject。这个体验比大多数 AI coding 工具都细粒度。
Git 面板。 可以 stage/unstage hunks,Cmd+Enter 一键提交,自动感知 upstream 并 push。最惊喜的是 Git history 里有一个真正的 commit 图——带 lane 渲染的合并和分支可视化,跟 GitLens 差不多了。还能搜索 commit、点击跳转到 remote 页面。
文件浏览器。 用 Catppuccin 图标主题,模糊搜索、键盘导航、内联重命名、右键菜单。最实用的是:你可以直接从浏览器里把文件和选中文本 attach 到 AI 侧边栏,不用手动粘贴路径。
Web 预览。 自动检测本地 dev server(比如 Vite 的 localhost:5173),在预览标签页里直接打开。前端开发的时候,终端、编辑器、预览三个面板在一个应用里,不用来回切。
再加上自定义主题、背景图片、透明度和模糊调节——整体体验非常一体化。
当然,它也有让人头疼的地方
实话实说,用两个月下来的槽点也不藏着。
第一,v0.7.x,还很年轻。 仓库 2026 年 4 月创建,现在 v0.7.1,几天一版。功能广意味着回归面大,更新频繁意味着偶尔某个功能突然不好使了。AUR 用户建议走 terax-bin 跟踪 release tag,别频繁追更。
第二,Windows 未签名。 第一次启动有 SmartScreen 提示,要点"More info → Run anyway"。作者在 GitHub 上说了暂时没有代码签名证书,Windows 用户要多点一下。
第三,Linux Wayland 有渲染问题。 Tauri 用的系统 WebView,在 Wayland 下偶尔有渲染 glitch。README 里提供了 WEBKIT_DISABLE_DMABUF_RENDERER=1 这种 workaround,但不是所有问题都能解决。
第四,AI 体验取决于你选的模型。 Terax 本身只是接线员——它连接你的 API key 和各家 provider。补全质量好不好、agent 干活靠不靠谱,最终取决于你选的模型。建议先拿常用的 provider 试一圈,找到自己顺手的组合。
第五,生态还很早期。 主题和集成目前靠预置和社区分享,没有 Warp 那种插件市场。深度自定义和扩展的边界还有待观察。
谁适合用?
这段时间用下来,我觉得 Terax 最适合这三类人:
第一,受够了重型 AI 终端的开发者。 如果你装了 Warp 之后发现它占 1.5GB 内存,或者打开慢到让你烦躁——Terax 的 7MB 和冷启动不到一秒会让你眼前一亮。
第二,对隐私有实际要求的人。 如果你的代码不能上第三方服务器,或者你就是不想把编程习惯交给别人的数据分析——BYOK + 本地模型 + 无遥测这套组合拳,目前同类产品里几乎找不到第二个。
第三,重度 Claude Code 用户。 Terax 对 Claude Code 的一等公民式集成,不是简单的"终端里跑个命令"。状态感知 + 统一通知面,让你管理 agent 任务时不再需要来回手动检查。
当然,如果你需要的是一个成熟稳定、生态丰富的编辑器,VS Code 依然是最好的选择。Terax 不是要替代它——它是给你多一个选项:当你只需要终端 + AI + 轻编辑的时候,不用再打开那个几百 MB 的家伙。
最后说个细节。
我用 Terax 这两周,发现自己的 Claude Code 任务效率明显提升了。不是什么玄学——就是少了"切到 Warp 看有没有跑完"这一步。
省了 0.5 秒,一天重复五十次,就是 25 秒。不多,但写代码这件事,最怕的就是打断。Terax 帮我把打断减到了最少。
这就是一个 7MB 小终端改变我工作流的方式:不是多了什么炫酷功能,是把打断拿掉了。
夜雨聆风