Terax:单枪匹马打造的 AI 终端,竟比 Warp 还要好用?

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00这是 Terax,一款开源的 AI 原生终端,基于 Tauri2 和 Rust 构建,它为你提供了
00:00:05多标签页终端、代码编辑器、文件预览侧边栏以及网页浏览器,所有功能集成在一个 7 兆大小的
00:00:12应用中,且启动时间不到 300 毫秒。它甚至拥有自己的 AI 智能体,能够读取你的整个
00:00:17代码库,运行命令,并提出可供审查的代码差异(diff)建议。但是,鉴于 Warp 在 GitHub 上拥有超过 58,000
00:00:24颗星,且 Cmox 支持基于智能体的通知,这样一个由个人构建的小型应用
00:00:28真的值得你花时间吗?订阅频道,让我们一探究竟。
00:00:36Terax 由开发者 Krinter 制作,他最初将其作为副业项目,因为他想要
00:00:40一个比 Warp 更快、更轻量级的版本,并将 AI 原生构建在其中用于编码,而不是作为事后添加的功能。
00:00:46所以 Terax 实现了所有这些功能。它使用带有 WebGPU 的 Xterm.js 实现了真正的终端,这与
00:00:53VS Code 相同,配合由 CodeMirror 6 驱动的真正代码编辑器,以及使用 Vercel AI SDK 的真正 AI 智能体,
00:01:00它几乎可以用于目前市面上的任何模型,包括本地模型。
00:01:04但是,它是如何以如此小的体积将所有这些功能整合在一起的呢?
00:01:08嗯,它使用了 Tauri2 而不是 Electron,这意味着没有捆绑 Chromium,节省了额外的 200 兆字节。
00:01:14Rust 后端处理所有与操作系统交互的部分,比如 PTY、文件系统进程管理,
00:01:20而 React 前端只负责渲染 UI。所以整个应用大约只有 7 兆字节。
00:01:25如果你看过我关于 Cmox 的视频,你可能想知道 Terax 是如何与它进行比较的。
00:01:29嗯,我稍后会在视频中进行更详细的对比,但现在,让我们先来上手体验一下 Terax。
00:01:34安装 Terax 后,首先吸引你注意的可能是左侧的文件菜单。
00:01:39看看这个。如果我使用 CD 导航,它会立即跳转到正确的位置,这意味着我不需要使用 LS。
00:01:45所以我去到一个不同的仓库、不同的目录,它直接带我过去,然后又能回到我之前所在的地方。
00:01:51我也可以像在大多数现代终端中那样创建新标签页、关闭它们以及进行分屏。
00:01:57如果我进入 packages UI 目录并打开一个 file service app TSX 文件,你可以立即看到它打开了 Terax 代码编辑器,
00:02:05它对大多数语言都有语法高亮显示。
00:02:08但如果我想的话,我可以使用基于终端的文件编辑器,比如 Helix,当然也可以使用像 Claude Code 这样的 AI 编码工具。
00:02:14但是使用 Terax 编辑器也有一些好处。
00:02:17如果你看右下角,有一个 OpenAI 智能体按钮,允许我选择一个模型。
00:02:23所以现在,我输入了我的 OpenAI 和 Claude API 密钥,它们使用原生操作系统钥匙串进行存储。
00:02:29从这里,我可以询问关于已打开文件的问题,比如为什么 useEffect hook 中有这么多函数?
00:02:34然后智能体会搜索整个文件并给我一个答案。
00:02:37现在,你会注意到这里可以看到我已经使用的上下文数量,并且我可以更改正在使用的智能体类型。
00:02:43我还可以查看之前的会话并询问后续问题。
00:02:46现在,Terax 目前只有两个子命令。
00:02:48Plan,用于进入规划模式,如这里所示。
00:02:51再次触发 Plan 则回到构建模式。
00:02:54以及 Init,它会遍历整个项目并创建一个 Terax MD 文件,类似于 Claude 或 Agents MD 文件。
00:03:00当它这样做时,它会向我们展示一个代码差异(diff),当然我们可以接受或拒绝。
00:03:04现在,因为我这里已经有一个 Terax MD 文件了,所以我打算拒绝它。
00:03:08但我可以做的是要求它对这个特定文件进行更改。
00:03:12如果发生更改,它会提供一个很好的差异(diff)视图,向我们展示将删除什么和添加什么,并提供接受或拒绝的选项。
00:03:18但我也可以用 Terax 做一些非常酷的事情。
00:03:21看这个。
00:03:21如果我按下这个按钮,我可以打开一个隐私页面,这意味着这个标签页对 AI 是隐藏的。
00:03:26我可以打开一个新的编辑器窗口来创建一个新文件,或者打开浏览器,它甚至会列出常用端口。
00:03:33所以如果我运行这个应用并导航到正确的端口,我就可以在一个标签页中与我的应用交互,并在另一个标签页中进行代码更改,而无需在不同工具之间跳转。
00:03:41在设置中,我可以更改编辑器主题,启用我非常喜欢的 Vim 模式,调整智能体,并提供自定义指令和可重用提示词。
00:03:49现在,我必须承认 Terax 也有一些我不喜欢的地方。
00:03:52现在,我可以在 Helix 中打开我的项目,这没问题。
00:03:55但如果我在 NeoVim 中做同样的事情,它就会直接崩溃。
00:03:58我不确定这是不是因为我使用了 Nix,配置了奇怪的 Nix fish shell,但 NeoVim 在其他终端中运行正常。
00:04:04我找不到如何用键盘导航左侧侧边栏的方法。
00:04:08所以即使我可以导航到不同的目录,如果我想打开一个文件,没有 Terax 打开命令或键盘快捷键可以跳转到侧边栏。
00:04:15我的意思是,我可以通过命令 B 打开和关闭侧边栏,但如果我想打开一个文件,我必须用鼠标点击它,这并不是我在终端中所期待的操作。
00:04:24出于某种原因,我也无法通过命令加号进行缩放,该功能尚未启用。
00:04:28如果我想在浏览器中访问非本地主机站点,我会收到 X frame options 错误,考虑到它使用 iframe,我理解出于安全原因会这样,但如果能做到这一点会更好。
00:04:38老实说,对于一个几乎完全用 JavaScript 构建的应用来说,它的性能令人难以置信。
00:04:43我的意思是,当作者选择不使用 libghosty 作为终端时,我是持怀疑态度的。
00:04:47但如果我不知道它是开源的,也不知道是用什么代码构建的,我会以为它使用了系统语言。
00:04:54好吧,它某种程度上确实用了,因为 Tauri 是 Rust 写的,但你懂我的意思。
00:04:57简而言之,现在单一开发者利用 AI 和许多开源工具所能实现的事情真是太神奇了。
00:05:04我的意思是,它几乎可以媲美 Warp,而 Warp 是由一家完整的公司构建并拥有风险投资的。
00:05:09更不用说这甚至还不是 Terax 的 1.0 版本。
00:05:12所以我确信在后续版本中会有更多的功能和修复。
00:05:16但它与 CMUX 相比如何呢?
00:05:18嗯,Terax 是一个像 Warp 那样的智能体开发环境,而 CMUX 则是一个完全不同的工具。
00:05:24它让你的智能体能够控制终端中的一切。
00:05:28所以你可以创建新的窗格、新的标签页,控制侧边栏,重命名侧边栏等等,
00:05:32这对于多智能体工作流非常完美。
00:05:34而在 Terax 中,智能体的范围仅限于查看代码和文件。
00:05:39所以它不能创建新标签页和新的分割窗格。
00:05:42它无法控制侧边栏,但可以对代码本身进行调整。
00:05:45所以如果你希望你的智能体打开浏览器、浏览网页并启动子智能体,那么请查看 CMUX。
00:05:51但如果你想在终端中编码,使用智能体进行更改并在浏览器中查看更改,那么请使用 Terax。
00:05:58就我个人而言,我的大部分开发工作仍将坚持使用 West Term 和 NeoVim。
00:06:01如果你想知道我为什么选择 ResTerm 而不是 Ghosty 之类的工具,请查看这个视频。

Key Takeaway

Terax 通过 Tauri2 和 Rust 实现极致轻量化与快速启动,提供集成了 AI 代码辅助与浏览器功能的高效终端体验,展现了个人开发者构建媲美企业级工具的能力。

Highlights

  • Terax 是一个开源 AI 原生终端,应用体积仅为 7 兆字节,启动时间不到 300 毫秒。

  • 该应用使用 Tauri2 构建,Rust 后端负责系统交互,React 前端负责 UI 渲染。

  • Terax 集成代码编辑器、文件预览侧边栏、网页浏览器和 AI 智能体,并支持 OpenAI 和 Claude API 密钥。

  • 内置的 AI 智能体能读取整个代码库,运行命令,并提供可供审查的代码差异(diff)建议。

  • 该应用支持 Vim 模式,并提供隐私页面功能,允许用户将特定标签页对 AI 隐藏。

Timeline

Terax 核心架构与设计目标

  • Terax 基于 Tauri2 和 Rust 构建,应用体积仅 7 兆字节。
  • 该终端实现了真正的 AI 原生集成,并非功能性插件。
  • Rust 后端负责 PTY 和文件系统进程管理,React 前端处理 UI。

开发者 Krinter 创建 Terax 的目的是打造比 Warp 更快、更轻量级的终端,并将 AI 编码能力深度整合。相比使用 Electron 的应用,Tauri2 的使用去除了 Chromium 捆绑,节省了约 200 兆字节的空间。此终端整合了 Xterm.js 终端、CodeMirror 6 编辑器以及 Vercel AI SDK,支持现有的主流模型及本地模型。

功能实测:编辑器、文件管理与 AI 交互

  • 文件菜单支持导航跳转,无需使用 LS 命令。
  • OpenAI 和 Claude API 密钥通过原生操作系统钥匙串存储。
  • AI 智能体具备 Plan 和 Init 子命令,可进行项目规划并生成代码差异供用户审查。

用户可以在 Terax 内打开项目文件进行语法高亮显示,并利用内置 AI 询问关于代码库的特定问题。AI 智能体能够读取整个项目并生成 Terax MD 文件,提供可视化的代码差异视图,允许用户选择接受或拒绝修改建议。此外,内置的浏览器功能允许用户在终端内与应用交互,无需在不同工具间频繁切换。

现存限制与工具对比

  • 目前存在 NeoVim 运行崩溃、侧边栏缺乏键盘导航以及缩放功能缺失等限制。
  • Terax 的 AI 侧重于代码修改,而 CMUX 则侧重于终端窗格与工作流的全面控制。
  • Terax 并非 1.0 正式版,未来版本将包含更多功能修复与更新。

在体验中发现,虽然 Terax 性能出色,但对于某些 Shell 环境下的 NeoVim 支持尚不完善。与 CMUX 相比,Terax 的智能体范围仅限于代码和文件处理,无法控制终端布局。对于偏好终端编码、AI 修改代码以及同步查看效果的用户,Terax 提供了高度集成的解决方案。

Community Posts

No posts yet. Be the first to write about this video!

Write about this video