πΈ Hermes Agent β Portable & Cross-Platform
Run a fully self-contained, self-improving AI agent from a single folder or USB drive.
No global installation. Zero host pollution. All conversations, configs, memories, and skills stay inside your folder.
πΊ Watch the Setup & Demo Video: Click the image above to watch the step-by-step walkthrough.
data/.env), conversations (data/sessions/), persistent memory, and custom skills are kept strictly within the portable folder.Get Hermes running in seconds depending on your operating system:
Simply double-click the launch.bat file in this folder.
Note: On first run, it will launch a PowerShell window to download dependencies and configure your runtime environment.
Open your terminal in this directory and execute:
chmod +x launch.sh
./launch.sh
π‘ macOS Double-Click Shortcut: If you want to double-click in Finder to launch, rename
launch.shtolaunch.command. macOS recognizes.commandfiles and opens them in Terminal automatically.
Hermes Portable solves the host-dependency issue by establishing a sandboxed runtime context pointing inwards.
graph TD
A[User triggers launch script] --> B{Runtimes setup?}
B -- No / First Run --> C[Download Portable Python 3.11 & Node.js 22]
C --> D[Clone Hermes Agent Source to src/]
D --> E[Create isolated virtual env using uv]
E --> F[Install Python & Node packages locally]
F --> G[Generate ready.flag]
B -- Yes / Ready --> H[Configure environment variables]
G --> H
H --> I[Set HERMES_HOME = data/]
I --> J[Prepend portable bin/ paths to Env PATH]
J --> K[Launch Terminal Dashboard Menu]
K --> L[Start Chat / Background Gateway]
HERMES_HOME to the local data/ folder, forcing Hermes to write configuration and data locally rather than in ~/.hermes/..cache/runtimes/ and prepend them directly to the active process PATH.A clean, modular layout where runtime caches are separated from your personal configurations.
hermes-portable/
βββ launch.bat # Windows interactive launcher script
βββ launch.sh # macOS & Linux interactive launcher script
βββ scripts/
β βββ setup-windows.ps1 # Windows first-run configuration script
β βββ setup-unix.sh # Unix (macOS/Linux) first-run configuration script
βββ data/ # β οΈ [BACKUP THIS] All your private files
β βββ config.yaml # Hermes LLM provider configurations
β βββ .env # API Keys and active credentials
β βββ sessions/ # Chronological chat histories
β βββ memories/ # Persistent memory databases
β βββ skills/ # Learned custom skills
βββ src/ # Downloaded Hermes Agent source code
β βββ hermes-agent/
βββ .cache/ # Sandbox cache & binaries
βββ runtimes/ # Platform-specific portable interpreters
βββ windows-x64/
βββ macos-arm64/
βββ macos-x64/
βββ linux-x64/
βββ linux-arm64/
To configure your language models, open and edit the environment variables in data/.env:
# Add the keys for the providers you wish to use:
OPENROUTER_API_KEY=sk-or-v1-xxxxxxxxxxxxxxxx
OPENAI_API_KEY=sk-proj-xxxxxxxxxxxxxxxx
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxx
Alternatively, you can select option [2] (Setup / Reconfigure) in the Launcher Terminal Menu to configure model providers interactively.
Hermes Portable can use an Ollama server that is already running on the same computer. Start Ollama first, then pull a model:
ollama pull qwen3.6
Launch Hermes Portable and choose [2] Setup / Reconfigure Hermes. In the Hermes setup wizard:
http://127.0.0.1:11434/v1
For a remote Ollama host, use the same /v1 endpoint format, for example http://192.168.1.20:11434/v1. Make sure the Ollama host is reachable from the computer running Hermes Portable.
| Operating System | CPU Architecture | Setup Status | Notes |
|---|---|---|---|
| Windows 10 / 11 | x86_64 | β Supported | Default Powershell ExecutionPolicy bypassed for script |
| macOS 13+ | Apple Silicon (ARM64) | β Supported | Native M1/M2/M3 execution |
| macOS 13+ | Intel (x86_64) | β Supported | Legacy Intel Mac support |
| Linux (Ubuntu/Arch/Debian) | x86_64 | β Supported | Fully self-contained |
| Linux (Fedora/CentOS) | ARM64 | β Supported | Supports SBCs and ARM Servers |
The current Windows x64 full first-run setup was measured at about 1.5 GB total after setup completed.
| Component | Measured / Expected Size | Notes |
|---|---|---|
| Launchers & Scripts | <1 MB | Metadata and setup automation scripts |
| Windows x64 Runtime | ~800 MB | Python, Node.js, uv, Git, ripgrep, venv, and downloaded archives |
| Playwright / Local App Cache | ~400 β 500 MB | Chromium browser cache used by Hermes web tools |
| Hermes Source Code | ~100 MB | Downloaded Hermes Agent source tree |
| User Data | ~10 MB β 2 GB+ | Grows as memory, logs, sessions, skills, and backups accumulate |
Recommended USB / external drive free space:
| Use Case | Free Space to Reserve |
|---|---|
| One platform only | 2 GB minimum, 4 GB recommended |
| Windows + one Unix platform | 4 β 6 GB recommended |
| Windows + macOS + Linux runtimes | 8 GB+ recommended |
| Heavy long-term use with many sessions/backups | 16 β 32 GB recommended |
βΉοΈ Each operating system and CPU architecture gets its own
.cache/runtimes/<platform>-<arch>/folder, so using the same USB drive across Windows, macOS, and Linux will increase storage usage.
Keep your agent up-to-date with the latest improvements from Nous Research:
/hermes update
[4] Advanced Options -> [5] Update Hermes in the Launcher terminal dashboard..cache/runtimes/<your-platform> and the src/hermes-agent directory, then re-run the launcher to fetch the latest code from scratch.[!WARNING] Your portable directory contains your identity. Because
data/.envstores raw API keys anddata/sessions/contains logs of your conversations, anyone with access to your portable drive can access your accounts.
- Recommended Action: Encrypt your USB flash drive or SSD using BitLocker (Windows), FileVault (macOS), or a cross-platform utility like VeraCrypt.
- Avoid storing large API balances or production keys on drives you carry daily.
.cache/ folder and launch again to clean-install the runtimes.launch.sh (or launch.command), choose Open With and select Terminal.xattr -dr com.apple.quarantine /path/to/hermes-portable
scripts/ directory for your inspection.hermes-portable directory onto the local SSD and run from there.Shell
49.3%
PowerShell
33.5%
Batchfile
17.2%
πΈ Hermes Agent β Portable & Cross-Platform
Run a fully self-contained, self-improving AI agent from a single folder or USB drive.
No global installation. Zero host pollution. All conversations, configs, memories, and skills stay inside your folder.
πΊ Watch the Setup & Demo Video: Click the image above to watch the step-by-step walkthrough.
data/.env), conversations (data/sessions/), persistent memory, and custom skills are kept strictly within the portable folder.Get Hermes running in seconds depending on your operating system:
Simply double-click the launch.bat file in this folder.
Note: On first run, it will launch a PowerShell window to download dependencies and configure your runtime environment.
Open your terminal in this directory and execute:
chmod +x launch.sh
./launch.sh
π‘ macOS Double-Click Shortcut: If you want to double-click in Finder to launch, rename
launch.shtolaunch.command. macOS recognizes.commandfiles and opens them in Terminal automatically.
Hermes Portable solves the host-dependency issue by establishing a sandboxed runtime context pointing inwards.
graph TD
A[User triggers launch script] --> B{Runtimes setup?}
B -- No / First Run --> C[Download Portable Python 3.11 & Node.js 22]
C --> D[Clone Hermes Agent Source to src/]
D --> E[Create isolated virtual env using uv]
E --> F[Install Python & Node packages locally]
F --> G[Generate ready.flag]
B -- Yes / Ready --> H[Configure environment variables]
G --> H
H --> I[Set HERMES_HOME = data/]
I --> J[Prepend portable bin/ paths to Env PATH]
J --> K[Launch Terminal Dashboard Menu]
K --> L[Start Chat / Background Gateway]
HERMES_HOME to the local data/ folder, forcing Hermes to write configuration and data locally rather than in ~/.hermes/..cache/runtimes/ and prepend them directly to the active process PATH.A clean, modular layout where runtime caches are separated from your personal configurations.
hermes-portable/
βββ launch.bat # Windows interactive launcher script
βββ launch.sh # macOS & Linux interactive launcher script
βββ scripts/
β βββ setup-windows.ps1 # Windows first-run configuration script
β βββ setup-unix.sh # Unix (macOS/Linux) first-run configuration script
βββ data/ # β οΈ [BACKUP THIS] All your private files
β βββ config.yaml # Hermes LLM provider configurations
β βββ .env # API Keys and active credentials
β βββ sessions/ # Chronological chat histories
β βββ memories/ # Persistent memory databases
β βββ skills/ # Learned custom skills
βββ src/ # Downloaded Hermes Agent source code
β βββ hermes-agent/
βββ .cache/ # Sandbox cache & binaries
βββ runtimes/ # Platform-specific portable interpreters
βββ windows-x64/
βββ macos-arm64/
βββ macos-x64/
βββ linux-x64/
βββ linux-arm64/
To configure your language models, open and edit the environment variables in data/.env:
# Add the keys for the providers you wish to use:
OPENROUTER_API_KEY=sk-or-v1-xxxxxxxxxxxxxxxx
OPENAI_API_KEY=sk-proj-xxxxxxxxxxxxxxxx
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxx
Alternatively, you can select option [2] (Setup / Reconfigure) in the Launcher Terminal Menu to configure model providers interactively.
Hermes Portable can use an Ollama server that is already running on the same computer. Start Ollama first, then pull a model:
ollama pull qwen3.6
Launch Hermes Portable and choose [2] Setup / Reconfigure Hermes. In the Hermes setup wizard:
http://127.0.0.1:11434/v1
For a remote Ollama host, use the same /v1 endpoint format, for example http://192.168.1.20:11434/v1. Make sure the Ollama host is reachable from the computer running Hermes Portable.
| Operating System | CPU Architecture | Setup Status | Notes |
|---|---|---|---|
| Windows 10 / 11 | x86_64 | β Supported | Default Powershell ExecutionPolicy bypassed for script |
| macOS 13+ | Apple Silicon (ARM64) | β Supported | Native M1/M2/M3 execution |
| macOS 13+ | Intel (x86_64) | β Supported | Legacy Intel Mac support |
| Linux (Ubuntu/Arch/Debian) | x86_64 | β Supported | Fully self-contained |
| Linux (Fedora/CentOS) | ARM64 | β Supported | Supports SBCs and ARM Servers |
The current Windows x64 full first-run setup was measured at about 1.5 GB total after setup completed.
| Component | Measured / Expected Size | Notes |
|---|---|---|
| Launchers & Scripts | <1 MB | Metadata and setup automation scripts |
| Windows x64 Runtime | ~800 MB | Python, Node.js, uv, Git, ripgrep, venv, and downloaded archives |
| Playwright / Local App Cache | ~400 β 500 MB | Chromium browser cache used by Hermes web tools |
| Hermes Source Code | ~100 MB | Downloaded Hermes Agent source tree |
| User Data | ~10 MB β 2 GB+ | Grows as memory, logs, sessions, skills, and backups accumulate |
Recommended USB / external drive free space:
| Use Case | Free Space to Reserve |
|---|---|
| One platform only | 2 GB minimum, 4 GB recommended |
| Windows + one Unix platform | 4 β 6 GB recommended |
| Windows + macOS + Linux runtimes | 8 GB+ recommended |
| Heavy long-term use with many sessions/backups | 16 β 32 GB recommended |
βΉοΈ Each operating system and CPU architecture gets its own
.cache/runtimes/<platform>-<arch>/folder, so using the same USB drive across Windows, macOS, and Linux will increase storage usage.
Keep your agent up-to-date with the latest improvements from Nous Research:
/hermes update
[4] Advanced Options -> [5] Update Hermes in the Launcher terminal dashboard..cache/runtimes/<your-platform> and the src/hermes-agent directory, then re-run the launcher to fetch the latest code from scratch.[!WARNING] Your portable directory contains your identity. Because
data/.envstores raw API keys anddata/sessions/contains logs of your conversations, anyone with access to your portable drive can access your accounts.
- Recommended Action: Encrypt your USB flash drive or SSD using BitLocker (Windows), FileVault (macOS), or a cross-platform utility like VeraCrypt.
- Avoid storing large API balances or production keys on drives you carry daily.
.cache/ folder and launch again to clean-install the runtimes.launch.sh (or launch.command), choose Open With and select Terminal.xattr -dr com.apple.quarantine /path/to/hermes-portable
scripts/ directory for your inspection.hermes-portable directory onto the local SSD and run from there.Shell
49.3%
PowerShell
33.5%
Batchfile
17.2%