Termius as a mobile workstation for AI agents
This Termius post is not just a generic mobile SSH checklist. It describes a practical loop for running Claude Code / Gemini / OpenCode from a phone: keep the remote agent alive, attach back into it, upload visual context, preview the app over a forwarded port, and dictate prompts.
Bottom line
The useful idea is a phone-to-Pi/remote-server control loop. Termius supplies the mobile shell, SFTP, port forwarding, snippets, keyboard shortcuts, dictation, and Mosh/tmux-friendly reconnect behavior. The AI agent still runs on the real machine; the phone becomes the command surface, visual QA screen, and capture device.
The workflow the article is really proposing
tmux attach restores the still-running AI-agent session.Phone (Termius) ├─ SSH/Mosh → Pi or remote host │ └─ tmux session → claude / opencode / gemini / codex-like agent ├─ SFTP upload → screenshots, logs, docs, mockups └─ local port forward → phone browser preview of remote dev server
The eight tips, translated into Ananth/Dab terms
| Termius tip | What it means operationally | Mission Control value |
|---|---|---|
| Keep sessions alive | Enable background behavior, run agents inside tmux, and use Mosh for unstable mobile networks. | Lets Ananth leave a Dab/Claude task running while walking around, locking phone, or changing networks. |
| Auto-start the agent | Set host startup command such as cd ~/repo && tmux attach -t dab or cd ~/repo && claude. | One tap resumes a known workspace instead of retyping setup commands. |
| Upload files via SFTP | Send screenshots, PDFs, logs, and design references to the host, then reference the uploaded path in the prompt. | Turns WhatsApp/phone artifacts into agent-readable files without a laptop handoff. |
| Use phone as live preview | Forward Vite/Next/Flask ports through SSH and open localhost:<port> on the phone. | Good for mobile-first Notice Board QA and quick visual checks of agent-built pages. |
| Customize keyboard | Add shortcut-bar keys for Escape, Ctrl, Tab, Shift+Tab, arrows, paste, and tmux prefix sequences. | Reduces friction in terminal UIs and coding agents that rely on special keys. |
| Dictate prompts | Use paste mode + phone mic so long spoken prompts land as one terminal paste. | Fits Ananth’s brain-dump style better than thumb typing. |
| Terminal gestures | Use long-press/space-drag gestures as arrow-key substitutes. | Useful for command history, cursor movement, and terminal menus on mobile. |
| Prompt snippets | Save recurring agent prompts and commands as one-tap snippets. | Can encode Dab operating prompts: review diff, run tests, summarize logs, visual QA checklist. |
Recommended phone profile for Ananth
Host: Mission Control Pi
- Startup command:
tmux attach -t mission-control || tmux new -s mission-control - Working directory snippet:
cd /home/ananth/.hermes/mission-control-notice-board - Preview forwarding:
8080 → 127.0.0.1:8080for Notice Board local server when needed. - Agent snippet: launch Claude Code/OpenCode from the right repo only when intentionally executing, not for passive captures.
Host: general coding box
- Startup command: attach to a named project tmux session.
- Forward common dev ports:
3000,5173,8000,8080. - SFTP upload folder:
~/incoming/or project-localtmp/context/. - Snippets: security review, test run, explain diff, make visual QA screenshot, summarize next action.
Snippet library worth stealing
Review
Review the current git diff for correctness, regressions, security/privacy issues, and missing tests. Return only actionable findings with file paths.
Verify
Run the project’s relevant validation commands, inspect failures, fix root causes, and leave a concise verification log.
Visual QA
Open the local preview, check mobile and desktop layouts, capture screenshots, inspect console errors, and list visible issues.
Context file
I uploaded context at: /path/to/file Read it first, extract requirements, then propose the smallest safe implementation plan.
Notice Board
Operate only in /home/ananth/.hermes/mission-control-notice-board. Do not edit generated HTML as source. Validate/render before reporting.
Stop condition
If scope is ambiguous or the next step is destructive, stop and ask for a multiple-choice decision instead of guessing.
Caveats
- Mobile execution is control, not compute. Keep agents running on the Pi/server/laptop-class machine; the phone should not be the bottleneck.
- Background behavior is OS-fragile. iOS/Android can still suspend apps.
tmuxis the real safety layer; Termius background settings are helpful but secondary. - Mosh is not a full SSH replacement. It helps roaming and latency, but port forwarding/SFTP still depend on SSH-style sessions; keep both patterns available.
- Prompt snippets can become stale. They should stay short and point agents at current repo instructions rather than embedding long old policy.
- Do not store secrets in snippets. Use keychain/SSH keys/passkeys and keep credentials out of reusable prompt text.
Fit for Dab / Mission Control
This is directly relevant to Ananth’s “Dab as operator” workflow because it reduces the gap between a WhatsApp thought and a verified remote action. A practical next layer would be a Termius mobile operations profile: preconfigured hosts, tmux session names, port forwards, upload folders, and a small prompt-snippet library aligned with Notice Board, Hermes, and visual QA workflows.
Low-risk next action: create a Dab Improvements item later only if Ananth wants setup work. The implementation would be: define one Pi Termius host profile, one coding-host profile, and 6–10 snippets; then test a full phone-only loop: capture screenshot → upload → prompt agent → preview forwarded page → commit.