iPhone guide

Native Herdr

Your Herdr agents as terminal tabs, with their tree, their state at a glance, a grid of every agent and the ones that need you, served by the hc you installed on the server.

Native Herdr shows the spaces, tabs and terminals of Herdr on a server as native lists and terminal views, instead of the Herdr TUI inside a terminal. It talks to hc, Herdr's core, which you install on the server yourself. Warpeer never installs, updates or configures hc.

Install hc on the server

Native Herdr appears only on servers where hc is installed. On a Linux or macOS server, run Herdr's official installer:

curl -fsSL https://releases.herdr.dev/core/install.sh | sh

Builds exist for Linux and macOS on x86_64 and aarch64. Warpeer looks for herdr-core or hc in $HC_INSTALL_DIR, ~/.local/bin, ~/.cargo/bin, ~/bin, /opt/homebrew/bin, /usr/local/bin and your PATH. It checks again every time you connect, so an hc installed later shows up on the next connection.

Native Herdr needs hc 0.1.11 or newer. With an older hc, the row is dimmed and asks you to run hc update on the server. Without hc, nothing changes: the session list and the Herdr TUI work as before.

Open native Herdr

When you connect, the session chooser starts with Native Herdr and the hc version it found. Tap it and a new terminal tab opens on the server's hc, with its own connection, so the tab you connected with stays as it was.

The new tab first lists each space with its folder and its tabs, then Other Terminals: live terminals that are in no tab, such as one you started from Warpeer. If your hc has no layout yet, spaces follow the terminals' folders. Pick one and the tab becomes it. Herdr tabs page left and right with your other terminals and use the same floating keys, keyboard bar, zoom and resume.

The process bar and the agents

A narrow bar sits on top of every herdr tab. It carries herdr's mark in the color of that server's hc, the host and the tab's space, and how many agents need you, are working or are done. Neighboring tabs of one hc share the bar while the pages slide under it.

Tap the bar to pull down every agent of that hc as a tree of who started whom, the one that needs you first. A parent shows the most urgent state below it. Finished terminals collapse under one row at the end with how they ended, including the exit code. Tap an agent to go to the tab showing it, or long press to send it a message or keep it as its own tab. The Tabs section lists herdr's own tabs.

Panes and their state

On iPhone a tab shows one pane at a time under a strip of its panes, then the sub-agents that have no tab. Each one says its state by shape: a dot while it runs, a glyph when it asks you, fails or finishes its task, and a ring colored by how its program ended. A pane you are not looking at carries the most urgent state of its sub-agents, and a dot marks news you have not read. VoiceOver reads all of it.

In landscape and on iPad, the tab's split is drawn with every pane on screen. Pinch out on a pane to fill the tab with it, and pinch in to go back to the split.

See every agent at once

With two or more agents, the button at the end of the strip turns the tab into a grid of cards: a small live picture of each terminal with its state, what it last said or how it ended, its progress and its news. One that asks you is outlined. Tap a pane's card to switch to it, or a sub-agent's card to peek at it; long press for the same actions as the agent list. The grid never resizes a terminal.

Peek and message

A sub-agent opens in a sheet over the tab, with its state, its reason when it waits and the agent that started it. Watch it, answer it, send it a message, or Keep as Tab. Kept agents stay as their own tabs the next time you open Warpeer, until their terminal goes away.

When agents report to each other, the report slides in as a card on the tab and collects in the activity list, where an agent's address opens it. The list holds what this iPhone saw; hc keeps no history.

Agents that need you

An agent that is blocked or failed shows on Home and at the top of the inbox with its question, and opens straight to it. While Warpeer is open and you are not watching that agent, a notification tells you. The entry goes away when the agent moves on. Herdr states do not arrive while Warpeer is closed.

Watch, then type

A terminal opens Watching: you see its output live, and your iPhone does not change its size for anyone else. The first time you type, the iPhone becomes the active screen for that terminal and sizes it to fit. A one-time note explains that this also resizes it for other screens showing it, such as herdr on your computer.

Start and close terminals

  • + in a tab starts a login shell in the tab's folder, or one of the server's hc templates. Templates hc cannot run are not offered.
  • The close button ends the terminal's program on the server, after you confirm.
  • If the connection drops, Warpeer reconnects and resumes your terminals. Leaving the app ends native Herdr; your terminals keep running in hc on the server.

Data

Native Herdr runs only inside your own SSH connection. Names, folders, messages between agents and terminal output never pass through Warpeer or another service. Kept tabs are remembered on your iPhone only.