Hermes Desktop is a native desktop app for installing, configuring, and chatting with Hermes Agent — a self-improving AI assistant with tool use, multi-platform messaging, and a closed learning loop. Instead of managing the CLI by hand, the app walks through install, provider setup, and day-to-day usage in one place. It uses the official Hermes install script, stores Hermes in ~/.hermes, and gives you a GUI for chat, sessions, profiles, memory, skills, tools, scheduling, messaging gateways, and more. 1. Asks whether you want to run Hermes locally or connect to a remote Hermes API server. 2. Local mode: checks whether Hermes is already installed in ~/.hermes; if not, runs the official Hermes installer with dependency resolution (Git, uv, Python 3.11+). 3. Remote mode: prompts for the remo
This project is in active development. Features may change, and some things might break. If you run into a problem or have an idea, open an issue. Contributions are welcome!
README.mdREADME.zh-CN.mdREADME.ja-JP.mdREADME.es-LATAM.mdHermes Desktop is a native desktop app for installing, configuring, and chatting with Hermes Agent — a self-improving AI assistant with tool use, multi-platform messaging, and a closed learning loop.
Instead of managing the CLI by hand, the app walks through install, provider setup, and day-to-day usage in one place. It uses the official Hermes install script, stores Hermes in ~/.hermes, and gives you a GUI for chat, sessions, profiles, memory, skills, tools, scheduling, messaging gateways, and more.
Windows users: The installer is not code-signed. Windows SmartScreen will warn on first launch — click "More info" → "Run anyway".
WSL users: If the installer stalls at
Switching to root user to install dependencies..., Playwright is waiting for a sudo password that has no TTY to read from. Grant passwordless sudo for the install, then revert when finished:echo "$USER ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/hermes-install # …re-run the installer; once it finishes: sudo rm /etc/sudoers.d/hermes-installTracked in #109.
sudo dnf install ./hermes-desktop-<version>.rpm
Fedora users: The
.rpmis not GPG-signed. If your system enforces signature checking, append--nogpgcheckto the install command. Auto-update is not supported for.rpmbuilds (limitation ofelectron-updater); reinstall the new.rpmto update.
Chat![]() | Profiles![]() |
Models![]() | Providers![]() |
Tools![]() | Skills![]() |
Schedules![]() | Gateway![]() |
Persona![]() | Kanban![]() |
Office![]() | Settings![]() |
127.0.0.1:8642, or connect the desktop app to a remote Hermes API server with URL + API key/usage slash command/new, /clear, /fast, /web, /image, /browse, /code, /shell, /usage, /help, /tools, /skills, /model, /memory, /persona, /version, /compact, /compress, /undo, /retry, /debug, /status, and moreOn first launch, the app:
~/.hermes; if not, runs the official Hermes installer with dependency resolution (Git, uv, Python 3.11+).In local mode, chat requests go through http://127.0.0.1:8642 with SSE streaming. In remote mode, the app talks to your configured remote URL with the same streaming protocol. The desktop app parses the stream in real time, rendering tool progress, markdown content, and token usage as it arrives.
| Screen | Description |
|---|---|
| Chat | Streaming conversation UI with slash commands, tool progress, and token tracking |
| Sessions | Browse, search, and resume past conversations |
| Agents | Create, delete, and switch between Hermes profiles |
| Skills | Browse, install, and manage bundled and installed skills |
| Models | Manage saved model configurations per provider |
| Memory | View/edit memory entries, user profile, and configure memory providers |
| Soul | Edit the active profile's persona (SOUL.md) |
| Tools | Enable or disable individual toolsets |
| Schedules | Create and manage cron jobs with delivery targets |
| Gateway | Configure and control messaging platform integrations |
| Office | Claw3d visual interface setup and management |
| Settings | Provider config, credential pools, backup/import, log viewer, network settings, theme |
| Provider | Notes |
|---|---|
| OpenRouter | 200+ models via single API (recommended) |
| Anthropic | Direct Claude access |
| OpenAI | Direct GPT access |
| Google (Gemini) | Google AI Studio |
| xAI (Grok) | Grok models |
| Nous Portal | Free tier available |
| Qwen | QwenAI models |
| MiniMax | Global and China endpoints |
| Hugging Face | 20+ open models via HF Inference |
| Groq | Fast inference (voice/STT) |
| Local/Custom | Any OpenAI-compatible endpoint |
Local presets are included for LM Studio, Atomic Chat, Ollama, vLLM, and llama.cpp.
Telegram, Discord, Slack, WhatsApp, Signal, Matrix/Element, Mattermost, Email (IMAP/SMTP), SMS (Twilio & Vonage), iMessage (BlueBubbles), DingTalk, Feishu/Lark, WeCom, WeChat (iLink Bot), Webhooks, and Home Assistant.
Exa Search, Parallel API, Tavily, Firecrawl, FAL.ai (image generation), Honcho, Browserbase, Weights & Biases, and Tinker.
npm install
npm run dev
npm run lint
npm run typecheck
npm run test
npm run test:watch
npm run build
Platform packaging:
npm run build:mac
npm run build:win
npm run build:linux
npm run build:rpm # Fedora/RHEL .rpm only
When the app opens for the first time, it will either detect an existing Hermes installation or offer to install it for you.
Supported setup paths in the UI:
OpenRouterAnthropicOpenAILocal LLM via an OpenAI-compatible base URLLocal presets are included for:
Hermes files are managed in:
~/.hermes~/.hermes/.env~/.hermes/config.yaml~/.hermes/hermes-agent~/.hermes/profiles/ — named profile directories~/.hermes/state.db — session history database~/.hermes/cron/jobs.json — scheduled tasks--skip-setup, then completes provider configuration in the GUI.Contributions are welcome! Check out the Contributing Guide to get started. If you're not sure where to begin, take a look at the open issues. Found a bug or have a feature request? File an issue.
For the core agent, docs, and CLI workflows, see the main Hermes Agent repository:
The Hermes Desktop App Changes Everything (Full Setup)
Sharbel A. · 26K views
Hermes Agent just WON (Hermes desktop app)
Alex Finn · 49K views
Hermes Desktop App Full Tutorial: Build Your Own AI Company
THINKERS · 10K views
“Updates to gist are getting lost. It accepts them as normal but the next page load for the gist is the previous version. Twitter accounts describe the same sort of problem for git repos. status.github.com reports "We're …”
“Dotfiles.github.com - A guide to dotfiles on GitHub”
“I've tested so many desktop AI tools, but Hermes with Ollama is my new favorite - here's why - ZDNET — ZDNET”
“😺 LIVE: Mercury-alpha, Codex, and Hermes Desktop - The Neuron — The Neuron”
“Nous Research releases Hermes Desktop, an open-source AI agent for every platform - the-decoder.com — the-decoder.com”
AI
Companies use AI to filter candidates. I just gave candidates AI to choose companies. Career-Ops (career-ops.org, also known as careerops) turns any AI coding CLI into a full job search command center. Instead of manually tracking applications in a spreadsheet, you get an AI-powered pipeline that: Career-ops is agentic: Claude Code navigates career pages with Playwright, evaluates fit by reasoning about your CV vs the job description (not keyword matching), and adapts your resume per listing.
AI
CLI-Anything: Bridging the Gap Between AI Agents and the World's Software 🌐 CLI-Hub: pip install cli-anything-hub then cli-hub install — browse, install, and manage all community-built CLIs. Want to add your own? Open a PR — the hub updates instantly. 🎬 See Demos: Watch AI agents use generated CLIs plus preview, live preview, and trajectory loops to produce real artifacts — CAD builds, 3D scenes, diagrams, gameplay, subtitles, and more.
AI
A self-hosted AI workspace -- meant to be the self-hosted version of the UI experience you get from ChatGPT and Claude. But with more jank and fun. Running on your own hardware, with your own data -- local-first, privacy-first, and no trojan. A full, hover-to-play tour lives on the landing page (docs/index.html). Defaults work out of the box: clone, run, then configure models/search/email inside Settings. Only edit .env for deployment-level overrides like APPBIND, APPPORT, AUTHENABLED, DATABASEURL, or a pre-seeded admin password.
AI
Most AI material teaches in scattered pieces. A paper here, a fine-tuning post there, a flashy agent demo somewhere else. The pieces rarely line up. You ship a chatbot but can't explain its loss curve. You hook a function to an agent but can't say what attention does inside the model that's calling it. This curriculum is the spine. 20 phases, 503 lessons, four languages: Python, TypeScript, Rust, Julia. Linear algebra at one end, autonomous swarms at the other. Every algorithm gets built from raw math first. Backprop. Tokenizer. Attention. Agent loop. By the time PyTorch shows up, you already know what it's doing under the hood. Each lesson runs the same loop: read the problem, derive the math, write the code, run the test, keep the artifact. No five-minute videos, no copy-paste deploys,