curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
The install script auto-detects Termux and adjusts accordingly (uses Python stdlib venv + pip instead of uv).
After installation, reload your shell:
source ~/.bashrc # bash source ~/.zshrc # zsh
Or just close and reopen your terminal.
Run the model wizard:
hermes model
The base URL must end with /v1 — no trailing slash.
Hermes uses auxiliary models for background tasks: vision, web extraction, context compression, session search, etc. When your main provider is Synthetic, you need to point all aux tasks at Synthetic too — otherwise they fall back to OpenRouter (which won’t work without an OpenRouter key).
See the models page for model details and pricing to choose which models to use for each task.
Kimi K2.5 is the only vision-capable model on Synthetic. Set it for image analysis to work.
hf:moonshotai/Kimi-K2.5 and hf:nvidia/Kimi-K2.5-NVFP4 are aliased internally and can be used interchangeably. Either one works.
hermes config set auxiliary.vision.provider synthetic hermes config set auxiliary.vision.model "hf:moonshotai/Kimi-K2.5"
These handle fast background tasks (summarization, search, approvals, etc.). Pick models based on what you see on the models page — cheaper/faster models like Nemotron 3 Super work well for most aux tasks, while compression benefits from a stronger model.
# Web extraction (summarizes fetched pages) hermes config set auxiliary.web_extract.provider synthetic hermes config set auxiliary.web_extract.model "YOUR_CHOICE_HERE" # Context compression (summarizes long conversations to fit context) hermes config set auxiliary.compression.provider synthetic hermes config set auxiliary.compression.model "YOUR_CHOICE_HERE" # Session search (searches past conversation transcripts) hermes config set auxiliary.session_search.provider synthetic hermes config set auxiliary.session_search.model "YOUR_CHOICE_HERE" # Skills hub (skill search/install assistance) hermes config set auxiliary.skills_hub.provider synthetic hermes config set auxiliary.skills_hub.model "YOUR_CHOICE_HERE" # Approval (auto-approves low-risk terminal commands) hermes config set auxiliary.approval.provider synthetic hermes config set auxiliary.approval.model "YOUR_CHOICE_HERE" # MCP tool routing hermes config set auxiliary.mcp.provider synthetic hermes config set auxiliary.mcp.model "YOUR_CHOICE_HERE" # Memory flush (consolidates memories across sessions) hermes config set auxiliary.flush_memories.provider synthetic hermes config set auxiliary.flush_memories.model "YOUR_CHOICE_HERE"
Adds two tools:
hermes plugins install gwyntel/hermes-synthetic-plugin
echo "SYNTHETIC_API_KEY=your-key-here" >> ~/.hermes/.env
hermes tools enable synthetic
SYNTHETIC_API_KEY must be set in ~/.hermes/.env specifically — the plugin reads this variable. It may differ from the key stored during hermes model setup. Double-check it’s there.
Tool and plugin changes don’t apply mid-conversation. Start fresh:
hermes
Or if already in a session:
/reset