v0.4.64 · What's new

Terminal
Director.

TEDI folds eight everyday dev tools into one lightweight window: terminal, SSH/SFTP, database browser, editor, AI agent, in-app browser, and Git. Built on Tauri 2. No telemetry.

tedi - interactive shell
tedi 0.4.64 - interactive demo shell
Type help to see commands, or try ask.
tedi ~ ❯
help for commands · ask to chat with AI
Eight Tools · One Window◆Terminal · Splits · Tab Groups◆SSH · SFTP File Transfer◆AI Browser Control◆SQL Explorer◆Vim Motions · Marks · Registers◆Workspaces · Persistent Sessions◆BYOK or Fully Local◆tedi CLI◆TEDI.md Project Memory◆Built on Tauri 2◆No Telemetry◆Keys in Keychain◆Apache-2.0 · Free Forever◆
[ 01/ 07 ]·Contributors

Built by the community

TEDI is Apache-2.0 and built in the open. Every name here helped shape it.

[ 02/ 07 ]·Features

Built for real developer workflows

Eight tools that used to be eight windows, now one, and they talk to each other.

Terminal
01

Splits, tabs, workspaces

xterm.js + WebGL terminal with native PTY and grouped tabs, in workspaces that reopen exactly where you left them.

SSH
02

Remote hosts + SFTP

russh remote terminals with an integrated SFTP explorer and saved connections.

SQL ExplorerExtension
03

Query any database

Query MySQL, PostgreSQL, and SQLite with a schema tree and inline row edits.

Editor
04

CodeMirror 6, real Vim

CodeMirror 6 with real Vim, broad language support, and inline AI autocomplete.

AI Agent
05

BYOK or fully local

Bring your own key or run fully local, with multi-agent workflows and gated tools.

AI Browser
06

Agent drives a real browser

A native webview the agent navigates, reads, types, and clicks, not just screenshots.

API ClientExtension
07

Postman-style workbench

Collections, environments, auth, scripts, and a runner, with Postman, OpenAPI, and cURL import-export.

SCM + Extensions
08

Git diff + plugins

Inline Git diff and staging, plus plugins for themes, commands, and AI tools.

[ 03/ 07 ]·Under the hood

Small, fast, and private

Native OS webview via Tauri 2, not a bundled browser. It shows.

3OS
Windows · macOS · Linux
~300ms
Cold start
0
Telemetry, ever
8tools
One window
[ 04/ 07 ]·Screens

In the wild

Watch the demo, then browse real screenshots from the latest build.

00 / DemoYouTube · HD
[ 05/ 07 ]·Download

Pick your platform

Updater-signed builds on GitHub Releases.

/windowsx64

Windows 10 / 11

NSIS installer (LZMA).

Notes
  • ›Unsigned warning: More info → Run anyway
  • ›Shell priority: pwsh → powershell → cmd
  • ›Windows 10 / 11 (x64)
/macosUniversal

macOS 10.15+

Apple Silicon and Intel builds.

Notes
  • ›Ad-hoc signed, not notarized
  • ›Drag to /Applications, then run once:
    $ xattr -cr /Applications/TEDI.app
/linuxx86_64

Linux

Debian, Fedora, or portable AppImage.

Notes
  • ›Blank window? Try WEBKIT_DISABLE_DMABUF_RENDERER=1
  • ›AppImage needs FUSE, or --appimage-extract-and-run
  • ›Or install .deb / .rpm directly
[ 06/ 07 ]·Changelog

What's new

The latest two releases.

v0.4.64Latest19-09-2026

The agent reads AGENTS.md as well as TEDI.md, and TEDI.md is a third smaller

  • ›The agent reads AGENTS.md, not just TEDI.md. AGENTS.md is the file every other coding agent already looks for, so a project that has one now gets TEDI's agent oriented without writing a second document. Both are loaded when both exist, each under its own heading, with TEDI.md last so it wins where the two disagree. They share one preload budget rather than taking one each, so adding the second file cannot double what every request costs, and either one being edited refreshes it. /init now offers to update an existing AGENTS.md instead of writing a competing file beside it.
  • ›TEDI.md is a third of its old size. The project map the agent carries in every request had grown to 758 lines and was mostly history: why a thing had been built that way, what it used to be, which bug it came from. It is 500 lines now, ordered so the part that gets preloaded is the part a task needs first, and the wide tables are lists, because Prettier pads a table out to its widest row and 7 KB of that padding was eating the budget. Nothing about the app changed; the agent just spends less to know where things are.
  • ›A project document whose first section is long preloaded almost nothing. The reader cut at the last heading that fitted, and fell back to the last line break only when that left nothing at all. A document opening with one very long line therefore passed the fallback and delivered about six characters out of a twelve-kilobyte budget, silently, with no sign anything was missing. Both cuts now answer to the same floor and a document that has no usable boundary is simply cut at the budget.
  • ›The documentation said there is a kind of pane that does not exist. Both the architecture map and the module reference listed an ssh leaf among the pane kinds; there are six, and SSH is a terminal pane carrying a saved connection. Anything reading a pane's title instead of asking for its label shows a bare "ssh" for every remote pane, which is the bug that claim was hiding. The backend command count, the provider count, the step cap, the module lists and the theme and scheduler descriptions were all stale too, and now match the code.
  • ›The contributing guide asked for the wrong checks before a pull request. It left out pnpm verify and pnpm build, which CI does gate on, and asked for pnpm format:check, which CI does not run and which already fails on files nobody touched, so following it meant reformatting other people's code and still missing the check that would fail the PR.
v0.4.5009-09-2026

A command can be queued into a terminal from outside TEDI, and the queue no longer loses itself at startup

  • ›An AI CLI driving TEDI from outside can now schedule a command into a terminal, list what is queued, and cancel one. The schedule engine had been reachable only by the agent built into TEDI, so an outside assistant could not queue a command, cancel one, or even see that three were already waiting on the pane it was about to use. A scheduled command runs later and unattended, so it goes through the same safety check and the same shell rewriting an immediate command does, and creating one raises the usual approval card. Listing does not, because an assistant has to be able to look before it asks.
  • ›The Dev Environment answers to an assistant. It runs the PHP, Node, MySQL, PostgreSQL, Redis, nginx and Apache your sites actually sit on, and until now the only things you could ask for were "open the panel", "start everything" and "stop everything". Five tools now read every service, runtime, project and scheduled job in one call, and start, serve, pin and schedule them. Anything that changes the machine asks first.
  • ›A command scheduled while TEDI was still starting erased every schedule already saved. The window is small, the first moment after launch while the saved list is still being read, but anything queued inside it replaced the whole file with that one entry, so the rest were gone from disk with nothing saying so. Scheduling now waits for that read, and a read that fails is retried rather than leaving scheduling dead until you restart.
  • ›Focusing a pane finally reaches one in a tab you are not looking at. An assistant can see every pane in every tab, but focusing one that was not on screen quietly did nothing and reported that focus had not landed, so the next thing it typed went wherever the cursor happened to be. It brings the pane's tab forward first now.
  • ›Only terminals carry zoom controls on the canvas. Every window on the canvas offered a zoom stepper and answered Ctrl and wheel, but a terminal is the only kind that rescales cleanly; everything else was being scaled twice, once by the canvas and again by itself. Ctrl and wheel is still swallowed over those panes, so the gesture cannot zoom the whole app by mistake.
  • ›A context menu no longer draws two lines where a section is empty. A divider hid itself at the top and bottom of a menu, which was not enough: a group that turned out to have nothing in it left a divider on each side of the gap.
  • ›The block that animates while a turn is waiting no longer reads as a short loop. Waiting has no order to it, but eight cells sharing one speed come back into step every cycle however you stagger them, so the eye picked up the pattern within seconds. Each cell now runs at its own speed, so the block never repeats.

Proven primitives, nothing exotic

Rust for the backend, Tauri 2 for the shell, React 19 + xterm.js + CodeMirror for the surface. Just fast.

Frontend
React 19
TypeScript
xterm.js (WebGL)
CodeMirror 6
Backend
Rust
Tauri 2
portable-pty · russh
OS Keychain
License
Apache-2.0
Origin
Fork of Terax v0.5.9
[ 07/ 07 ]·FAQ

Frequently asked questions

TEDI, the Terminal Director, folds eight everyday dev tools (a terminal with workspaces, SSH/SFTP, a database browser, a code editor, an AI agent, an in-app browser, an API client, and Git) into one lightweight window built on Tauri 2.

Because the terminal is where the work is directed from: TEDI puts your shells, remote hosts, editor, database, Git, and AI agents on one stage and lets you cue them from a single window instead of alt-tabbing between apps.

It stays small and cold-starts in about 300 ms because it uses the OS webview via Tauri 2 rather than bundling a full Chromium runtime. There is no fixed size cap: a feature ships with what it needs, and TEDI budgets memory and idle CPU instead.

Windows 10/11 (x64), macOS 10.15+ (Apple Silicon and Intel), and Linux (Debian/Ubuntu .deb, Fedora/RHEL .rpm, and a portable AppImage).

No. There is zero telemetry, and no key or secret ever leaves your machine for a remote server. Where they are kept locally depends on the platform: the Keychain on macOS, a DPAPI-encrypted file on Windows, and a 0600 file on Linux, which is not encrypted because a portable install cannot assume a Secret Service daemon is running.

You can bring your own key across ten providers (OpenAI, Anthropic, Google, xAI, Cerebras, Groq, DeepSeek, SumoPod, LM Studio, and any OpenAI-compatible server), or run fully local and keyless against Ollama, llama.cpp, or vLLM. Plan mode, skills, MCP, sub-agents, and approval-gated tools work either way.

Yes. TEDI is licensed under Apache-2.0 and free forever. Issues, PRs, and ideas are welcome on GitHub.

No extension ships inside the binary: all twelve first-party ones (SQL Explorer, the API Client, a dev environment, a real browser pane, a process monitor, AI usage meters, beautify, remote access, RTK bridge, screenshots, a second folder tree, and Discord Rich Presence) install at runtime from a .zip or a GitHub release, and are versioned independently of the core app. Every install shows the permissions, risk tier, and AI tools it contributes before you accept, and that review is an install-time decision rather than a sandbox: an extension runs with the app's own privileges, so install only what you trust.

Ship

Open it up.

Open source under Apache-2.0. Issues, PRs, and ideas welcome.