OpenSource-Hub

hermes-agent

CLI Tool

NousResearch/hermes-agent

A self-improving AI agent with a built-in learning loop.

Overview

Hermes Agent is a self-improving AI agent built by Nous Research. It features a built-in learning loop that creates skills from experience and nudges itself to persist knowledge. It supports multiple messaging platforms, any LLM provider, and runs on various backends.

README Preview

\n  \n\n\n# Hermes Agent ☤\n\n\n  \n  \n  \n  \n  \n\n\n**The self-improving AI agent built by [Nous Research](https://nousresearch.com).** It's the only agent with a built-in learning loop — it creates skills from experience, improves them during use, nudges itself to persist knowledge, searches its own past conversations, and builds a deepening model of who you are across sessions. Run it on a $5 VPS, a GPU cluster, or serverless infrastructure that costs nearly nothing when idle. It's not tied to your laptop — talk to it from Telegram while it works on a cloud VM.\n\nUse any model you want — [Nous Portal](https://portal.nousresearch.com), [OpenRouter](https://openrouter.ai) (200+ models), [NVIDIA NIM](https://build.nvidia.com) (Nemotron), [Xiaomi MiMo](https://platform.xiaomimimo.com), [z.ai/GLM](https://z.ai), [Kimi/Moonshot](https://platform.moonshot.ai), [MiniMax](https://www.minimax.io), [Hugging Face](https://huggingface.co), OpenAI, or your own endpoint. Switch with `hermes model` — no code changes, no lock-in.\n\n\nA real terminal interfaceFull TUI with multiline editing, slash-command autocomplete, conversation history, interrupt-and-redirect, and streaming tool output.\nLives where you doTelegram, Discord, Slack, WhatsApp, Signal, and CLI — all from a single gateway process. Voice memo transcription, cross-platform conversation continuity.\nA closed learning loopAgent-curated memory with periodic nudges. Autonomous skill creation after complex tasks. Skills self-improve during use. FTS5 session search with LLM summarization for cross-session recall. Honcho dialectic user modeling. Compatible with the agentskills.io open standard.\nScheduled automationsBuilt-in cron scheduler with delivery to any platform. Daily reports, nightly backups, weekly audits — all in natural language, running unattended.\nDelegates and parallelizesSpawn isolated subagents for parallel workstreams. Write Python scripts that call tools via RPC, collapsing multi-step pipelines into

FAQ (3)

Troubleshooting
Why does 'hermes desktop' fail with 'ENOENT: no such file or directory, rename electron -> Hermes' on Linux?

The error is caused by a corrupt cached Electron distribution zip in the per-user Electron download cache. Delete the cache file and re-run the build.

- For Linux: rm ~/.cache/electron/electron-v*.zip (or the specific version, e.g., rm ~/.cache/electron/electron-v40.9.3-linux-x64.zip)
- For macOS: rm ~/Library/Caches/electron/*.zip
- For macOS with custom cache: respect XDG_CACHE_HOME or ELECTRON_CACHE if set.

After clearing the corrupt zip, execute 'hermes desktop' again. The build will re-download a clean Electron distribution and complete successfully. This is a known issue tracked in #39127 (self-healing cache purge).

GitHub Issue #37544
Troubleshooting
Why does the chat scrollbar jump backward in Hermes Desktop app?

This is a known bug in the useThreadScrollAnchor logic (thread-virtualizer.tsx). A ResizeObserver disarm condition misfires on interim scroll events, causing the sticky-bottom behavior to disengage temporarily. The fix is already merged in PR #38221 and will be included in Hermes Desktop v0.15.2. Until then, as a workaround, minimize composer resizes (e.g., close suggestion chips, avoid large code block re-renders) or manually keep the scroll at the bottom.

GitHub Issue #37997
Troubleshooting
Why does Hermes disk-cleanup delete cron/jobs.json and how can I stop it?

This occurs when older tracked.json entries (from Hermes versions before the cron classification fix) label cron/jobs.json as "cron-output", causing disk-cleanup to delete it after 14 days. To prevent deletion, manually edit the tracked.json file (at ~/.hermes/disk-cleanup/tracked.json) and remove any entries for cron/jobs.json or the cron/ directory. Restart Hermes afterward. Newer versions (after commit d473e7c93) avoid adding such entries, but stale ones must be cleared manually.

GitHub Issue #37721