Getting Started with Hermes Agent

A practical introduction to Hermes Agent: what it is, where it fits, how to install it, and how to use it safely as an operational assistant.

Hermes Agent is an AI agent runtime for doing real work from the terminal, Discord, and other messaging platforms. It can call tools, read and write files, run commands, search the web, use MCP servers, remember durable preferences, and load reusable skills when a task needs a known workflow.

That makes it more than a chatbot. It is closer to an operator shell with an LLM attached. Useful, sharp, and worth treating with the same respect you give kubectl, talosctl, or a production database prompt.

Where Hermes Fits

Hermes is the day-to-day operational assistant in my agent stack.

LayerRole
CLIFast local work, repo edits, debugging, and one-off commands
DesktopLocal chat-first interface for Windows and macOS users
Discord gatewayConversational control plane for homelab operations
ToolsTerminal, files, browser, web, GitHub, Home Assistant, and more
SkillsReusable procedures that load only when relevant
MemoryDurable facts about preferences, environment, and stable conventions
MCPTyped integrations with external systems and internal services

OpenClaw is still useful as an orchestration and experimentation lineage. Hermes is where I put the repeatable operator workflow: investigate, plan, edit the source of truth, validate, and document the result.

Install Hermes

For macOS and Windows, start with the official Hermes Agent Desktop installer. The Desktop installer is the recommended path when you want both the local app and the command-line runtime.

The full Hermes Agent installation guide also covers command-line-only installs for Linux, macOS, WSL2, and Android/Termux.

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

After installation:

hermes setup
hermes doctor
hermes

hermes setup configures providers, tools, terminal behavior, memory, and messaging integrations. hermes doctor checks whether the runtime is healthy.

First Safe Tasks

Start with low-risk, read-only work:

Summarize this repository's README and identify the build command.
Check the current git status and tell me whether the working tree is clean.
Search my notes for prior decisions about Hermes profiles.

Then move to bounded edits:

Create a draft Markdown outline for a Hermes runbook. Do not modify existing files.
Patch this one documentation file to add the new validation step, then show the diff.

Avoid starting with broad mutation requests like “fix my cluster” or “clean up this repo.” That is how Old World server folklore gets automated at machine speed. Give Hermes scope, constraints, and an acceptance test.

Basic Commands

# Start an interactive session
hermes

# Ask one question and exit
hermes chat -q "What changed in this git diff?"

# Pick or change the model/provider
hermes model

# Check runtime health
hermes doctor

# List configured tools
hermes tools list

# Resume recent work
hermes --continue

Hermes also supports named profiles, skill preloading, cron jobs, webhooks, MCP servers, and gateway platforms. Treat those as power tools, not first-day requirements.

Safety Model

Hermes is most valuable when it can use real tools. That also means the safety model matters.

  • Prefer read-only discovery before mutation.
  • Keep secrets in environment variables, 1Password, or SOPS-encrypted files.
  • Do not paste API keys into chat.
  • Use source control as the change boundary.
  • Ask for diffs before applying risky edits.
  • Validate with real commands, not vibes.

In my homelab, the rule is simple: Forgejo is the source of truth. Hermes can help edit and validate it, but runtime state is not the truth just because a container happens to be running.

Next Steps