Roamgate
A browser client for Herdr that lets you drive terminals, watch coding agents, and review files and diffs from desktop or mobile.
- Source repo
- powerfooI/roamgate
- Stars
- ★ 293
- Last updated
- today
- License
- MIT
- Primary language
- TypeScript
- FA score
- 55/100 · Major gaps
At a glance
- How it runs
- Works with
- Platform-specific
- Cost
- Free, no paid service needed
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- Check a coding agent's fresh diff from your phone on the commute and leave inline review comments.
- Not a fit if
- Users who don't want to run a Herdr server
- Anyone needing fully offline use with no persistent process
- Teams needing multi-tenant or collaborative hosting
- Source review
- 55/100 · Major gaps
What does this agent do, and when should you use it?
Roamgate is a browser client for Herdr. It puts terminal control, coding-agent session inspection, and file/diff review into a web UI that works on desktop and phone, and it can be installed as a PWA for an app-like window. It is not an agent runtime itself: it requires a running Herdr server, which supplies the terminal and workspace capabilities, so Herdr has to be installed and started first (or via `roamgate herdr setup`). Installation ships as a shell script for Linux/macOS and x64/ARM64 archives for Windows, and you launch the printed URL and authenticate with a token or password. Because it can control terminals and modify real files, authentication is required even on loopback, and the docs recommend keeping the default loopback binding. The code is MIT licensed; development needs Bun 1.4.3 or newer plus a running Herdr server. An experimental Ranger workspace assistant is included for inspecting workspace context, running supported operations, and scheduling background checks.
Pointed at a Herdr server, Roamgate exposes a set of concrete browser operations: terminal control (with mobile Composer and terminal shortcuts), a file explorer that can open workspace files and preview static HTML, diff review with inline line comments and review feedback, inspection of coding-agent sessions, and running tests with visible results. The repo also ships an experimental Ranger workspace assistant that inspects workspace context, performs supported operations, and schedules background checks — it needs both Herdr and the Roamgate bridge running. On the command side there is a roamgate CLI (including roamgate herdr setup to install and start Herdr for you), and for development bun run dev:server and bun run dev:web start the server and web front end, served at http://localhost:5173. Output is the browser interface plus the files, diffs, and terminal sessions it renders; it produces no persistent agent artifacts of its own. The deployment boundary is explicit: the process must stay running and reachable, and PWA mode is not offline access.
- Check a coding agent's fresh diff from your phone on the commute and leave inline review comments.
- Use an iPad as a second screen: code on the desktop while a PWA window shows test output.
- Drive your workspace terminal through a self-hosted instance from a machine where you can only open a browser.
- Preview static HTML produced in the workspace after the agent finishes running tests.
- Use the Ranger assistant to inspect workspace context, run supported operations, and schedule background checks.
- Migrate from Herdr Studio / herdr-gui by installing Roamgate manually per the migration guide.
How do you install or deploy this agent?
Install and start Herdr first, or let Roamgate do it later. On Linux or macOS:
curl -fsSL \
https://github.com/powerfooI/roamgate/releases/latest/download/install-roamgate.sh \
| ROAMGATE_VERSION= shOn Windows, download the matching x64 or ARM64 archive from the latest release and run roamgate.exe.
On Linux/macOS, add ~/.local/bin to PATH and, if you want Roamgate to set up its dependency for you:
roamgate herdr setupChecksums, configuration, updates, and services are covered in docs/DEPLOYMENT.md, which also keeps historical instructions for herdr-gui 0.6.2.
How do you use this agent?
Start the service and open the URL it prints:
roamgateThe first visit requires a token or password, including on loopback. To use it daily, install it as a PWA after authenticating: iPhone/iPad Safari → Share → Add to Home Screen; macOS Safari 17+ → File → Add to Dock; Chrome/Edge → browser menu → Install app.
For source development you need Bun 1.4.3 or newer and a running Herdr server:
bun install --frozen-lockfileThen run the two processes in separate terminals:
bun run dev:serverbun run dev:webOpen http://localhost:5173 in your browser.
What are this agent's strengths and limitations?
- The browser is the client, so desktop and phone share one UI, with mobile-specific Composer and terminal shortcuts.
- One interface covers the whole review loop: file explorer, inline diff comments, review feedback, test runs, and static HTML preview.
- Installable as a PWA, giving a separate app window without browser tabs or an address bar.
- MIT licensed and distributed for Linux, macOS, and Windows, with
roamgate herdr setuphandling the Herdr prerequisite. - Token or password auth is enforced even on loopback, with guidance to keep the default loopback binding for a tool that can modify real files.
- Hard dependency on a running Herdr server; without it Roamgate cannot be used at all.
- The process must stay running and reachable, and the docs state plainly that PWA mode is not offline access.
- The Ranger assistant is experimental and additionally requires the Roamgate bridge to be running.
- No automatic upgrade path from Herdr Studio / herdr-gui; migration is a manual install following the deployment guide.
- Source development requires Bun 1.4.3 or newer and running dev:server and dev:web side by side.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Roamgate This agent | 55 · Major gaps | CLIFree | ★ 293 | today | TypeScript | — |
| Aster | 77 · Good | CLIFree + model costs | ★ 122 | 4d ago | Rust | OpenAI API |
| Kandev | 74 · Some gaps | CLIFree + model costs | ★ 945 | today | Go | Codex · Claude Code |
| vibepanel Agent Console | 85 · Good | Self-hosted serviceFree + model costs | ★ 54 | today | Go | Codex · Claude Code |
How does FollowAgents rate this agent?
Why each dimension lost points
SECURITY.md gives very specific treatment of the trust model, default 127.0.0.1 binding, mandatory login, token/password/PIN strength and rate limiting, cookie signing-key rotation, and Web Push endpoint restrictions; sensitive_data_handling earns 3 for requiring 15-1024 character passwords, 256-bit random tokens, separate signing secrets, owner-only permissions, and signing-key rotation on credential change. least_privilege scores 2: default loopback binding and mandatory auth are good minimal-exposure practice, but the doc explicitly states UI access grants the user's full authority with no multi-user permission system or sandbox, i.e. privileged administration rather than least privilege. data_flow_transparency scores 2: token file paths, session cookies, push registry, and update origins are described, but the full data path for terminal/file content is not. user_confirmation scores only 1: update and push mutations require auth headers, but no confirmation flow is described for destructive operations such as workspace deletion or modifying real files. dependency_security scores 2: package.json pins highlight.js and undici via overrides and there is a bun audit --audit-level=high script, but the audit is not wired into CI and no lockfile content or vulnerability status is provided. external_effects scores only 1: the README states it controls terminals and modifies real files, but side-effect boundaries, audit logging, and blast-radius controls are not described. rollback scores only 1: update checksums, credential rotation, and session reset are mentioned, but there is no undo/rollback for file modifications or terminal actions. source_attribution scores 2: LICENSE names Arthur, package.json has author/homepage/repository, and THIRD_PARTY_NOTICES covers third-party assets, but publisher identity is unverified and the repo owner powerfooI differs from the author name, which is the deduction.
self_consistency scores 2: README, SECURITY.md, and package.json agree on version 0.8.3, Bun 1.4.3, MIT license, and the Herdr dependency, though README calls it a 'Herdr client' while package.json calls it an 'independent community Web and PWA client', a minor wording divergence. dependency_availability scores 2: engines requires bun>=1.4.3, packageManager pins [email protected], and CI uses --frozen-lockfile, so dependency availability is supported; however no lockfile content is provided to verify all dependencies. failure_messages scores only 1: SECURITY.md mentions 429/413 status codes and Retry-After, but that is security documentation rather than product error-message design; the repository shows no user-facing failure messages, diagnostics, or error taxonomy, so evidence is insufficient.
audience_and_scenarios scores 2: the README clearly targets desktop and mobile users, daily PWA use, and remote access, with screenshots and tutorial links, so the audience is clear. capability_boundaries scores 2: it states 'requires a running Herdr server', 'PWA mode is not offline access', 'Ranger is experimental', and 'automatic upgrades are not supported', so boundaries are documented; but unsupported operations and permission ceilings are not systematically listed. trigger_precision scores only 1: as a client product, trigger conditions (when to connect, when auth is required, when dev mode applies) are scattered across docs with no unified trigger/precondition list. environment_fit scores 2: Linux/macOS/Windows, x64/ARM64, Bun version, and PWA install paths are covered, but no per-environment verification evidence is given.
information_architecture scores 2: the README is well structured (screenshots, quick start, PWA, docs, development, security, license) and links FEATURES/DEPLOYMENT/ARCHITECTURE/SECURITY/CONTRIBUTING, though several linked files are not in the evidence. install_notes scores 2: Linux/macOS install script, Windows archive, PATH setup, and checksum guidance are given, which is fairly complete; but the install script itself is not in evidence and cannot be verified. naming_stability scores only 1: there are HERDR_GUI_* to ROAMGATE_* aliases, a herdr-gui to roamgate rename, and historical install paths, so naming stability carries clear legacy baggage. examples_and_faq scores only 1: screenshots and tutorial links exist, but there is no FAQ, common-error example, or configuration sample code. known_limitations scores 2: it explicitly lists no automatic upgrades, PWA not offline, weaker PIN, dev-mode auth bypass, and untrusted forwarded IPs, which is reasonably thorough. license scores 3: LICENSE is the full MIT text, package.json declares MIT, and the README explains code MIT plus third-party asset terms, so licensing is complete. versioning_changelog scores only 1: package.json has version 0.8.3 but there is no CHANGELOG file, so version history and change records are missing. maintenance_responsibility scores only 1: SECURITY.md has a vulnerability reporting process and CONTRIBUTING is linked, but the publisher is unverified and the responsible maintainer is unclear, which is the deduction.
output_usability scores 2: the product output is a browser/PWA interface, and screenshots show file browsing, diff annotations, terminal, and HTML preview as usable outputs for real scenarios. marginal_value scores 2: as a Web/PWA client for Herdr it adds mobile access and remote review capability over a pure desktop client, but it depends on the Herdr ecosystem, limiting standalone value. cost_benefit scores only 1: it requires a running Herdr server, Bun 1.4.3, a long-running process, and auth/TLS configuration, so deployment and operations cost is non-trivial while the benefit is mainly mobile convenience; the cost-benefit evidence is insufficient.
claim_traceability scores only 1: README and SECURITY.md claims are mostly prose with no references to specific code, tests, or configuration, so they cannot be traced item by item. cross_source_corroboration scores only 1: README, SECURITY.md, package.json, and CI workflows partially corroborate version, license, and Bun version, but there is no cross-evidence between security claims and code implementation. fact_inference_separation scores only 1: the docs mix factual statements with design intent (e.g. 'normal runtime requires login') without clearly separating verified facts from design goals, which is hard to disentangle under static review.
- Publisher identity is unverified; the repo owner powerfooI differs from the LICENSE author Arthur, so the maintainer and update path cannot be confirmed.
- SECURITY.md explicitly states UI access grants the user's full authority with no multi-user permission system or sandbox; do not treat it as an isolated environment.
- Development mode (NODE_ENV=development with a loopback bind) bypasses authentication, including access through a reverse proxy or tunnel; never expose a development listener remotely.
- The product controls terminals and modifies real files, yet no confirmation flow or rollback mechanism for destructive operations is documented.
- A dependency audit script exists but is not wired into CI, and no lockfile content is provided, so dependency vulnerability status cannot be verified.
- There is no CHANGELOG, so version history and change records are not traceable.
- This is a static source review; no code or tests were executed, and all conclusions carry low confidence.
FAQ
Does Roamgate cost anything?
Can I run it without Herdr?
roamgate herdr setup install and start it.