ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Terax 完全指南:7MB 级终端优先的 AI 原生开发工作区(Tauri 2 + Rust + React 19)

Terax 完全指南:7MB 级终端优先的 AI 原生开发工作区(Tauri 2 + Rust + React 19) Terax 完全指南7MB 级终端优先的 AI 原生开发工作区Tauri 2 Rust React 19【免费下载链接】terax-aiLightweight (7MB) Terminal-first AI-native dev workspace项目地址: https://gitcode.com/GitHub_Trending/te/terax-aiTerax 是一款开源、轻量级的终端优先 AI 原生开发环境ADE以终端是第一公民、AI 原生嵌入、极致轻量为核心设计理念整体仅约 7–8 MB无遥测、无需注册账号。本文基于项目官方德语说明文档docs/readme/README.de.md结合仓库源码与配置系统讲解其功能矩阵、安装方式、AI 配置流程与源码构建方法帮助你快速上手这套以原生 PTY GPU 终端 自带密钥的智能体侧边栏为核心的开发工作区。项目定位与整体架构Terax 建立在 Tauri 2 Rust 与 React 19 之上Rust 侧通过portable-pty提供原生 PTY 后端前端以 WebGL 渲染器呈现终端画面并内置了可对接自有 API 密钥或完全本地模型的智能体agenticAI 侧边栏。除终端外它还集成了代码编辑器、文件资源管理器、带 Git 图commit graph的源码管理面板以及 Web 预览窗格。从仓库的依赖清单package.json可以确认技术底座React 19、TypeScript、Vite、CodeMirror 6、xterm.js、Vercel AI SDKai^6、Tailwind v4、shadcn/ui 与 ZustandRust 侧src-tauri/Cargo.toml则声明了tauri 2、portable-pty 0.9、keyring 3.6等核心依赖当前版本号为0.9.0-beta采用 Apache-2.0 许可证。其内部遵循双进程模型Rust 进程独占全部操作系统能力文件系统、进程、shell、密钥链WebView 前端从不直接触碰 FS 或 shell一切通过invoke()调用注册在 src-tauri/src/lib.rs 的 Tauri 命令完成。这一架构正是轻量 安全 可测试的基石。核心功能矩阵终端xterm.js WebGLGPU 加速的块级命令输入终端是 Terax 的立身之本能力清单如下见 docs/readme/README.de.mdxterm.js 搭配 WebGL 渲染器支持多标签页与后台流式输出GPU 加速的块级block-based终端带编辑器风格命令输入区通过portable-pty提供原生 PTY 后端支持 zsh、bash、pwsh、fish、cmd水平与垂直分屏split panes内联搜索、链接识别与 True Color可将资源管理器或桌面中的文件拖入终端自动生成 shell 安全引用的路径Windows 下支持按标签页切换工作环境本机或任意已安装的 WSL 发行版Spaces 可在重启后恢复标签页、工作目录与分屏布局。仓库中的终端实现位于 src/modules/terminal其渲染管线详见 docs/architecture/ghostty-webgl-renderer.md为portable-pty bytes - libghostty-vt WASM model - borrowed typed render views and row damage - Terax renderer lease - Terax-owned, xterm-inspired WebGL renderer其中 WebGPU 是默认渲染器WebGL 作为运行时与能力回退路径若两条 GPU 路径均失败面板会保留模型与 PTY 并提供 Retry 显示。渲染器采用池化管理WebGL 渲染器属于窗口级池仅在面板可见时租赁隐藏标签页的模型继续解析 PTY 字节但立即释放渲染租赁实现了零闲置开销。PTY 侧通过注入的初始化脚本src-tauri/src/modules/pty/scripts 下的 zsh/bash/fish/ps1 脚本发出 OSC 7cwd与 OSC 133 A/B/C/D提示符边界 退出码序列使宿主无需重解析提示符即可跟踪工作目录与命令边界——这套机制在 docs/architecture/pty-shell-integration.md 中有详细说明。代码编辑器CodeMirror 6 内联 AI 补全基于 CodeMirror 6覆盖 TS/JS、Rust、Python、Go、C/C、Java、HTML/CSS、JSON、Markdown 等主流语言语言包在 package.json 中可逐一核对内联 AI 补全且支持本地模型AI 编辑差异edit diffs面板可按 hunk 逐块接受或拒绝可选的语言服务器LSP支持诊断、导航、补全、格式化并可自定义服务器相关实现见 src/modules/lsp会话管理采用按服务器, 工作区根目录键控、3 分钟空闲回收与崩溃退避策略渲染 Markdown并可查看图片、视频、音频与 PDFVim 模式依赖replit/codemirror-vim内置编辑器主题Kanagawa、Catppuccin、Rosé Pine、Everforest、Dracula、Solarized、Nord、Tokyo Night、GitHub、Xcode 等且编辑器主题独立于应用主题。编辑器实现位于 src/modules/editor其中lib/extensions.ts配置语言模式lib/eol.ts通过多数投票检测并还原原始换行符lib/indent.ts按文件探测缩进单位格式化器注册表见lib/externalFormat.tsbiome、prettier、ruff、rustfmt、gofmt、clang-format、shfmt、zig fmt 等。超过 10 MB 的文件会提示 Open anyway硬上限 50 MB超过 4 MB 则关闭语法高亮与 LSP——这些都是轻量优先原则的具体落地。源码管理hunk 级暂存 真实提交图按 hunk 暂存 / 取消暂存提交CmdEnter / CtrlEnter带 upstream 感知的推送分支显示含 detached HEAD 状态Git 历史面板带真实提交图为 merge 与 branch 绘制泳道提交搜索与过滤可跳转远端提交页面。前端面板位于 src/modules/source-control 与 src/modules/git-historyRust 侧完整命令面git_status、git_diff、git_stage、git_commit、git_push、git_log、git_show_commit等在 src-tauri/src/modules/git 中实现且全部经过工作区授权注册表workspace authorization registry门控。文件资源管理器模糊搜索 实时同步Catppuccin 图标主题模糊搜索、键盘导航、内联重命名、右键上下文操作磁盘文件变化实时刷新基于notifycrate可直接将文件与选区附加到 AI 侧边栏。Web 预览与主题定制自动探测本地开发服务器并以预览标签页打开也可通过原生子 WebView 预览外部 URLsrc/modules/preview在应用内创建自定义主题可在内置预设与自建主题间切换支持分享与从社区导入背景图可调不透明度与模糊编辑器主题与应用主题互相独立editorTheme偏好为auto | EditorThemeId默认auto由 src/modules/editor/lib/useEditorThemeExt.ts 在渲染期解析。AI 子系统BYOK 云模型 完全本地推理Terax 的 AI 侧边栏采用 BYOKBring Your Own Key模式提供商注册表定义在 src/modules/ai/config.tsPROVIDERS常量自带密钥的云端提供商OpenAI、Anthropic、Google (Gemini)、Groq、xAI (Grok)、Cerebras、OpenRouter、DeepSeek、Mistral以及任意 OpenAI 兼容端点本地 / 离线提供商LM Studio、MLX、Ollama此类提供商密钥可选模型 ID 运行时填写所有提供商由 Vercel AI SDK v6 的ai-sdk/*适配器驱动。智能体工作流能力包括多步计划Plan mode执行前先生成计划并确认、子代理sub-agents、项目记忆通过工作区根目录的TERAX.md、文件读/写/编辑/多文件编辑/grep/glob以及带审批门控的 Bash 与后台进程。工具清单见 src/modules/ai/tools/tools.tsread_file、list_directory、fs_search、fs_grep自动执行write_file、create_directory、rename、delete、run_command、shell_session_run、shell_bg_spawn则设置needsApproval: true在界面内弹出确认卡片后才执行——这是安全模型docs/architecture/security-model.md的一部分。此外还有Coding-agent 编排可在终端中启动 Claude Code检查其输出并通过需审批的工具下发后续任务Composer#handle提示词片段、path文件引用、语音输入以及从资源管理器或选区附加自定义智能体可配置独立的系统提示词与工具子集模型注册表MODELS常量内置了各提供商的模型目录与能力评分智能/速度/成本并附MODEL_CONTEXT_LIMITS上下文窗口估算与estimateCost成本估算函数DEFAULT_MODEL_ID为gpt-5.4-mini同时为各提供商配置了默认补全模型DEFAULT_AUTOCOMPLETE_MODEL。值得注意的安全设计系统提示词src/modules/ai/config.ts 中的SYSTEM_PROMPT明确要求智能体直接执行而非复述、工具调用前先列计划、敏感路径读取拒绝后不得重试而 src/modules/ai/lib/security.ts 维护了一份拒绝清单.env*、.ssh/、凭据与 keychain 目录读写两侧均强制执行。安装指南最新安装包请前往项目 Releases 页面获取Terax 会从这里自动更新。Windows 注意事项默认 shell 探测顺序pwsh.exePowerShell 7→powershell.exeWindows PowerShell 5.1→cmd.exeWSL 是完整的一等工作环境而非被包裹的子进程Windows 下通过 ConPTY Job Object 管理子进程树JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE见 src-tauri/src/modules/pty/job.rs确保 shell 关闭时其后代进程如从 pwsh 里启动的npm run dev一并终止。Linux 注意事项Arch / AURyay -S terax-bin或paru等跟随最新版本NixOS / Nix使用官方 flake——非 NixOS 环境执行nix profile install github:crynta/terax-aiNixOS 下导入 flake 并将inputs.terax.packages.${pkgs.system}.terax加入environment.systemPackages也可直接使用更简单的nixosModules.terax。仓库内 nix/package.nix 即官方打包实现覆盖 x86_64-linux、x86_64-darwin 与 aarch64-darwinLinux 构建依赖 webkitgtk_4_1 并显式配置 GStreamer 插件路径AppImage需要 FUSE无 FUSE 时执行./Terax_*.AppImage --appimage-extract-and-run。Wayland 下出现渲染问题时可尝试WEBKIT_DISABLE_DMABUF_RENDERER1。相对而言.deb/.rpm包会链接系统 GTK 栈通常运行更流畅deb/rpm 依赖声明见 src-tauri/tauri.conf.jsonlibwebkit2gtk-4.1-0与libgtk-3-0。配置 AI三步完成打开设置 - AISettings - AI选择一个提供商并粘贴 API 密钥若使用本地推理则将 Terax 指向你的 LM Studio / MLX / Ollama 端点默认端点 URL 在 src/modules/ai/config.ts 中定义如 LM Studiohttp://localhost:1234/v1、Ollamahttp://localhost:11434/v1密钥通过keyring写入操作系统密钥链绝不会写入磁盘或 localStorage。密钥存储的后端实现src-tauri/src/modules/secrets.rs按平台区分macOS 使用 KeychainWindows 使用 Credential Manager均由keyringcrate 驱动Linux 因无法假定存在 gnome-keyring/kwallet 守护进程采用应用本地数据目录中的secrets.json文件回退方案以 0600 权限仅属主可读写写入并通过先写临时文件再原子重命名保证一致性——这一行为由仓库内的单元测试write_uses_mode_0600、write_overwrites_existing_atomically等锁定。前端通过secrets_get/secrets_set/secrets_delete/secrets_get_all命令访问无平台分支代码。从源码构建前置条件Ruststablehttps://rustup.rsNode 20 与 pnpm仓库engines字段要求 Node 22且仅使用 pnpm 包管理器对应平台的 Tauri 前置依赖https://tauri.app/start/prerequisites/运行pnpm install pnpm tauri dev # 开发模式 pnpm tauri build # 生产打包质量检查pnpm lint pnpm check-types pnpm test cd src-tauri cargo clippy --all-targets --locked -- -D warnings # Rust lint与 CI 一致 cd src-tauri cargo nextest run --locked # 或cargo test --locked前端测试基于 Vitestpnpm test即vitest runlinter 为 Biome终端渲染还额外提供pnpm bench:ghostty、pnpm profile:ghostty与pnpm soak:ghostty等专用脚本见 package.json用于在不启动应用的情况下对真实 WASM 终端模型做基准、剖析与浸泡验证。技术栈一览Tauri 2、Rust、portable-pty、React 19、TypeScript、Vite、xterm.js、CodeMirror 6、Vercel AI SDK v6、Tailwind v4、shadcn/ui、Zustand。其中值得注意的是终端内核已从 xterm.js 完整迁移到 libghostty-vt WASM 模型WebGPU 为默认渲染器、Terax WebGL 为兼容回退xterm 及其附加组件已从代码库移除这一迁移的发布门禁与资源效率证据分别记录在 docs/architecture/ghostty-release-readiness.md 与 docs/architecture/ghostty-resource-efficiency.md。贡献、签名与许可证欢迎提交 issue 与 PR报告问题、提议功能或提交合并请求均可。更多信息见 CONTRIBUTING.md 与 docs/README.md架构文档索引若与TERAX.md冲突以根目录 TERAX.md 为准它同时是智能体读取的项目记忆文件。Windows 构建使用 SignPath.io 提供的免费代码签名证书签名。Terax 基于 Apache-2.0 许可证发布详见 LICENSE。【免费下载链接】terax-aiLightweight (7MB) Terminal-first AI-native dev workspace项目地址: https://gitcode.com/GitHub_Trending/te/terax-ai创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表