Features
Everything Ovvi does, in one list
Each part of the window has its own page under UI design.
Machines and spaces
- A machine is a computer: This Mac or a host you reach with
ssh, each with its own icon. Add Machine in the machine menu (Settings ▸ Machines) adds one. herdr on the Mac is needed only for This Mac. A machine without herdr gets an Install herdr button, which runs herdr's own install command there. - Several windows (⌘N, which lists every machine's sessions to pick from). Each window shows one machine and keeps its own selection. When two windows show the same session, the one you last typed in controls it, and the other offers Take Back.
- A sidebar page per herdr session you open in the window. Swipe the sidebar sideways to switch sessions, like Arc's spaces. Open Session (⌥⌘T) creates a session, starts a stopped one or opens a running one as a page.
- Space rows like herdr's: its agents' state as a still icon at the row's end (t3code's dashed circle, alert circle and check), the git branch with ahead and behind counts, and linked worktrees indented under their repository. Rename in place, add a tab, reorder or close a space, and Fetch, Pull or Push a repository's row from its menu.
- The sidebar resizes from 227 to 480 pt; each window keeps its width.
Tabs and panes
- Each herdr tab is one page; the window shows the selected tab's page and switches at once. The window title follows the selected tab.
- Rex's tab bar, always in the title row: equal-width capsules on a track, a selection marker that jumps with every change, titles that fade instead of cutting off, × on hover, a context menu, rename in place, drag to reorder, and ⌘1…⌘9 to jump (⌃⌘1…⌃⌘9 to the sidebar's spaces).
- Program icons: each tab shows the overlapping icons of the programs in its panes, and at the capsule's end one still icon for working, needs you or finished. A tab that needs you or finishes while you are elsewhere bounces its icons and says so in its title for 3 s.
- The hover card: rest on a tab to see its panes, and the last lines of an agent that needs you. Click a pane to go to it.
- Panes follow herdr's split layout. Drag a divider to resize it, double-click it to reset it to half. ⌥⌘= balances all splits. Panes in a row or column keep equal sizes as panes open and close (a setting, on by default).
- Split in four directions, move between cards and swap them with the keys, rename a pane, move it to another tab or space from its context menu.
- A new pane asks what it runs: Terminal, Agent (Claude Code, Codex, Pi or OpenCode, with a loader until it is ready), Browser, File Explorer, Git or another plugin with a chooser row. Return gives a terminal. Settings can make every new pane open one kind at once; hold ⌥ to choose.
- Browser panes: a web page in a card, with Web Inspector, its own logins
per machine, the page's icon, and a remote machine's
localhostthrough the SSH connection. ⌘-click and Open Link in New Tab open a link in a new tab, ⌥-click and Open Link to the Side beside the card. Agents open them beside themselves (ovvi open browser). - Two default plugins, on any machine, each one card with Back and Forward: File Explorer (a tree that lists each folder as it opens, with a filter, git letters, hidden files on a toggle and the root as a path you type, a status bar with the folder's counts and the branch with Fetch, Pull and Push, and in the same card each file as an editor with the diff's syntax colors, breadcrumbs and Word Wrap, Markdown in Rich Text or Source, locked for reading or not, and an outline, or a preview of images, PDF, audio and video) and Git (the changes with Stage, Unstage, Revert and Commit, Fetch, Pull and Push, a branch menu, the history graph of every branch with Show More, a live Working Tree diff, each commit's page, and the diff of any change or commit, unified or side by side, with Word Wrap, a filter of its files (⌘F), ] and [ to step through the changes, ⇧] and ⇧[ through the files). Edits show the Edited dot, ⌘S saves, and a file changed on disk reloads, or asks when there are edits. Links and files open one way everywhere: a click in the card (or a new tab when the card cannot show it), ⌘-click in a new tab, ⌥-click in a pane to the side, both in the background, and the same three in the right-click menu. Back and Forward show the last five places at once, as you left them. Open With shows each app's icon.
- Plugins as packages, as pi's: install from npm, git or a local path on the Plugins page in Settings, make a new one from the template (New Plugin…), edit it, and press Reload Plugin (⌥⌘R) to build it with its own script and reload its cards with their state. A plugin's card says in plain words why it does not load (no Node.js, a failed build, not built), with the fix as a button and its log one click away. A plugin asks once before its code first runs, and says plainly that plugins run code as you. A plugin can declare settings, which its page in Settings draws. File Explorer and Git are plugins the user can edit too.
- Layout changes animate.
- Zoom a pane to fill the window, then return.
- Drag a pane to swap it, place it beside another card, split it into another tab, or move it to another space, within what herdr allows.
- Float a pane in a small window of its own, above the main window or above every app.
- Agents drive Ovvi with one command,
ovvi, on This Mac and on every remote machine: open a browser or plugin card beside themselves or in a new tab, start another agent with a chat, float a pane, balance a tab, point the user at a card with a notice and Show, post a notification, copy to the Mac's clipboard, and list, make, build and install plugins. They never move the user's view (Agent control). - The overview (⌃⌘O) shows every tab of the session as a miniature, browser pages and chats too.
- Find in a pane (⌘F) with the matches highlighted. ⌘-click a link or a path in a terminal to open it in a new tab in Ovvi, ⌥-click it to open it to the side, or ⌘⌥-click it to open it in the Mac's default app; with ⌘, ⌥ or ⌘⌥ held the link under the pointer lights up. A link to an HTML file opens its page in a browser card, and a file card on HTML has Open in Browser.
- Redraw Terminal (⌥⌘R) makes a TUI draw its whole screen again.
- Browser and Markdown cards come back by themselves, where they were, when the system ends their web process.
- Drop files on a terminal to paste their paths (copied to the machine first on a remote card).
- Drop folders on the Dock icon to open a space in each.
- Windows and their pages come back after a quit.
- A command palette (⌘K) with every command and its shortcut, in groups (Tabs, Spaces, Sessions, Panes, View, Edit, Plugins), sub-pages for renames, moves, appearance and the font size, Go to Directory, Insert Path, Open File, Open Working Tree and Open Commit.
Agents
- One sidebar: each space shows its agents, one line each with its state and working time, by tab and pane (its chevron folds them); Sort Spaces (each session's) puts the space whose agent changed last first, under the pinned spaces, and Show Only Pinned Spaces hides the others and their alerts; Archived Sessions at the foot lists the closed sessions of the four agents, to search and resume. An untitled session shows its first prompt.
- Chat view: an agent started from a new pane opens on its TUI. Switch to Chat in the card header to see it as messages with a reply box, like Messages, on any machine, in a card or a floating window, with the whole session and full Markdown (tables, task lists). The agent keeps running. The user's messages and the agent's replies are blue and gray bubbles, as in Messages. A long chat opens at the bottom with its newest turns, and Show Earlier loads the ones before. Every message of a turn shows; each run of tool calls between them is one line of counts that opens to its calls, and a call opens to its input and output. Esc stops the agent. Answer Claude Code's questions and OpenCode's permissions in the chat. When the agent asks something else, its live terminal shows at the bottom of the card.
- Relaunch with Chat: an agent started by hand starts again with a chat, in the same session.
- Agent panes show their sessions' own titles in the card, the tab and the sidebar.
- Notifications when an agent needs you, finishes or sends one. The Dock badge shows the number of agents that need you; the Dock menu lists those that need you or finished. No sounds.
Look and settings
- Light, dark or Auto, in two styles: Glass (the desktop shows softly through the window) and Classic (an opaque window). Pane cards float on the window as translucent cards, the sidebar sits flat, and glass is only on the Glass style's tab marker and selected space row, and on floating panels.
- Our own program icons, from open-license sets.
- A Settings window (⌘,) in the style of System Settings: the look, the terminal's font, cursor and Option key, the agents in New Pane with extra arguments, notifications, machines, plugins with their own settings, and approved websites. The menu bar keeps the quick switches (Settings).
Introduction
What Ovvi is, the problem it solves and the principles behind it
Main window
Windows, the title row, tab bar, sidebar pages with spaces and their agents, page dots and Archived Sessions, Open Session, hover card, tab page, pane cards, zoom, overview, floating panes, find bar, notices and the palette