⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 http://www.iocoder.cn/Fight/terax-ade-terminal/ 「芋道源码」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

Warp 有多重?安装包 400MB 出头。打开活动监视器看一眼,稳稳压着 300MB 以上内存,什么都没干的时候就这样了。

后来翻到一个 GitHub 项目叫 Terax,安装包 7MB。第一反应是,7MB 的终端,能有什么 AI。把这个包下下来装完,才发现它想做的事跟 Warp 不在一个方向上。

7MB 的 ADE,先说清这个名号

Terax 给自己的定位是 ADE,Autonomous Development Environment,自主开发环境。这个词不算常见,翻译过来是「能自己干活」的意思,而不是「给终端加个聊天框」。名字里带「自主」,重点落在它能自己拆任务、自己跑流程这层。

技术栈是 Tauri 2 加 Rust 加 React 19。Tauri 的思路是用系统原生 WebView 渲染前端,Rust 侧管原生能力,不把整个浏览器内核再打一遍进去,所以包体能压到几 MB。同样做桌面端,Electron 是把 Chromium 整套塞进包里,体积差主要就差在这里。官方 Release 里最新的 v0.9.0 安装包,dmg 是 6.9MB 到 7.3MB,deb 和 rpm 都是 6.6MB,Windows 的 msi 不到 6MB。

Terax 的整体观感

冷启动大概 300ms,跑起来内存占用很低。开着它和关着它,风扇转起来基本没区别。对天天要开十几个窗口的人来说,这一条比多几个功能更实在。

仓库目前九千多 Star,Apache-2.0 协议,四月下旬建的库,最近一次提交就在昨天。

crynta/terax-ai 仓库首页

终端该有的样子,它没落下

核心是 xterm.js 加 WebGL 渲染,多 tab 支持后台流式输出。切到别的 tab,后台那个还在跑,输出不会断。WebGL 的意思是字符绘制走 GPU,跑 tail -f 刷大量日志的时候不会卡成幻灯片。

PTY 后端用的是 portable-pty,zsh、bash、pwsh 都支持。shell 初始化脚本会注入到现有的配置里,不用改 dotfiles。

终端本体

内联搜索、链接检测、真彩色,这些常规功能都有。终端这个地基没偷懒,才撑得住上面那套 AI。真要说缺点,多窗口分屏这类重活它做得比 Warp 简单。

一个终端里塞了个正经编辑器

一个终端工具内置了正经的代码编辑器,基于 CodeMirror 6。TypeScript、Rust、Python 这些语言都有语法支持,主题内置了 Tokyo Night、Nord、GitHub、Atom One、Aura、Copilot、Xcode 几套。

内置编辑器

Vim 模式是 0.4.7 版本加进来的,Vim 党可以直接用,不用另外装插件。

AI 在编辑器里集成得比较深。可以触发行内补全,也可以让 Agent 改代码,改之前会先给一个 diff 视图,应用不应用自己定。这个交互比「改完再让你后悔」友好得多,尤其是它一次动好几个文件的时候。

自带 Key,也自带一整套工作流

Terax 的 AI 是 BYOK 模式,Bring Your Own Key。自己去各家申请 API Key 贴进来,Terax 不中转、不代理,请求直接打到你自己填的端点。

支持的 Provider 包括 OpenAI、Anthropic、Google、Groq、xAI、Cerebras,以及任何 OpenAI 兼容的端点。国内厂商只要提供兼容接口,填自定义端点也能接上。

AI 侧边栏

0.5.1 版本加进了完整的 Agentic 工作流,AI 可以制定 plan、拆分 tasks、派出 sub-agents 再一步步执行,读文件、写文件都在里面。换句话说,它把「自己拆活自己干」这套流程也搬进来了,不只是问一句答一句。

还有一个细节挺实用,项目根目录下放一个 TERAX.md 文件,AI 每次启动会自动读取。可以在里面写这个项目的上下文、规则、注意事项,相当于给 AI 一份随项目走的说明书。

文件浏览和网页预览都是顺手给的

文件浏览器用了 Catppuccin 图标主题,模糊搜索、键盘导航、行内重命名都有,右键菜单也有。不是 VS Code 那种级别,但做日常够用。它存在的意义是把「改完代码顺手看一眼文件」这类动作留在同一个窗口里。

Web 预览这个功能对前端比较有用。它会自动检测本地跑起来的开发服务器,比如 3000 端口的前端服务,然后在一个预览面板里打开。

这两块单独拿出来都不算亮点,但放进同一条工作流里就省事了,改完前端不用切浏览器,预览刷新就在旁边。对来回切窗口切到烦的人来说,这种「顺手给的」比多一个炫功能更有用。

密钥进系统钥匙串,也不遥测

API Key 存在 OS keychain 里,就是系统级的密钥管理,macOS 是 Keychain Access,Linux 是 libsecret,Windows 是凭据管理器。密钥不落在项目文件里,也不碰浏览器那层本地存储,更不进配置文件。

零遥测,不需要账号,没有后台上报。代码全开放在 GitHub,Apache-2.0 协议,不放心可以自己看。对于一个要从你的机器往外发 API 请求的工具来说,这两条其实挺关键。

装起来就三步

去 Releases 页面下载对应平台的包。macOS 是 dmg,Linux 有 AppImage、deb、rpm 三种,AUR 用户直接 yay 装。

想自己编译的话,装好 Rust stable 和 Node 20 以上,然后三条命令。源码构建这条路主要给想改代码或者打包自己版本的用,日常用下载安装包就够了。

pnpm install
pnpm tauri dev # 开发模式
pnpm tauri build # 打包

第一条装依赖,第二条起开发模式,第三条打包,三条按顺序走下来就行。装完之后进 Settings 里的 AI 面板,选好 Provider,贴上 Key 就能用。如果本机跑着 LM Studio,直接填它的本地端点地址,不需要填 Key,模型选择放在同一个面板里。

它更像以 AI 为核心长出来的终端

用下来最直观的感受是,它不像一个「给终端加了 AI」的方案,更像一个「以 AI 为核心,往外长出来了终端和编辑器」的方案。这两个出发点做出来的东西,手感不一样。

目前版本是 0.9.0,还在 pre-1.0 阶段,有些地方不够打磨,Issues 里能看到反馈说 Wayland 下偶尔有渲染问题。和 Warp 那类产品比,它的功能面还窄,协作和团队那一层基本没有;调试这块也比不上 JetBrains 那套 IDE,日常高度依赖调试器的人还接不住。

但如果你的开发方式本来就是终端加外部编辑器,再配一个 AI 工具,那 Terax 把这几件事放在一起,7MB,不要账号,不遥测,跑得很轻,这个价值还是明显的。作者自己的用法是拿它当 Claude Code 的备用工作台,不想开大工具的小任务就在上面跑本地模型,省 token。

仓库在 https://github.com/crynta/terax-ai

文章目录
  1. 1. 7MB 的 ADE,先说清这个名号
  2. 2. 终端该有的样子,它没落下
  3. 3. 一个终端里塞了个正经编辑器
  4. 4. 自带 Key,也自带一整套工作流
  5. 5. 文件浏览和网页预览都是顺手给的
  6. 6. 密钥进系统钥匙串,也不遥测
  7. 7. 装起来就三步
  8. 8. 它更像以 AI 为核心长出来的终端