Terax 实测:7MB 装下终端、编辑器、Git 和 AI 智能体的开源开发环境
JeecgBoot AI专题研究 | 一个 Rust + Tauri 2 写成的 AI 原生开发环境(ADE),拆解它的设计取舍与上手方法

为什么又冒出一个"开发环境"
先回想一下日常写代码时桌面上开着什么:一个 VSCode 或 IDEA,一个 iTerm2 / Windows Terminal,一个 Git 图形客户端,再加一个浏览器标签页里的 AI 对话框。改一行代码,要在四个窗口之间来回切换,注意力被切得七零八落。
工具本身也越来越重。不少新一代 AI 终端都是 Electron 套壳,安装包几百 MB,冷启动要等好几秒,后台还默认开着遥测。至于 AI 改代码,体验也谈不上安心:有的工具直接把修改写进文件,改坏了只能自己去翻 Git 记录回滚;API Key 以明文躺在配置文件里,公司的敏感代码也不敢随便发给云端模型。
Terax 想解决的就是这几件事。它在 GitHub 上的仓库是 crynta/terax-ai,已经有 9.2k Star、1k Fork,Apache-2.0 协议。官方给自己的定位是 AI-native dev environment(ADE,AI 原生开发环境):一个窗口里放下终端、代码编辑器、Git 可视化、网页预览和 AI 智能体侧边栏,安装包只有 7~8MB,不需要注册账号,没有遥测。
一句话定位:终端优先,AI 受控
和 Cursor 这类"编辑器 + AI"的路线不同,Terax 是以终端为中心长出来的,编辑器、Git、预览都围绕终端组织。几个关键设定:
- 技术底座:Rust 后端 + Tauri 2 + React 19 前端,不打包 Chromium,直接用操作系统自带的 WebView;
- 一体化窗口:多标签终端、CodeMirror 6 编辑器、文件管理器、Git 面板、Web 预览、AI Agent 侧边栏;
- 隐私默认值:无账号、零遥测,API Key 写进系统密钥链(keyring),不会落成明文文件;
- 两种 AI 接法:自带 Key 接 OpenAI、Claude、Gemini、DeepSeek、Groq、xAI、Cerebras、Mistral、OpenRouter 及任意 OpenAI 兼容接口;或者接 LM Studio、Ollama、MLX,完全离线跑本地模型。
下图是一个典型工作场景:左侧文件树,中间是本地开发服务器的网页预览,右侧 AI 侧边栏里的"Code Reviewer"正在读文件、改代码,每一步工具调用都清楚地列出来。

把六个模块拆开看
终端:原生 PTY,不是网页里的模拟
很多 Electron 终端在 Node 进程里包一层 pty,输入延迟和内存都不理想。Terax 的终端后端用的是 Rust 的 portable-pty,前端是 xterm.js 的 WebGL 渲染器:
- 多标签、横竖分屏,bash / zsh / pwsh / fish / cmd 都支持;
- 缓冲区 50000 行,行内搜索、链接识别、真彩色;
- 低配机器可以关掉 WebGL 渲染,换取稳定;
- Shell 集成会自动同步当前目录和提示符,SSH 到远程机器也顺手;
- Windows 下 WSL 是一等工作区环境,不是简单地起一个子进程包装一下;
- Spaces 能在重启后恢复标签页、工作目录和分屏布局。
编辑器:轻量修改的主力
编辑器基于 CodeMirror 6,覆盖 TS/JS、Python、Rust、Go、C/C++、Java、C#、HTML/CSS、JSON、Markdown 等常用语言,带 Vim 模式。编辑器和终端的主题可以分开配置,内置 Tokyo Night、Nord、GitHub Light、Gruvbox、Dracula、Catppuccin 等多套预设,也支持自定义背景图、透明度和模糊。
它最值得说的是 AI 差分编辑:AI 生成的修改不会直接写盘,而是打开一个 Diff 审阅视图,逐块 Accept / Reject。看下图右上角的"Pending review"和 Accept / Reject 按钮,右下角是智能体申请批量编辑文件时弹出的 Approve / Deny 卡片:

另外还有本地模型驱动的行内补全(用 Ollama 时可以完全离线),以及 Markdown、图片、视频、PDF 预览。
Git 面板:直接调用系统 Git
Terax 没有内嵌 libgit2(这能省下好几 MB),而是调用系统里的 git 命令再解析输出:
- 真实的 Commit Graph,合并、分叉一目了然;
- 提交记录可搜索、筛选,点一下跳到远程仓库的 commit 页面;
- Hunk 级暂存 / 取消暂存,
Cmd+Enter(Windows 上是Ctrl+Enter)提交,自动识别上游分支; - detached HEAD 状态会高亮提醒;文件树上带 Git 状态标记。

AI 智能体:能动手,但每一步要你点头
Terax 的 AI 侧边栏不是一个只会聊天的框,而是能读写文件、执行命令的智能体,只是权限被管得很严:
- 只读操作自动放行:读文件、grep / glob 检索项目;
- 写操作要审批:修改、删除文件和执行 Shell 命令,都会先弹确认卡片;
- 敏感路径拦截:
.env、.ssh这类文件默认不让智能体碰。
在此之上还有几项进阶能力:
- Plan 模式:先出完整方案,人看过计划再动代码;
- 自定义智能体:每个智能体有自己的系统提示词和工具子集,比如做一个"只读代码审查员",只给读权限;
/init命令:扫描项目目录和package.json等配置,自动生成TERAX.md;- 编排 Claude Code:可以在终端里拉起 Claude Code,读取它的输出,再通过需要批准的工具发送后续指令;
- 输入区:
#handle调用提示片段,@path引用文件,支持语音输入,还能把文件树里的文件或编辑器里的选区直接丢给智能体。
TERAX.md:用一份 Markdown 当项目记忆
在项目根目录放一个 TERAX.md,每次开新会话智能体都会先读它。适合写进去的东西包括:项目架构、目录约定、常用部署命令、接口规范、踩过的坑。
这个思路和 Claude Code 的 CLAUDE.md、各家的 AGENTS.md 是一回事:不用向量库,不做检索,就是一份人能读、Git 能追踪的文本。好处是透明、可审查,AI 记住了什么一眼就能看到;代价是它会占上下文窗口,写太长对本地小模型尤其不友好,普通项目控制在两三页以内比较合适。
文件管理器与网页预览
文件树用 Catppuccin 图标,支持模糊搜索、键盘导航、内联重命名和拖拽,磁盘上的文件变化会实时反映。把文件拖进终端,会自动转成适合当前 Shell 的安全引用路径。网页预览会自动发现本地开发服务器并在预览标签中打开,也能看外部 URL,但目前没有 DevTools。
7MB 是怎么做到的
同类 Electron 工具动辄几百 MB,Terax 压到 7~8MB,靠的是三处取舍:

- 不带浏览器内核:Tauri 2 用系统 WebView 渲染界面,前端 React 19 只负责展示,PTY、文件 IO、Git、密钥管理、AI 网络请求全交给 Rust 后端,两边通过 IPC 通信;
- 组件选轻的:CodeMirror 6、xterm.js 本身就很轻,没有引入重型依赖;
- 能复用就复用:Git 用系统 CLI,不打包 libgit2;没开启的功能不占资源。
这里补充一点 Tauri 路线的副作用:因为依赖系统 WebView,不同系统上的渲染表现会有差异——macOS 是 WKWebView,Windows 是 WebView2,Linux 是 WebKitGTK。所以 Linux 上偶尔会遇到渲染问题,官方文档里专门给了 Wayland 下的处理办法(见下文安装部分)。这是"小体积"必然要付出的成本。
安装与配置
直接下载安装包
安装包在 GitHub Releases 页面:https://github.com/crynta/terax-ai ,装好后应用会自动从 Releases 更新。
- macOS:
.dmg,分 Apple Silicon(aarch64)和 Intel(x86_64)两个版本; - Windows:
.exe安装包。因为没有代码签名,第一次打开会被 SmartScreen 拦截,点"更多信息 → 仍要运行"即可。默认 Shell 检测顺序是pwsh.exe(PowerShell 7+)→powershell.exe(Windows PowerShell 5.1)→cmd.exe; - Linux:
.AppImage/.deb/.rpm。Arch 用户可以yay -S terax-bin;NixOS / Nix 有官方 flake,非 NixOS 可执行nix profile install github:crynta/terax-ai。AppImage 需要 FUSE,没有 FUSE 时运行./Terax_*.AppImage --appimage-extract-and-run;Wayland 下渲染异常可以试试WEBKIT_DISABLE_DMABUF_RENDERER=1。一般来说.deb/.rpm链接系统 GTK,比 AppImage 更流畅。
从源码构建
需要 Rust stable、Node 20+、pnpm,以及对应平台的 Tauri 前置依赖:
pnpm install
pnpm tauri dev # 本地开发调试
pnpm tauri build # 打包生成安装包
# 附加校验
pnpm exec tsc --noEmit # 前端类型检查
cd src-tauri && cargo clippy # Rust代码规范校验
配置 AI
- 打开顶部 Settings → AI;
- 选择提供商:云端模型就粘贴对应的 API Key,Key 会通过
keyring写进系统钥匙串,不会出现在磁盘文件或 localStorage 里;本地模型则填 LM Studio / Ollama / MLX 的地址,不需要 Key; - 按需设置系统提示词、打开 Plan 模式、给自定义智能体分配工具权限。
一个实用的组合是:日常补全和小改动交给 Ollama 跑的本地小模型,零成本、不出内网;遇到跨文件重构这类复杂任务,再切到 Claude 或 GPT 这类云端大模型。
先说短板:哪些场景还不适合
| 限制 | 影响 | 建议 |
|---|---|---|
| 没有完整的 LSP 体验(语言服务是可选项) | 大型 TS / Java 单体项目里类型提示、跳转、重构不如专业 IDE | 重度工程开发继续用 VSCode / IDEA,Terax 负责终端和小改动 |
| 不支持 tmux / screen | 依赖 tmux 做远程会话持久化的人不习惯 | 远程长任务仍用原来的终端方案 |
| 没有插件系统 | 功能只能等官方迭代 | 关注 Releases 更新节奏 |
| 网页预览没有 DevTools | 前端调试还得开浏览器 | 预览只用来快速看效果 |
| Windows 安装包没签名 | 首次启动被 SmartScreen 拦截 | 按上文手动放行 |
智能体读不到 .env / .ssh | 某些需要读配置的任务会失败 | 确有需要再手动调整配置,用完改回 |
TERAX.md 写太长 | 本地模型上下文被截断 | 控制在两三页,只写长期有效的信息 |
和常见工具横向比一比
| 对比维度 | Terax | Warp | Cursor | iTerm2 |
|---|---|---|---|---|
| 安装体积 | 7~8MB | 200MB+ | 400MB+ | 50MB |
| 架构 | Tauri2+Rust+React19 | Rust+Electron | Electron | 原生 macOS |
| 跨平台 | Win/macOS/Linux | 全平台 | 全平台 | 仅 Mac |
| AI 形态 | 受控 Agent,Diff 审批 | 终端单行 AI 命令 | 全编辑器 AI | 无原生 AI |
| 本地离线模型 | 支持 Ollama/LM Studio/MLX | 不支持本地离线 | 仅官方模型 | 第三方插件 |
| 遥测收集 | 完全无遥测 | 默认开启,需手动关闭 | 上传代码至服务器 | 无网络收集 |
| Git 可视化 | 完整 Commit Graph | 简易 Git 面板 | 基础 Git 操作 | 无可视化 |
| 一体化窗口 | 终端 + 编辑器 + Git+Web 预览 | 仅终端 | 仅代码编辑器 | 仅终端 |
| 隐私密钥 | 系统密钥链加密 | 本地存储有明文风险 | 上传云端 | 本地存储 |
| 开源协议 | Apache2.0 开源 | 闭源商业 | 闭源免费 / 付费 | 开源 |
注:表中其他工具的数据来自原评测,各工具版本更新较快,请以官方最新说明为准。
简单归纳一下选择思路:
- 想要一个轻量、注重隐私、能跑本地模型的"终端 + AI"工作台:Terax 很合适;
- 主力开发大型工程,依赖重构、类型系统和插件生态:还是 Cursor / VSCode / IDEA;
- 只需要一个好用的终端:iTerm2、Windows Terminal 依然够用。
总结
Terax 的价值不在于某个单点功能有多强,而在于它把"终端、编辑、版本控制、AI 智能体"这几件高频的事收进了一个 7MB 的窗口,并且给 AI 套上了缰绳:只读自动、写入审批、修改走 Diff、敏感文件拦截、密钥进钥匙串。对于在意隐私、想用本地模型、又不想再开一个几百 MB 工具的开发者,它值得装上试一试。
当然,它现在更像一个"AI 时代的终端工作台",而不是一个完整的 IDE。大型项目的深度开发仍需要专业 IDE,比较现实的用法是两者搭配:IDE 负责重活,Terax 负责终端、小改动和让 AI 在受控范围内干活。
项目地址:https://github.com/crynta/terax-ai/
本文为 JeecgBoot AI 专题研究系列文章。
更多推荐



所有评论(0)