Run Hermes-Agent inside a browser-based VSCode + Linux desktop with free LLM support through ModelRelay.
She will grow with you ...
Hermes-WebTop gives you a fully functional Hermes AI assistant in your browser in under 10 minutes — no powerful PC, no Docker on your machine, no GPU required.
Just open this repo in a GitHub Codespace and you get:
- A complete Ubuntu MATE desktop (WebTop) for computer use
- CodeServer at port 8888 with Hermes Extension installed and preconfigured
- Ollama server pre-installed and auto-started
- ModelRelay pre-installed, auto-started and pre-configured as default model
- Hermes gateway accessible via desktop launcher
- Mnemon as your Hermes default memory provider
- Persistent volume for your config and settings
When you're ready to go production, simply move the same Docker setup to your own machine or VPS.
Hermes is an AI agent framework that connects LLMs directly to your communication platforms (WhatsApp, Telegram, Slack, Discord, etc.) and can run cron jobs, spawn sub-agents, speak/listen, and give you a beautiful dashboard.
The only catch? You normally need a dedicated machine with GPU. Hermes-WebTop removes that catch completely.
Perfect for:
- Trying Hermes-Agent risk-free
- Free LLM APIs through ModelRelay or OmniRoute
- Students / hackers / evaluators
- Anyone who wants a personal AI assistant without breaking the bank
(Demo video coming soon)
-
Open this repository in a GitHub Codespace (big green "Code" button → Codespaces → New)
It is recommended that you use 4 cpu core and 16G codespace.
-
In the Codespace terminal run:
make start
-
Wait ~60 seconds. When the web desktop URL appears in the Codespace Ports tab, click it.
-
Inside the WebTop desktop:
- You see
hermes dashboardis already running - Run
hermesfrom the terminal; OR: - Go to chromium at
http://localhost:9119to access Hermes WebUI - However, my recommendation to use CodeServer interface instead of Webtop to interact with the agent
- You see
- Zero local install — everything runs in browser via GitHub Codespaces
- Free-tier friendly — uses ModelRelay, Ollama daily cloud credits or NVIDIA Build API fallback
- Persistent config — docker volume backup and restore after Codespace recreation
- Easy backup/restore —
make backup/make restore - One-command everything — powerful Makefile + clean
docker-compose.yml - Auto-start ModelRelay — Default configuration for Free LLM API
- Auto-start OmniRoute — You need some configuration before it work but it is flexible and powerful
- Auto-start Ollama — custom init script on WebTop boot
- Colima / local Docker support ready
- Built-in code-server IDE — browser-based VS Code on port
8888 - Mnemon as default memory provider - a knowledge store with intent-aware recall, importance decay, and auto-deduplication
This image includes code-server and exposes it on port 8888.
code-serveris installed automatically in the container.- The desktop launcher
CodeServerstarts it inside the WebTop environment. - In Codespaces, use the forwarded private port
8888. - Locally, open
http://localhost:8888.
Note: this setup may use
code-server --auth nonein development, so keep port8888private. For local production use, secure it with an authenticated reverse proxy or firewall.
- Hermes Agent's Extension is preinstalled and configured in VSCode
- Cline Extension is also preinstall and configured to ModelRelay
- Start Hacking away in VSCode, use WebTop if you need to monitor agent do desktop-use operations. eg: Non-Headless Chrome debugging for instance / Linux Computer-Use
The WebTop URI is automatically protected — no one else can reach it.
GitHub Codespaces forwards ports privately by default (this is the setting the make start command uses). According to official GitHub documentation:
"All forwarded ports are private by default, which means that you will need to authenticate before you can access the port." "Privately forwarded ports: Are accessible on the internet, but only the codespace creator can access them, after authenticating to GitHub."
- The URL you click in the Ports tab (
https://<your-codespace>-3000.app.github.dev) is guarded by GitHub authentication cookies. - These cookies expire every 3 hours — you'll simply be asked to log in again (super quick).
- If someone tries to open the link in an incognito window, via curl, or from another computer without being logged into your GitHub account, they are redirected to the GitHub login page or blocked.
- You (and only you) can access the full Ubuntu desktop, the browser inside it, Ollama, Hermes, and everything else.
- The entire environment runs in an isolated GitHub-managed VM — not on your laptop.
- Codespaces are ephemeral: delete the codespace and everything disappears (except the backed-up volume you control).
- TLS encryption is handled automatically by GitHub.
- The
GITHUB_TOKENinside the codespace is scoped only to this repo and expires when you stop/restart. - We never set the port to "Public" or even "Private to Organization" — it stays strictly private to you.
Bottom line: This is actually more secure for experimentation than running Docker locally on your personal machine (no accidental exposure, no firewall holes, no persistent processes on your hardware).
For production use we still recommend moving the same Docker image to your own VPS or server with additional hardening (firewall, HTTPS reverse proxy, strong secrets, etc.). This Codespace version is perfect for safe testing and development.
Your configuration and settings are persisted in a Docker volume.
The project includes convenient make targets to back up and restore this data in codespace:
make backup # creates backup/hermes_config_backup.tar.gz
make restore # restores from backup/hermes_config_backup.tar.gz- Migrating from GitHub Codespaces to a local machine or VPS
- Testing experimental changes without risking your current setup
- Quickly cloning your working environment into a fresh Codespace or container
- In your current environment, run
make backup. - Download the generated file:
backup/hermes_config_backup.tar.gz. - Place the file in the
backup/folder of the new environment. - Run
make restore.
💡 Tip: Always back up before making significant changes. The restore process will overwrite the existing volume data, so test in a separate environment first if you're unsure.
Run locally (no Codespaces)
make build-local # especially if you modified the ./docker/Dockerfile
make start-locally-baked # start from your local baked imageThis is a community project — every star, issue, or PR helps enormously! Feel free to open issues for bugs or feature requests.
MIT — see LICENSE