All docs
Operate
Terminal
The terminal is a dock in the corner of the dashboard. Open one tab per server, run commands or ask the AI from the same input, and watch output stream in. For interactive tools such as top, vim or a database prompt, switch the tab to a recorded live terminal. Tabs survive a reload. Every command and every session is signed and recorded.
Open a terminal
On any server page click the >_ button in the header. The dock opens in the corner and stays there while you move around the dashboard. Press Ctrl + ` anywhere to show or hide it, or Ctrl + Shift + T to open a new tab and pick a server from a searchable list. Hiding the dock does not stop anything; sessions keep running.
Open tabs, the active tab and the hidden state are remembered in your browser, so a reload brings the same tabs back.
Cmd, AI and Live modes
Each tab has one input with two modes. In Cmd mode the prompt is $ and what you type runs on the server. In AI mode the prompt is a sparkle and what you type is a question about that server, answered by the same tools as Ask AI, pinned to the tab’s server. Press Ctrl + / to flip modes, or use a prefix without switching:
- •
? your question— ask the AI once from Cmd mode - •
! command— run a command once from AI mode
The command box is hidden the first time you open a tab, with the choice I know Linux — show it or Ask AI instead. Your choice is remembered in that browser.
Owners and admins also see a third mode, ▣ Live: a real terminal in the browser. See Live terminal below.
In AI mode, owners and admins on a server with remote actions on see a Let AI run commands checkbox. With it ticked, the AI can run commands from this tab exactly as in act mode: signed, logged, shown inline with their exit codes, asking first before anything destructive.
Keyboard shortcuts
| Keys | What it does |
|---|---|
| Ctrl + ` | Show / hide the terminal |
| Ctrl + Shift + T | New tab (pick a server) |
| Ctrl + Shift + ] / [ | Next / previous tab |
| Alt + 1 … 9 | Jump to tab |
| Ctrl + Shift + W | Close tab |
| Ctrl + / | Switch Cmd ↔ AI |
| ? your question | Ask AI from Cmd mode |
| ! command | Run a command from AI mode |
| Ctrl + L | Clear the screen |
Ctrl + ` works anywhere in the dashboard; the others work while the dock is open. The bindings avoid Ctrl + Tab, Ctrl + W and Ctrl + digit, which browsers reserve. The ? button in the dock shows this table.
Running commands
Ordinary commands run on Enter like a shell. Commands the dashboard recognises as disruptive, such as systemctl stop, rm -rf, reboot, ufw disable, package upgrades, DROP TABLE, mkfs or a recursive chmod, open a confirmation that states the consequence in plain English first.
Output streams into the tab while the command runs and the exit code is shown when it finishes; stderr appears in red. cd carries over to your next command. clear or cls clears the screen. Each command may run for up to 600 seconds; after that it is killed. Captured output is capped at 64 KB per command.
Every command is Ed25519-signed by the API, run by the agent with sh -c as the agent’s user, and stored with its output in the server’s command history under the Automation tab. Typing free-text commands needs the owner or admin role.
Servers with remote actions off
Remote actions are off for every server until they are switched on from the server page, which needs step-up confirmation and the Growth plan or higher. A tab for such a server opens in AI mode with the notice Remote actions are off for this server, so commands can’t run here yet. AI questions still work. Owners and admins get an Enable remote actions button right there; other roles are told to ask an owner or admin. Turning actions on may ask for a 2FA code if your workspace requires it, and is recorded in the audit log.
On the Free plan the button is refused with Remote actions require a Growth plan or higher. Upgrade to enable them. The message appears inline. See remote actions for what the switch does and plans for the gate.
If the server’s agent is an older build without a command executor, the tab says so; update the agent on that server first.
Live terminal
A live terminal is a real shell on the server, in the browser, for tools Cmd mode can’t drive: top, htop, vim, less, a mysql> or psql prompt, or a package manager asking a question. It is off on every server until two switches are both on:
- 1.In the dashboard: server page → Actions → Live terminal. Only an owner or admin can turn it on, turning it on asks you to confirm your identity, and the change is recorded in the audit log. Opening a session needs the Growth plan or higher. Turning it off ends any open session immediately.
- 2.On the server itself: add
OPSERVO_ENABLE_SHELL=trueto/etc/infrapilot/configover SSH and restart the agent. Opservo blocks commands from the terminal, chat or a fleet run that edit this file, so the switch stays with whoever administers the box. (The check reads the command text: it stops mistakes, not a deliberate root user on a server with remote actions on.) Re-running the installer keeps the setting.
echo 'OPSERVO_ENABLE_SHELL=true' | sudo tee -a /etc/infrapilot/config
sudo systemctl restart infrapilot-agentOPSERVO_ENABLE_ACTIONS=false on the server also blocks the live terminal; it stays the single local kill-switch for everything Opservo can run there.
Opening a session
In a terminal tab click ▣ Live, pick the Linux user to open the shell as, and click Open. The list shows the server’s login users (root, and regular users with a real login shell); the default is set per server on the Actions card. Root is labelled full control. Every session asks you to confirm your identity first, whatever your workspace’s 2FA policy. ⤢ Full screen gives the terminal the whole window; End session closes it.
The agent dials out to Opservo over an encrypted WebSocket, so no port is opened on the server. Each session start is Ed25519-signed for that server and that Linux user and is valid for 60 seconds; the agent refuses an unsigned or expired one.
Recording and limits
Every session is recorded: the screen output (up to 2 MB per session) and each line typed at a prompt. What you type at a password prompt (sudo, read -s, a database password) is never recorded. The Actions card lists every session with who opened it, as which user, how long it ran and why it closed; click Recording to read it.
- •A session closes after 15 minutes without activity and after 4 hours in any case.
- •Up to 3 live terminals can be open on one server at a time.
- •Closing the browser tab ends the shell.
Last updated 2026-10-14. Found a mistake? Email hello@getopservo.com.