- Python 75.5%
- TypeScript 20.9%
- JavaScript 1.4%
- TeX 0.5%
- Shell 0.4%
- Other 1.2%
|
Some checks failed
ci.yaml / Initial commit: Hermod fork of Hermes Agent by Nous Research (push) Failing after 0s
Deploy Site / deploy-vercel (push) Has been cancelled
Deploy Site / deploy-docs (push) Has been cancelled
Docker Build, Test, and Publish / Detect affected areas (push) Has been cancelled
Docker Build, Test, and Publish / build (amd64, type=gha,scope=docker-amd64, type=gha,mode=max,scope=docker-amd64, linux/amd64, ubuntu-latest) (push) Has been cancelled
Docker Build, Test, and Publish / build (arm64, type=gha,scope=docker-arm64, type=gha,mode=max,scope=docker-arm64, linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled
Docker Build, Test, and Publish / publish (amd64, type=gha,scope=docker-amd64, type=gha,mode=max,scope=docker-amd64, linux/amd64, ubuntu-latest) (push) Has been cancelled
Docker Build, Test, and Publish / publish (arm64, type=gha,scope=docker-arm64, type=gha,mode=max,scope=docker-arm64, linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled
Docker Build, Test, and Publish / merge (push) Has been cancelled
auto-fix lint issues & formatting / Generate eslint --fix patch (push) Has been cancelled
auto-fix lint issues & formatting / Apply patch (push) Has been cancelled
Nix flake check / Detect affected areas (push) Has been cancelled
Nix flake check / nix flake check (push) Has been cancelled
Build Skills Index / build-index (push) Has been cancelled
Build Skills Index / trigger-deploy (push) Has been cancelled
Personal fork. See README.md for the full attribution. Forked from https://github.com/NousResearch/hermes-agent (commit 13ce0c5c6). Source tree carried over verbatim with two rebrand commits applied: e81858385 rebrand: Hermod — fork of Hermes Agent by Nous Research 3d62db80d license: credit modifications copyright to the Hermod fork The full upstream history is intentionally not preserved in this fork; the working tree is byte-for-byte identical to upstream HEAD with the two rebrand commits applied on top. |
||
|---|---|---|
| .github | ||
| acp_adapter | ||
| agent | ||
| apps | ||
| assets | ||
| contributors | ||
| cron | ||
| datagen-config-examples | ||
| docker | ||
| docs | ||
| evals | ||
| gateway | ||
| hermes_cli | ||
| locales | ||
| mcp-research-data | ||
| native/fts5_cjk | ||
| nix | ||
| optional-mcps | ||
| optional-skills | ||
| plugins | ||
| providers | ||
| scripts | ||
| skills | ||
| tests | ||
| tests-js | ||
| tools | ||
| tui_gateway | ||
| ui-tui | ||
| web | ||
| website | ||
| .coderabbit.yaml | ||
| .dockerignore | ||
| .env.example | ||
| .envrc | ||
| .gitattributes | ||
| .gitignore | ||
| .hadolint.yaml | ||
| .mailmap | ||
| .npmrc | ||
| .nvmrc | ||
| .prettierignore | ||
| .prettierrc | ||
| .python-version | ||
| AGENTS.md | ||
| batch_runner.py | ||
| cli-config.yaml.example | ||
| cli.py | ||
| constraints-termux.txt | ||
| CONTRIBUTING.es.md | ||
| CONTRIBUTING.md | ||
| docker-compose.windows.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| eslint.config.shared.mjs | ||
| flake.lock | ||
| flake.nix | ||
| hermes | ||
| hermes_bootstrap.py | ||
| hermes_constants.py | ||
| hermes_logging.py | ||
| hermes_state.py | ||
| hermes_state_common.py | ||
| hermes_state_portability.py | ||
| hermes_state_schema.py | ||
| hermes_state_search.py | ||
| hermes_time.py | ||
| LICENSE | ||
| log.txt | ||
| mcp_serve.py | ||
| mini_swe_runner.py | ||
| model_tools.py | ||
| package-lock.json | ||
| package.json | ||
| pyproject.toml | ||
| README.es.md | ||
| README.md | ||
| README.ur-pk.md | ||
| README.zh-CN.md | ||
| registration_lifecycle.py | ||
| run_agent.py | ||
| SECURITY.es.md | ||
| SECURITY.md | ||
| setup-hermes.sh | ||
| setup.py | ||
| sqlite_leak_fix.png | ||
| toolset_distributions.py | ||
| toolsets.py | ||
| trajectory_compressor.py | ||
| utils.py | ||
| uv.lock | ||
Hermod
Hermod is a personal fork of Hermes Agent by Nous Research. All credit for the original design, architecture, and implementation goes to the Hermes team. This fork exists because we wanted to make our own modifications — bug fixes, tweaks, and experiments — on top of the upstream project. If you want the canonical, supported version of Hermes, use the upstream repo.
Hermod is an AI 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.
Use any model you want — OpenRouter, OpenAI, Anthropic, your own endpoint,
and many others.
Switch with hermes model — no code changes, no lock-in.
| A real terminal interface | Full TUI with multiline editing, slash-command autocomplete, conversation history, interrupt-and-redirect, and streaming tool output. |
| Lives where you do | Telegram, Discord, Slack, WhatsApp, Signal, and CLI — all from a single gateway process. Voice memo transcription, cross-platform conversation continuity. |
| A closed learning loop | Agent-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. |
| Scheduled automations | Built-in cron scheduler with delivery to any platform. Daily reports, nightly backups, weekly audits — all in natural language, running unattended. |
| Delegates and parallelizes | Spawn isolated subagents for parallel workstreams. Write Python scripts that call tools via RPC, collapsing multi-step pipelines into zero-context-cost turns. |
| Runs anywhere, not just your laptop | Seven terminal backends — local, Docker, SSH, Singularity, Modal, Daytona, and Vercel Sandbox. Daytona and Modal offer serverless persistence — your agent's environment hibernates when idle and wakes on demand, costing nearly nothing between sessions. Run it on a $5 VPS or a GPU cluster. |
| Research-ready | Batch trajectory generation, trajectory compression for training the next generation of tool-calling models. |
Install
Hermod is installed by cloning this repository and running the local setup script. There is no hosted one-liner — this fork ships its installer in-repo.
git clone https://forgejo.j4f.org.uk/hraisikai/hermod.git
cd hermod
bash setup-hermes.sh
setup-hermes.sh detects your platform (desktop/server vs. Android/Termux),
creates a Python 3.11 virtual environment, installs the right dependency set,
creates .env from the template, symlinks the hermes CLI into a
user-facing bin dir, and offers to run the setup wizard.
If you already have uv and would rather drive the install yourself:
git clone https://forgejo.j4f.org.uk/hraisikai/hermod.git
cd hermod
uv venv .venv --python 3.11
source .venv/bin/activate
uv pip install -e ".[all,dev]"
After installation:
source ~/.bashrc # reload shell (or: source ~/.zshrc)
hermes # start chatting!
Windows: Native Windows runs the CLI, gateway, TUI, and tools without WSL. Install Python 3.11 (e.g. via
winget install Python.Python.3.11) anduv(winget install astral-sh.uv), then runsetup-hermes.shfrom a Git Bash shell.
Getting Started
hermes # Interactive CLI — start a conversation
hermes model # Choose your LLM provider and model
hermes tools # Configure which tools are enabled
hermes config set # Set individual config values
hermes config get # Print individual config values
hermes gateway # Start the messaging gateway (Telegram, Discord, etc.)
hermes setup # Run the full setup wizard (configures everything at once)
hermes update # Update to the latest version
hermes doctor # Diagnose any issues
Full documentation for Hermes (which also applies to Hermod unless noted otherwise) lives at hermes-agent.nousresearch.com/docs.
Migrating from OpenClaw
If you're coming from OpenClaw, Hermes can automatically import your settings, memories, skills, and API keys.
During first-time setup: The setup wizard (hermes setup) automatically
detects ~/.openclaw and offers to migrate before configuration begins.
Anytime after install:
hermes claw migrate # Interactive migration (full preset)
hermes claw migrate --dry-run # Preview what would be migrated
hermes claw migrate --preset user-data # Migrate without secrets
hermes claw migrate --overwrite # Overwrite existing conflicts
What gets imported:
- SOUL.md — persona file
- Memories — MEMORY.md and USER.md entries
- Skills — user-created skills →
~/.hermes/skills/openclaw-imports/ - Command allowlist — approval patterns
- Messaging settings — platform configs, allowed users, working directory
- API keys — allowlisted secrets (Telegram, OpenRouter, OpenAI, Anthropic, ElevenLabs)
- TTS assets — workspace audio files
- Workspace instructions — AGENTS.md (with
--workspace-target)
See hermes claw migrate --help for all options, or use the
openclaw-migration skill for an interactive agent-guided migration with
dry-run previews.
Contributing to Hermod
This is a personal fork. Bug fixes and tweaks land here without an external review process. For the supported, community-contributed version of the same code, see the upstream Hermes Agent repository.
If you want to contribute a change that you think upstream would want too, open it against the upstream repo first. Changes that diverge from upstream intent live here.
Quick start for working on Hermod:
git clone https://forgejo.j4f.org.uk/hraisikai/hermod.git
cd hermod
uv venv .venv --python 3.11
source .venv/bin/activate
uv pip install -e ".[all,dev]"
scripts/run_tests.sh
License
MIT — see LICENSE.
Credits
Hermod is a fork of Hermes Agent, originally built by Nous Research. The original architecture, design, and the bulk of the code are theirs. Any bugs, weirdness, or regressions you find in this fork are ours, not theirs.