Hermes Agent is not merely a chat model. It is an open-source automation layer that combines terminal, files, browser, web, memory, skills, scheduled tasks, messaging channels and MCP tools inside one agent loop. This guide explains what it is, how its architecture works, how to install it, how to configure it safely and how to turn it into practical workflows across industries.
hermes --versionv0.18.2
hermes doctor✓ runtime ✓ provider ✓ tools ✓ gateway
hermes chat --toolsets debuggingReady: web + file + terminal
A conventional chatbot produces text. An agent decomposes objectives, calls tools, reads real systems, verifies output and continues when needed. Hermes Agent provides that loop as a provider-independent, multi-channel and extensible runtime.
It plans a task, selects tools, inspects results, delegates subtasks when needed and continues execution inside the same session.
Commands can run locally, in an isolated Docker container, on a remote server over SSH or in cloud sandboxes.
It stores preferences and environment facts in bounded memory files while keeping longer procedures in on-demand skills.
It runs one-shot or recurring tasks from natural language or cron expressions and delivers results to a selected channel.
External tool servers such as GitHub, filesystems, databases, browsers and enterprise APIs can be loaded dynamically.
It provides user allowlists, dangerous-command approval, write boundaries, container isolation and MCP environment filtering.
Hermes does not know your business process by default. Strong results require deliberate design of data access, tool permissions, SOUL.md, project context, skills, verification criteria and human approval.
A request from CLI, desktop, dashboard or messaging is combined with SOUL.md, project context, memory, active skills and session history.
The model is called through Nous Portal, OpenRouter, Anthropic, OpenAI Codex, GitHub Copilot, Ollama, vLLM or another compatible endpoint.
The model selects web, files, terminal, browser, memory, cron, media or MCP tools from enabled toolsets.
Command risk, file paths, session authorization, platform allowlists and sandbox rules are evaluated before execution.
Tool output returns to the model. The agent can analyze errors, try another route or delegate subtasks.
Tests, logs and objectives are verified; durable preferences can become memory, procedures can become skills and recurring work can become cron jobs.
The examples below are not prebuilt products. They are practical architecture patterns derived from Hermes capabilities and integrations. Data sources, permissions, validation and human approval must be designed for each industry.
It can inspect repositories, install dependencies, run tests, analyze logs and prepare controlled change plans.
It can periodically inspect disk, memory, services, SSL expiry, failed cron jobs and web-server logs.
It can classify product data, report inventory mismatches, draft content and route requests to the right team.
It can validate bookings, verify flights, prepare vehicle and driver plans and notify staff about missing data.
It can summarize PMS data, classify early check-in requests, prepare housekeeping lists and deliver shift briefs.
It can research sources, create briefs, draft multilingual content, schedule work and summarize campaign metrics.
It can classify requests by topic and priority, draft grounded responses and escalate critical cases.
It can validate listings, identify missing fields, classify buyer needs and prepare advisor briefings.
It can summarize resources, generate level-appropriate exercises, prepare assessment drafts and schedule reviews.
It can support reminders, document checks and general information, but must not diagnose or decide treatment.
It can summarize sensor and maintenance data, flag anomalies and run authorized Home Assistant automations.
It can support log correlation, IOC research, configuration review and incident reporting.
Hermes Desktop provides both the desktop application and command-line experience.
hermes desktopThe official installer prepares the Python environment and supporting dependencies.
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashRun the official PowerShell installer, then validate from a new terminal with doctor.
iex (irm https://hermes-agent.nousresearch.com/install.ps1)An isolated virtual environment reduces dependency conflicts.
python -m venv .venv
source .venv/bin/activate
pip install -U hermes-agent
hermesThe agent runs in a container while config, keys, sessions, memory, skills and cron remain under ~/.hermes on the host.
docker run -d \
--name hermes \
--restart unless-stopped \
-v ~/.hermes:/opt/data \
nousresearch/hermes-agent:latest gateway runDo not run continuously as root; grant only required directories and commands.
Validate Python, Node, ffmpeg, ripgrep, configuration and provider status.
Use hermes model or hermes setup --portal; store keys in ~/.hermes/.env rather than source code.
Use local for personal testing; prefer Docker, SSH or a managed sandbox for production, client data and automation.
Prefer task-specific sets such as web, file, terminal or safe instead of all.
Validate delivery, failure, restart and approval behavior before production.
Checks installation, health, model and tool status.
hermes --version
hermes doctor
hermes model
hermes tools
hermes profileRuns the gateway with persistent state and automatic restart.
services:
hermes:
image: nousresearch/hermes-agent:latest
container_name: hermes
restart: unless-stopped
command: gateway run
ports:
- "8642:8642"
- "9119:9119"
volumes:
- ~/.hermes:/opt/data
environment:
- HERMES_DASHBOARD=1Uses the Docker backend, smart approvals and cron deny.
terminal:
backend: docker
cwd: /workspace
timeout: 180
approvals:
mode: smart
timeout: 60
cron_mode: deny
mcp_reload_confirm: true
destructive_slash_confirm: trueConfigures platforms, installs the service and follows logs.
hermes gateway setup
hermes gateway install
hermes gateway start
hermes gateway status
tail -f ~/.hermes/logs/gateway.log| Provider | Setup | Best suited for |
|---|---|---|
| Nous Portal | hermes setup --portal | Model plus four tool-gateway capabilities through one OAuth flow |
| OpenRouter | OPENROUTER_API_KEY | Trying multiple models through one API |
| Anthropic | hermes model | Using Claude through OAuth or API key |
| OpenAI Codex | hermes model | Codex-focused work through ChatGPT OAuth |
| GitHub Copilot | hermes model | Model access through GitHub device flow or CLI auth |
| Ollama | Yerel OpenAI uyumlu endpoint | Keeping inference local and reducing internet dependency |
| vLLM | Self-hosted OpenAI uyumlu endpoint | High-volume private model serving on GPU infrastructure |
This is the source of truth for configuration, credentials, memory, skills, cron, sessions and logs. Build backups around it.
~/.hermes/
├── config.yaml
├── .env
├── auth.json
├── SOUL.md
├── memories/
├── skills/
├── cron/
├── sessions/
└── logs/web_search, web_extractCurrent-source discovery and content extraction
read_file, write_file, patch, search_filesReading, creating, modifying and searching files
terminal, process, read_terminalCommand execution and process management
browser, CDPInteractive web and browser automation
vision, image_gen, video, ttsVision analysis, generation, video and speech
memory, session_searchPersistent facts and cross-session search
skill_view, skill_manage, skills_listProcedures loaded on demand
delegate_taskSplitting work across isolated subagents
cronjobRecurring and one-shot agent tasks
homeassistantAuthorized smart-home and IoT actions
mcp_<server>_<tool>Dynamic capabilities from external tool servers
Do not expose every tool on every channel. Configure sets per task and platform. A customer bot may disable terminal while an internal CLI enables debugging.
| Backend | Where it runs | Isolation | Best use |
|---|---|---|---|
local | The host running Hermes | None | Personal development and trusted tasks |
docker | Persistent isolated container | High | Production, testing and safer execution |
ssh | Remote server | Network and user boundary | VPS management and remote compute |
modal | Cloud sandbox | Cloud VM | Ephemeral workloads and evaluations |
daytona | Managed workspace | Managed container | Team development environments |
singularity | Apptainer/Singularity container | Namespace | HPC and shared systems |
Character budget for environment facts, project rules and compact durable notes.
Character budget for user preferences, communication style and expectations.
Long procedures load only when relevant.
SQLite full-text search retrieves relevant past sessions.
User preferences, environment facts, project rules and durable working standards.
Installation, troubleshooting, brand voice, industry processes and repeatable tool sequences.
coderSeparate Git/SSH tooling, project skills and technical memory.
supportKnowledge base, restricted messaging and personal-data rules.
researchWeb, browser, source-validation skill and a separate budget.
operationsCron, reporting channels and only required API scopes.
A profile separates Hermes state. Local may still share OS-user access. Real isolation also requires separate backends, OS users, containers and credential scopes.
hermes gateway setup shows configured platforms and offers to start the service.
Use DM pairing and allowlists; do not expose terminal and file tools in public channels.
CLI may use broader tools while customer messaging exposes only safe, necessary tools.
Use systemd on Linux or launchd on macOS and forward gateway logs centrally.
The ability to message a bot must not imply permission to run terminal, file, database or enterprise API tools. Validate platform identity and tool authorization separately.
every 2hCheck disk, memory, load, failed services and critical logs; report evidence and next steps when needed.
0 9 * * *Summarize yesterday's orders, cancellations, refunds, low stock and failed payments; change nothing.
daily 06:30Order today's transfers, flag missing flight or vehicle information and send to operations.
Monday 08:00Report SSL certificates expiring within 30 days with domain, date and verification method.
Friday 15:00Research important developments from the last week using primary sources and create an executive summary.
no-agentRun a prepared script and deliver stdout unchanged to the target channel.
Natural language, classic cron and manual trigger examples.
hermes cron create "every 2h" "Check server status and report actionable risks"
hermes cron create "0 9 * * *" "Prepare the daily operations brief"
hermes cron list
hermes cron run <job-id>
hermes cron pause <job-id>
hermes cron resume <job-id>Model Context Protocol exposes external tool servers through a standard interface. A server must not be trusted merely because it works; review source code, tool manifests, credential scope and allowed_tools.
Exposes issues, pull requests, repository search and project operations as tools.
Custom MCP can provide read-only queries, reporting or controlled procedures.
Provides file workflows restricted to explicit roots.
Turns CRM, ERP, PMS, accounting or support systems into narrow tools.
A baseline example exposing only a specified project directory.
mcp_servers:
filesystem:
command: npx
args:
- -y
- @modelcontextprotocol/server-filesystem
- /home/hermes/projects
allowed_tools:
- read_file
- list_directory
- search_filesCreates an independent agent profile and an MCP preset.
hermes profile create coder
coder setup
coder chat
hermes mcp add codex --preset codex
hermes mcp list
hermes mcp serveDesktop veya CLI + local backendFastest setup; the local backend may access files available to the OS user.
Host Hermes + docker backendThe agent runs on the host while commands execute in a persistent hardened container.
Docker Compose + ~/.hermes + reverse proxyUse a service user, firewall, TLS, backups, log rotation and monitoring.
Gateway VPS + SSH backendUse separate users and restricted sudo policies on each target; rotate keys.
Ayrı HERMES_HOME + ayrı credentialsProfiles separate state but are not sandboxes; restrict backend and workspace separately.
Modal veya Daytona backendMonitor hibernation, timeouts, data residency and cost settings.
Allowlists, DM pairing and private-channel policies.
smart, manual or off; use smart/manual in production and deny for cron.
Protected paths and HERMES_WRITE_SAFE_ROOT restrict targets.
Capability dropping, no-new-privileges, PID and tmpfs limits.
Only safe and explicitly configured environment variables reach subprocesses.
Checks project files for prompt injection and suspicious instructions.
State separation across platforms, users and cron sessions.
Validates backend paths against allowlists to reduce shell-injection risk.
No single switch makes an agent safe. Identity, network, operating system, tools, model, data, process and human approval must be designed together.
approvals.mode: off disables dangerous-command approvals. Consider it only in fully isolated, disposable and trusted CI/container environments, never on client data, primary servers or messaging gateways.
Investigate the increase in 5xx errors during the last 30 minutes using read-only commands only. Correlate Nginx, PHP-FPM and system resources by timestamp. Do not restart services. Report evidence, likely root cause, confidence and the next step requiring approval.
Analyze the project, reproduce the issue with existing tests, write a change plan, modify only relevant files, then run tests and lint. Do not hide failing tests. Summarize changed files and verification output.
Check managed servers for disk above 80%, inode above 75%, SSL under 30 days, sustained load for 10 minutes and failed systemd services. Summarize healthy results briefly and provide evidence for actionable issues.
Order today's confirmed bookings by time. Validate flight number, terminal, passenger count, luggage, vehicle and driver. List missing or conflicting records separately. Do not message customers; prepare a draft for operations only.
Compare items sold in the last 24 hours with inventory movements. Find negative stock, high cancellation, zero price and order-inventory mismatches. Do not modify data; report SKU, evidence and recommended validation.
Classify new tickets into technical, billing, sales, security and general categories. Prioritize urgent security or data-loss signals. If no verified knowledge-base answer exists, do not invent a definitive answer and escalate for human review.
Split the topic into regulation, official documentation, research and market data. Find current primary sources for each. When sources conflict, present both views and label inferences.
Review only the specified project directory for dependency risk, secret leakage, incorrect permissions and unsafe configuration. Do not scan networks or contact external systems. Report file, line, impact and a safe remediation recommendation.
The install directory may not be in PATH or the terminal may need reopening.
Open a new terminal, apply PATH configuration and run hermes doctor.
The API key, OAuth session, model entitlement or provider name is invalid.
Re-select the provider with hermes model, then verify ~/.hermes/.env permissions and quota.
The toolset may be disabled, the platform preset restricted or credentials missing.
Inspect enabled sets with hermes tools and enable only what is required.
The Docker daemon, user group access, image pull or mount path may be failing.
Validate the host with docker info and docker ps, then check cwd and mount paths.
The token, webhook/polling, allowlist, DM pairing or service state may be wrong.
Check hermes gateway status and gateway.log, then validate platform setup.
Delivery target, channel ID, toolset or an agent failure may be involved.
Run the job manually with hermes cron run and test execution and delivery separately.
The command, package manager, cwd, environment or OAuth setup may be invalid.
Run the same MCP command outside Hermes, explicitly define required env values and filter tools.
Profile directory and terminal.cwd are different; local may use the launch directory.
Set an absolute terminal.cwd for each profile and configure sandbox boundaries separately.
The codebase uses the MIT license. Model providers, web tools, messaging services, VPS, GPU and third-party APIs may still cost money.
No. It is an agent runtime and tool layer that connects to Nous Portal, OpenRouter, Anthropic, Ollama, vLLM or another supported provider.
Yes. Use Hermes Desktop or the official PowerShell installer. WSL2 or Docker may be more consistent for Linux-dependent workflows.
Yes. Docker or a service install can run gateway, cron and messaging continuously. Use persistent state, backups, log rotation, monitoring and a service account.
Core agent functions can use local endpoints such as Ollama or vLLM. Web, cloud browser, messaging and external APIs may still require internet.
It provides defense-in-depth controls, but no LLM agent should be considered safe with unrestricted production access. Combine least privilege, sandboxing, allowlists, human approval, backups and monitoring.
Profiles separate config, memory, sessions, skills, cron and state. Local may share OS-user filesystem access. Real isolation requires a separate backend, user or container.
Yes. No-agent mode can run a prepared script on schedule and deliver stdout directly.
MCP adds GitHub, database, CRM, ERP or custom API operations through standard tool schemas. Review source code, tools and credential scope.
The gateway supports WhatsApp among many platforms. Customer messaging still requires policy, consent, personal-data and authorization controls.
Yes. Profiles use separate HERMES_HOME, config, memory, sessions, skills and gateway state. Plan resources, ports, credentials and workspaces.
No. Content and technical SEO provide a strong foundation, but rankings cannot be guaranteed. Freshness, performance, crawlability, internal links, authority and user value all matter.
Official documentation and feature overview
Current releases and change history
Windows, Linux, macOS, WSL2 and Termux installation
config.yaml, directories and terminal backends
Cloud and local model providers
Built-in tool registry
Skill creation and management
MEMORY.md, USER.md and session memory
Cron, delivery and no-agent mode
Messaging platforms and service
Approvals, isolation, files and MCP security
Container deployment and persistent state
Independent agent profiles
Agent core, tools, sessions and gateway architecture
Hermes Agent evolves rapidly. Version, tool-count and platform information was verified on July 28, 2026. Recheck official releases and documentation before production.
Get technical support for VPS deployment, Docker isolation, custom skills, MCP integrations, messaging gateways, cron automation and industry-specific workflows.
This is an independent technical guide. Eka Software and Information Systems is not officially affiliated with Nous Research or Hermes Agent.