Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md
HERMES DESKTOP

Documentation Discord License: MIT Releases Stars Downloads

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!

Languages

  • English: README.md
  • 简体中文: README.zh-CN.md

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.

Install

Download the latest build from the Releases page.

PlatformFile
macOS.dmg
Linux (any).AppImage
Linux (Debian).deb
Linux (Fedora).rpm
Windows.exe (NSIS installer)

Windows (winget)

Once the manifest has been accepted into microsoft/winget-pkgs, you can install with:

winget install NousResearch.HermesDesktop

Until then, download the .exe from the Releases page.

Windows users: The installer is not code-signed. Windows SmartScreen will warn on first launch — click "More info" → "Run anyway".

Fedora (RPM)

sudo dnf install ./hermes-desktop-<version>.rpm

Fedora users: The .rpm is not GPG-signed. If your system enforces signature checking, append --nogpgcheck to the install command. Auto-update is not supported for .rpm builds (limitation of electron-updater); reinstall the new .rpm to update.

macOS

macOS users: The app is not code-signed or notarized. macOS will block it on first launch. To fix this, run the following after installing:

xattr -cr "/Applications/Hermes Agent.app"

Or right-click the app → Open → click Open in the confirmation dialog.

Features

  • Guided first-run install for Hermes Agent with progress tracking and dependency resolution
  • Local or remote backend — run Hermes locally on 127.0.0.1:8642, or connect the desktop app to a remote Hermes API server with URL + API key
  • Multi-provider support — OpenRouter, Anthropic, OpenAI, Google (Gemini), xAI (Grok), Nous Portal, Qwen, MiniMax, Hugging Face, Groq, and local OpenAI-compatible endpoints (LM Studio, Ollama, vLLM, llama.cpp)
  • Streaming chat UI with SSE streaming, tool progress indicators, markdown rendering, and syntax highlighting
  • Token usage tracking — live prompt/completion token counts and cost display in the chat footer, plus a /usage slash command
  • 22 slash commands/new, /clear, /fast, /web, /image, /browse, /code, /shell, /usage, /help, /tools, /skills, /model, /memory, /persona, /version, /compact, /compress, /undo, /retry, /debug, /status, and more
  • Session management — full-text search (SQLite FTS5), date-grouped history, resume and search across conversations
  • Profile switching — create, delete, and switch between separate Hermes environments with isolated config
  • 14 toolsets — web, browser, terminal, file, code execution, vision, image gen, TTS, skills, memory, session search, clarify, delegation, MoA, and task planning
  • Memory system — view/edit memory entries, user profile memory, capacity tracking, and discoverable memory providers (Honcho, Hindsight, Mem0, RetainDB, Supermemory, ByteRover)
  • Persona editor — edit and reset your agent's SOUL.md personality
  • Saved models — CRUD management for model configurations across providers
  • Scheduled tasks — cron job builder (minutes, hourly, daily, weekly, custom cron) with 15 delivery targets
  • 16 messaging gateways — Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Mattermost, Email (IMAP/SMTP), SMS (Twilio/Vonage), iMessage (BlueBubbles), DingTalk, Feishu/Lark, WeCom, WeChat (iLink Bot), Webhooks, Home Assistant
  • Hermes Office (Claw3d) — visual 3D interface with dev server and adapter management
  • Backup, import & debug dump — full data backup/restore and system diagnostics from Settings
  • Log viewer — view gateway and agent logs directly from the Settings screen
  • Auto-updater — check for and install updates via electron-updater
  • i18n ready — internationalization framework with English locale covering all screens, ready for community translations
  • Test suite — SSE parser, IPC handlers, preload API surface, installer utilities, and constants validation with Vitest

Preview

Office
Office
Chat
Chat
Profiles
Profiles
Tools
Tools
Settings
Settings
Skills
Skills

How It Works

On first launch, the app:

  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 remote API URL and API key, validates the connection, and skips local install.
  4. Prompts for an API provider or local model endpoint.
  5. Saves provider config and API keys through Hermes config files.
  6. Launches the main workspace once setup is complete.

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.

Screens

ScreenDescription
ChatStreaming conversation UI with slash commands, tool progress, and token tracking
SessionsBrowse, search, and resume past conversations
AgentsCreate, delete, and switch between Hermes profiles
SkillsBrowse, install, and manage bundled and installed skills
ModelsManage saved model configurations per provider
MemoryView/edit memory entries, user profile, and configure memory providers
SoulEdit the active profile's persona (SOUL.md)
ToolsEnable or disable individual toolsets
SchedulesCreate and manage cron jobs with delivery targets
GatewayConfigure and control messaging platform integrations
OfficeClaw3d visual interface setup and management
SettingsProvider config, credential pools, backup/import, log viewer, network settings, theme

Supported Providers

LLM Providers

ProviderNotes
OpenRouter200+ models via single API (recommended)
AnthropicDirect Claude access
OpenAIDirect GPT access
Google (Gemini)Google AI Studio
xAI (Grok)Grok models
Nous PortalFree tier available
QwenQwenAI models
MiniMaxGlobal and China endpoints
Hugging Face20+ open models via HF Inference
GroqFast inference (voice/STT)
Local/CustomAny OpenAI-compatible endpoint

Local presets are included for LM Studio, Ollama, vLLM, and llama.cpp.

Messaging Platforms

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.

Tool Integrations

Exa Search, Parallel API, Tavily, Firecrawl, FAL.ai (image generation), Honcho, Browserbase, Weights & Biases, and Tinker.

Development

Prerequisites

  • Node.js and npm
  • A Unix-like shell environment for the Hermes installer
  • Network access for downloading Hermes during first-run install

Install dependencies

npm install

Start the app in development

npm run dev

Run checks

npm run lint npm run typecheck

Run tests

npm run test npm run test:watch

Build the desktop app

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

First-Time Setup

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:

  • OpenRouter
  • Anthropic
  • OpenAI
  • Local LLM via an OpenAI-compatible base URL

Local presets are included for:

  • LM Studio
  • Ollama
  • vLLM
  • llama.cpp

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

Tech Stack

  • Electron 39 — cross-platform desktop shell
  • React 19 — UI framework
  • TypeScript 5.9 — type safety across main and renderer processes
  • Tailwind CSS 4 — utility-first styling
  • Vite 7 + electron-vite — fast dev server and build tooling
  • better-sqlite3 — local session storage with FTS5 full-text search
  • i18next — internationalization framework
  • Vitest — test runner

Notes

  • The desktop app depends on the upstream Hermes Agent project for agent behavior and tool execution.
  • The built-in installer runs the official Hermes install script with --skip-setup, then completes provider configuration in the GUI.
  • Local model providers do not require an API key, but the compatible server must already be running.
  • Alternative npm registry routes are supported for environments with restricted network access.

Contributing

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.

Related Project

For the core agent, docs, and CLI workflows, see the main Hermes Agent repository:

关于 About

Desktop Companion for Hermes Agent

语言 Languages

TypeScript88.3%
CSS10.3%
Python0.7%
JavaScript0.6%
HTML0.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
144
Total Commits
峰值: 45次/周
Less
More

核心贡献者 Contributors