Skip to content
Intura
Getting Started with AIIntermediate12 min read

How to Set Up Hermes Agent for SEO Optimization: Install, Tools, and Skills Step by Step

Hermes Agent is the open-source, MIT-licensed AI agent from Nous Research that runs in your terminal, remembers past work, and writes its own skills. This guide takes you from a blank machine to a working SEO agent: what to install, which model and search keys you need, the safety settings to change first, and a first audit prompt to test it.

  • #hermes-agent
  • #seo
  • #ai-agent
  • #nous-research
  • #seo-automation
  • #setup-guide
  • #open-source
Hermes Agent is an open-source AI agent from Nous Research that you install on your own machine, point at a language model, and give tools: web search, a browser, your terminal, files, and any MCP server you connect. For SEO work, that combination matters more than the model. An agent that fetches your live page, reads your Search Console data, and remembers last week's audit gives you findings you can check. A chat window that guesses gives you slop. This is the first of three guides. Here you install Hermes, pick a model, turn on web search, lock down the settings that let it run commands, and run one SEO audit to prove the setup works. The second guide connects Google Search Console and DataForSEO and turns your SEO routines into skills. The third covers how to review what the agent hands back. Every command and config key below was checked against the official Hermes Agent documentation (hermes-agent.nousresearch.com/docs) on 15 September 2026. Hermes ships updates often, so if a command fails, run hermes doctor and compare against the docs.

How do you install and configure Hermes Agent for SEO?

  1. 1

    Read the install script, then run it

    Open https://hermes-agent.nousresearch.com/install.sh in a browser and skim it before piping it into bash. It is the official script, but reading what you run is a habit worth keeping for software that can execute commands on your machine. Then run the one-line installer for your platform. It clones the repo, creates a virtual environment, installs Python 3.11, Node.js, ripgrep, and ffmpeg, and puts the hermes command on your PATH.

    Terminal
    # Linux, macOS (Apple Silicon), WSL2, Termux
    curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
    
    # Windows (PowerShell)
    iex (irm https://hermes-agent.nousresearch.com/install.ps1)
  2. 2

    Reload your shell and run hermes doctor

    Reload your shell so the hermes command is found, then run hermes doctor before anything else. If you see "hermes: command not found", the reload is what is missing. hermes doctor checks your config and dependencies; hermes doctor --fix repairs what it can. Clear every problem it reports now. A half-broken install tends to fail later, mid-task, when the agent reaches for a tool that never loaded.

    Terminal
    source ~/.bashrc      # or: source ~/.zshrc on macOS
    hermes doctor
    hermes doctor --fix   # only if doctor reports problems
  3. 3

    Connect a model with hermes model

    Run hermes model to open the provider wizard, sign in or paste an API key, and choose a default model with at least 64,000 tokens of context. For SEO audits, context is the limit you hit first: a fetched page, its HTML head, a competitor page, and your instructions can fill a small window before the agent writes a word. If you pay for Nous Portal, hermes setup --portal covers the model plus web search, browser, image generation, and TTS with one OAuth sign-in. Inside a chat, /model only switches between models you have already configured. Adding a provider always goes through hermes model.

    Terminal
    hermes model
    
    # Nous Portal subscribers only: model + tool gateway in one step
    hermes setup --portal
  4. 4

    Pin a web search backend the agent can rely on

    Add one search API key to ~/.hermes/.env, then pin that backend in config so Hermes does not quietly switch providers. With no keys, Hermes rotates across the public free tiers of Exa, Parallel, Firecrawl, and Keenable. That is fine for a first try and a poor fit for SEO, where you want the same backend on every run so results stay comparable. Firecrawl is the default and handles both search and page extraction. If several keys are set and nothing is pinned, Hermes picks the first it finds in this order: Tavily, Perplexity, Exa, Parallel, Firecrawl, SearXNG, Brave, DDGS. Pinning search_backend and extract_backend, and turning off the keyless fallback, removes the guesswork.

    Terminal
    # add to ~/.hermes/.env
    FIRECRAWL_API_KEY=fc-your-key-here
    
    # then pin the backend
    hermes config set web.search_backend firecrawl
    hermes config set web.extract_backend firecrawl
    hermes config set web.keyless_fallback false
  5. 5

    Set approvals to manual and lock your secrets file

    Switch command approvals to manual and restrict your .env file before the agent touches a real site. The default mode, smart, uses a second model to judge risk and auto-approves commands it rates low-risk. SEO work rarely needs the agent to run anything destructive, so being asked every time costs little and catches the one time it decides to "tidy up" a folder. Hermes also keeps a hard blocklist (rm -rf /, fork bombs) that no setting can override. Keep API keys only in ~/.hermes/.env with chmod 600. If you later run Hermes as a Telegram or Slack bot, the gateway denies every user until you configure an allowlist; leave that default alone until you know who needs access.

    Terminal
    hermes config set approvals.mode manual
    chmod 600 ~/.hermes/.env
  6. 6

    Write an AGENTS.md with the site facts the agent must not guess

    Create one working folder per site, for example ~/seo/example-com, and put an AGENTS.md in it listing the facts the agent must never guess. Hermes loads AGENTS.md from the folder you start it in and up the git root chain, so launching hermes inside that folder gives every session the context. Include the domain and locale structure, the CMS, sections that are off-limits, banned words, and where product facts live. Keep it tight: ten specific rules beat a page of vague ones, and context files in subdirectories are capped at 8,000 characters. One gotcha: Hermes loads only one project context type per session, first match wins, and AGENTS.md outranks CLAUDE.md and .cursorrules. Tone that should apply everywhere belongs in ~/.hermes/SOUL.md instead.

  7. 7

    Run a first audit on a page you know well

    Start hermes inside your site folder and give it a narrow, checkable task: audit one URL you already know. Knowing the page is the point. Within a minute you can tell whether the agent actually fetched it (it quotes your real title tag and H1) or reconstructed a plausible page from training data (it describes headings you do not have). Watch the tool calls as it works. If no web_extract or browser call happens before it starts listing issues, the audit is fiction. Stop it and recheck your search backend from step 4.

    Prompt
    Audit this single page for on-page SEO: https://example.com/your-page
    
    1. Fetch the live page first. Quote the exact <title>, meta description, canonical URL, H1, and every H2.
    2. List an issue only if you can point to the exact element or text that causes it.
    3. For each issue give: element, current value, why it matters, a specific fix.
    4. Label anything you could not verify from the fetched page as UNVERIFIED.
    5. Do not estimate traffic, rankings, or search volume. You have no data source for that yet.
    
    Save the result to ./audits/<page-slug>-<YYYY-MM-DD>.md

What should your AGENTS.md and config look like?

AGENTS.md for one site folder
# Site: example.com

## Facts (never guess these)
- Locales: /en and /id, every URL is locale-prefixed
- CMS: Next.js, content lives in the repo
- Primary market: Indonesia
- Source of truth for product facts: https://example.com/pricing

## Rules
- Never edit files outside ./audits and ./briefs
- Never publish, push, or submit anything to Search Console
- Every number needs a URL or a named data source
- Mark anything you could not verify as UNVERIFIED
- Banned words in drafts: delve, leverage, seamless, robust, game-changer, unlock

## Output
- Audits: ./audits/<slug>-<YYYY-MM-DD>.md
- Briefs: ./briefs/<keyword>-<YYYY-MM-DD>.md

Specific beats long. The "never submit anything to Search Console" rule starts to matter once you connect it in guide two.

config.yaml: web search and approvals
approvals:
  mode: manual

web:
  search_backend: firecrawl
  extract_backend: firecrawl
  keyless_fallback: false

Open the file with hermes config edit, or set each key with hermes config set. Run hermes config path to confirm which file you are editing.

Which web search backend should an SEO agent use?

Which web search backend should an SEO agent use?
BackendSearch / extractFree tier (Hermes docs, Sep 2026)Fit for SEO work
FirecrawlBoth (Hermes default)500 credits/monthAll-rounder: full page fetches for audits
TavilyBothKeyless optionResearch queries; supports crawling
ExaBoth1,000/monthSearch and extract, no crawling
Brave SearchSearch only2,000 queries/monthPair with Firecrawl for extraction
SearXNGSearch onlySelf-hosted, no API billPrivate, but you maintain the server
DDGSSearch onlyFree, no keyTesting; pair with an extract backend

Setup details that save time later

  • Give SEO its own profile if Hermes does other work

    hermes profile create seo makes an isolated Hermes instance with its own settings, memory, and skills. Switch with hermes profile use seo, or pass -p seo on a single command. Run hermes config path afterwards so you know which config file you are editing. After a few weeks the payoff is a memory full of your sites and past findings, not mixed with unrelated tasks.

  • Confirm which context file actually loaded

    Hermes loads one project context type per session in this order: .hermes.md, AGENTS.override.md, AGENTS.md, CLAUDE.md, .cursorrules. If your site repo already has a CLAUDE.md for another tool and you add AGENTS.md, the CLAUDE.md is ignored. Put your SEO rules in the file that wins.

  • Update with a backup

    hermes update --check shows what would change; hermes update --backup snapshots your Hermes home folder before pulling. Skills and memory get more valuable the longer you use them, so the backup flag is cheap insurance.

  • Share hermes dump, not your config, when asking for help

    hermes dump exports a redacted summary of your setup. That is what belongs in a GitHub issue or a team chat, rather than a config file that may hold credentials.

Frequently asked questions about Hermes Agent for SEO

How do you set up Hermes Agent for SEO optimization?

Install it with the official one-line script, run hermes doctor, connect a model with at least 64,000 tokens of context through hermes model, add a web search key such as Firecrawl, and set approvals.mode to manual. Then write an AGENTS.md with your site facts and test the agent on one page you know well. Search Console and keyword data come next, through MCP servers.

Is Hermes Agent the same as the Hermes language models?

No. Nous Research makes both, but the Hermes models are LLMs, while Hermes Agent is the software around a model: tools, memory, skills, and scheduling. Hermes Agent works with models from many providers, including Anthropic, OpenAI, and OpenRouter, not only Nous models.

How much does Hermes Agent cost?

The agent is free and MIT-licensed. You pay for the model you connect (per-token API pricing or a Nous Portal subscription) and for any paid search or SEO data APIs. The Hermes docs list 500 free Firecrawl credits and 2,000 free Brave Search queries a month, enough for testing but thin for daily audits across a large site.

Which model should I use for SEO tasks in Hermes Agent?

Use a model with at least 64,000 tokens of context and dependable tool calling; the Hermes docs treat 64K as the minimum. The quickstart highlights Nous Portal, Anthropic, OpenAI, and OpenRouter. For audits, pick the model that follows your output format and quotes what it fetched, and test it on a page you know before trusting it on pages you don't.

Is it safe to let an AI agent run commands on my computer?

It is manageable once you change the defaults. Set approvals.mode to manual so flagged commands wait for you, keep keys in a chmod 600 .env file, and for unattended or bot use switch the terminal backend to Docker or another sandbox, which the Hermes security docs recommend. Hermes also blocks a short list of destructive commands outright, with no override.

Can Hermes Agent write SEO content in Bahasa Indonesia?

It depends on the model you connect, since Hermes passes your instructions to that model. State the language and locale in AGENTS.md and review drafts with the checks in guide three. Model-written Indonesian often slips into stiff filler such as "merupakan hal yang sangat penting" or "di era digital ini", which is worth adding to your banned list.

Key takeaways

A working Hermes Agent SEO setup takes seven steps: read and run the installer, clear everything hermes doctor reports, connect a model with 64K+ context, pin one web search backend, set approvals to manual and lock your .env, write an AGENTS.md with site facts, and test on a page you know. That last test tells you the most. If the agent quotes your real title tag, the tools work. If it describes a page you don't recognize, nothing built on top will be trustworthy either.