Short answer
Install with omarchy pkg add hermes-desktop, pick Local mode in the first-run wizard, and connect a provider — an OpenRouter key, Nous Portal's free tier, or a local Ollama/LM Studio endpoint for $0. You get chat with memory, skills, scheduled tasks, and messaging gateways.
Hermes Desktop on Omarchy: the self-improving AI agent, in a chat window
Hermes Desktop is the native desktop GUI for Hermes Agent, Nous Research’s self-improving AI agent — it installs and configures the agent for you, then gives you a chat window with memory, skills, scheduled tasks, and messaging integrations, no terminal required.
TL;DR install
omarchy pkg add hermes-desktop
Takes ~5 minutes including the first-run wizard. Honest caveat: the app itself is free and MIT-licensed, but it is not a chatbot on its own — you need an LLM provider behind it. Bring your own API key (OpenRouter is the one-click path), use Nous Portal’s free tier, or point it at a local model (Ollama/LM Studio/llama.cpp) and pay nothing at all.
Getting started in 5 minutes
1. First launch — local or remote?
The app’s first-run wizard asks one question: run Hermes locally on this machine, or connect to a remote Hermes API server. Pick Local unless you already run a Hermes dashboard on a VPS. In local mode it checks for an existing install in ~/.hermes and, if missing, runs the official Hermes install script with dependency resolution (Git, uv, Python 3.11+). In remote mode it asks for the API URL + API key and validates the connection.
2. The 3 things you need to know
- Connect a provider. OpenRouter is the recommended path — 200+ models through a single key, per the README. Add credit (~$5 goes a long way), paste the key, and you’re chatting. Alternatives: Anthropic, OpenAI, Google, xAI, Qwen, MiniMax, Hugging Face, Groq, Nous Portal (free tier available), or any OpenAI-compatible local endpoint. Pick your model per profile from the model picker.
- Start a session. Chat requests go through
http://127.0.0.1:8642with SSE streaming — you get live tool progress indicators, markdown rendering, and real-time token/cost tracking in the chat footer. Try the slash commands:/webfor web-enabled chat,/shellto run shell commands,/skills,/memory,/modelto switch models mid-session,/usageto see spend. - The learning loop is the point. Hermes Agent’s differentiator is that it creates and improves its own skills from experience, keeps persistent memory across sessions, and searches its past conversations. Open the Skills screen to browse/install skills, Memory to view and edit what it remembers about you, and Sessions to full-text search every conversation you’ve had (SQLite FTS5). Edit its personality on the Soul screen (a
SOUL.mdeditor). Set up recurring work under Schedules (cron jobs delivered to 15 targets, including Telegram/Discord via 16 messaging gateways).
3. Config location
Everything is under ~/.hermes — .env, config.yaml, profiles/ (per-profile isolated configs), state.db (session history), cron/jobs.json. The Settings screen has full backup/restore and a log viewer, so you can move machines without losing your agent’s memory.
Common issues & fixes
Real reports from the fathah/hermes-desktop issue tracker (the community-maintained app). The project is in active development — check issue status before hitting any of these.
Remote mode over HTTPS: sign-in “succeeds” but the app never connects
Fix: Root cause is a cookie-name mismatch: the HTTPS dashboard sets a __Host-hermes_session_at session cookie, but the app only looks for the bare hermes_session_at name, so the 750 ms session poll never fires (issue #996). Until upstream strips the __Host-/__Secure- prefix, work around it by connecting to the loopback HTTP gateway instead (works fine per the report), or use the SSH connection kind. A fix snippet was offered in the issue — if you’re technical, you can patch src/main/remote-oauth.ts.
Model picker shows only the current model for non-default profiles
Fix: This appeared after a failed model selection in one profile; the desktop’s per-profile model state appears to corrupt while the backend stays healthy (issue #998). Workaround: change models via the CLI, which works correctly for every profile (hermes -p <profile> model). Only affects non-default profiles in the desktop UI; the default profile is unaffected.
In Remote mode, Schedules/MCP screens come up empty
Fix: The app’s remote calls don’t carry OAuth credentials (session lives in a separate cookie partition), so the server returns 401 and the app silently renders empty lists (issue #1002). The reporter proposed PRs routing calls through the authenticated boundary. Until those land: prefer local mode, or manage schedules/skills/gateways directly in the dashboard or CLI, and use the desktop only for chat in remote mode.
A custom vision model (Gemma 4 E4B in llama.cpp) isn’t recognized
Fix: The app’s llama.cpp preset management strips manual mmproj lines from presets.ini before load, so there’s no reliable manual fix reported (issue #988). Workarounds that users have had success with: stick to the app’s suggested/known-good models (a Qwen3 variant loaded fine for the same reporter), or run your model behind Ollama/LM Studio and add it as an OpenAI-compatible local endpoint — local presets for both are built in, and vision works through the standard OpenAI-compatible image path.
Pairs well with / If you hate this, try
Pairs well with
- Ollama (ollama.com) — free local inference makes Hermes Desktop 100% free and offline on the model side. Telegram/Discord gateways — talk to your agent from your phone while it works. A cron schedule for morning briefings.
If you hate this, try
- The official agent directly — Nous Research now ships its own desktop app inside the hermes-agent repo (
apps/desktop), and thehermesCLI is the full-featured original. The community app is the nicer onboarding path; the CLI is the power path.
Comparison: Hermes Desktop vs Jan vs OpenCode
| Hermes Desktop | Jan | OpenCode | |
|---|---|---|---|
| Price | Free (MIT) — bring your own provider key | Free (open source) — local models free, cloud keys optional | Free (open source) — bring your own key or OpenCode Zen subscription |
| Best for | A self-improving AI agent with memory, skills, scheduled tasks, and messaging integrations | Offline-first ChatGPT replacement: download open models and chat privately on your machine | Terminal-first agentic coding: reads, edits, and runs code with 75+ provider options |
| Omarchy install | omarchy pkg add hermes-desktop | AppImage / .deb from jan.ai | curl -fsSL https://opencode.ai/install | bash |
One-line verdict: pick Hermes Desktop if you want an agent that acts and remembers (tool use, cron, Telegram gateway, skills that improve themselves). Pick Jan if you just want a private chat UI with local models. Pick OpenCode if you live in the terminal and want a coding agent.
Open the Hermes Desktop package
See the live version, upstream screenshot, requirements, source and exact Omarchy install command.
Frequently asked questions
Does Hermes Desktop work on Omarchy?
Yes — install with omarchy pkg add hermes-desktop. It’s an Electron app (Linux AppImage/.deb/.rpm builds ship upstream), and the underlying Hermes Agent is a Unix-native Python tool, so Arch/Linux is its home turf.
Is Hermes Desktop free?
Yes. The app is open-source under the MIT License. But it’s a client, not a model — you supply the intelligence via your own provider key, a local model, or Nous Portal’s free tier.
Do I need an API key?
Not necessarily. You need a provider, but that can be a free one: Ollama or LM Studio running locally (no key at all), Nous Portal’s free tier, or OpenRouter’s free models. A paid key (OpenRouter/Anthropic/OpenAI/etc.) just buys you stronger models.
Can I run it against a remote Hermes server?
Yes — the first-run wizard offers Remote mode (API URL + key). But know the caveat: in Remote mode several screens (Schedules, Skills, Gateway, Providers, Memory) are degraded or unavailable, and HTTPS remote sign-in has a known cookie bug (#996). Local mode is the smooth path.
Does it remember me across sessions?
Yes — that’s the headline feature. Persistent memory, session history with full-text search, and a skill system that distills repeated tasks into reusable knowledge. Check the Memory screen to see what it knows, and back it up from Settings before migrating machines.
Official sources
- fathah/hermes-desktop — README (features, providers, first-run flow, config paths, license)
- Issue #1002 — remote mode empty screens
- Issue #998 — model picker per-profile bug
- Issue #996 — HTTPS remote sign-in never completes
- Issue #988 — custom vision model not recognized
- NousResearch/hermes-agent — upstream agent (MIT)
- Wikipedia — Hermes Agent
Commands and fixes verified against official sources October 2026; on-machine verification pending.