Terax: A 7MB AI-Native Terminal Built with Tauri 2 and Rust
Terax is an open-source terminal emulator that includes a built-in code editor, an integrated web browser, and AI agents in a 7MB application that starts in under 300ms. It is built with Tauri 2 (using the OS native WebView instead of bundling Chromium) and a Rust backend. The AI is designed into the architecture rather than added as an extension: agents have direct access to the open file, the project structure, and the terminal session.
Technology stack
The size and speed advantage over Electron-based tools comes from two decisions: Tauri 2 uses the OS-provided WebView rather than bundling a full browser engine, and the backend is written in Rust, which handles the pseudoterminal (PTY), file system operations, and process management.
The frontend is React, rendering only the UI and delegating all system interactions to the Rust core. Core components are established open-source libraries: Xterm.js (the same component used in VS Code's integrated terminal, running with WebGPU rendering) for the terminal emulator, CodeMirror 6 for the code editor, and Vercel's AI SDK for LLM connectivity. The AI SDK supports OpenAI, Anthropic, and local models via Ollama.
Interface overview
The main window has a file explorer sidebar on the left and a tabbed main pane on the right. The file explorer is synchronized with the terminal's current working directory: running cd my-project in the terminal immediately updates the sidebar to show that directory's contents, providing constant visual context without needing to run ls.
The terminal supports tabs and splits (horizontal and vertical), allowing multiple sessions in a single window.
Built-in code editor
Clicking a file in the sidebar opens it in the CodeMirror 6 editor, which replaces the terminal pane. Syntax highlighting covers a wide range of languages. Vim keybindings are available in settings. The editor is the context source for AI agents: when a file is open, the agents read its contents directly.
Integrated browser
Opening a new Preview tab adds a browser panel with a URL bar. A dropdown in the URL bar suggests common local development ports. The browser renders the local application inline.
This creates a tight development loop: one tab runs the dev server, a second has the source file open, and a third shows the live-reloading application. The browser is implemented via iframe. Sites that send X-Frame-Options: DENY headers cannot be embedded; the feature is most useful for local development servers.
AI agents
Model configuration
In Settings → Models, API keys for OpenAI and Anthropic (Claude) are entered and stored using the OS native keychain. Local models can be connected via Ollama. The active model is selected from a dropdown in the agent panel.
Asking questions about the open file
Opening the AI panel with a file in the editor gives the agent direct access to that file's content. Asking "Why are there so many functions in the useEffect hook?" returns an analysis of the specific code currently open. The panel shows context window usage to help manage token limits. Agent personas (Coder, Architect, Code Reviewer) shift the agent's focus and response style.
/init: generating a project briefing
The /init command scans the workspace, reads directories and key files like package.json, and generates a TERAX.md file summarizing the project's purpose, architecture, dependencies, and available commands.
The generated file is presented as a diff for review before anything is written to disk. Accepting saves it; rejecting discards it.
/plan: proposing code changes
The /plan command puts the agent in plan mode. Giving it a natural language instruction (such as "This file has too much detail, make it more streamlined") causes it to analyze the open file and generate proposed changes as a diff: red for removed lines, green for new lines. Changes are applied only after you accept them.
This diff-based workflow preserves the human review step. The agent handles generation; the developer approves or rejects the result.
Settings
General. Theme selection (system, light, dark), editor color theme, Vim mode toggle.
Agents. Custom instructions applied globally to all AI interactions. This is where preferences like coding style or machine context ("My machine is an M-series Mac") are set. Snippet management for reusable prompts.
Final thoughts
Terax's main practical arguments are size, speed, and deep AI integration. The 7MB footprint and sub-300ms startup are meaningful differences from Electron-based tools. The AI's access to the open file, project structure, and terminal session creates a more useful context than agents that operate only on text pasted into a chat box. The diff-based review step for all AI-generated changes is a sensible design decision that maintains developer oversight.
The project is from a solo developer and is still early-stage, so some rough edges are expected. The iframe-based browser limitation is notable for anyone who expects to use it for general browsing rather than local development previews.
Source code and releases are at github.com/terax-dev/terax.