← Business Expansion
L E A R N  ·  B U I L D  ·  D E P L O Y

Hermes Agent Setup

Qwen 4B and Composio

Install the Hermes Agent, run Qwen 4B locally through Ollama, and connect Composio so Hermes can work in Google Analytics, Search Console, and your other SEO tools. Every step is a menu choice or a plain English request. No programming.

Install HermesOllamaQwen 4BComposioSEO
Step-by-step, no code required  ·  Nous Research · Ollama · Composio
FOUNDATION

What You Are Setting Up

Hermes Agent is an open-source terminal agent from Nous Research. It runs commands, edits files, browses the web, remembers past sessions, and can be reached from Telegram or Discord as well as your terminal. It is model-agnostic, so you choose what powers it.

You are going to point it at a model running on your own machine, then give it access to your SEO stack. Three pieces, in this order.

The three pieces

🧠

Hermes

The agent. Decides what to do and carries it out.

⚙️

Ollama

The engine. Runs Qwen 4B locally, at no cost per token.

🔌

Composio

The connector. Brings Analytics, Search Console, and more.

What makes this setup unusual: the reasoning stays on your machine while the tools reach out to real services. Your ranking data, client domains, and traffic figures are processed locally, and Composio holds only the account connections.

What you will have at the end

OVERVIEW

Before You Start

What the machine needs

ComponentMinimumComfortable
RAM8 GB16 GB or more
Storage5 GB free30 GB for several models
CPU4 cores8 cores or more
GPUNot required8 GB VRAM or more, for real speed

A 4B model is small, so it fits almost anywhere. Without a GPU it still runs, just slowly, and the first reply of each session is the slowest.

An honest word about 4B and tools. Hermes works by calling tools, and tool calling is the first thing that gets shaky in a small model. Qwen 4B can do it, but expect occasional slips. Hermes detects malformed tool calls and repairs them automatically, and it can fall back to a cloud model when the local one fails repeatedly, which you set in the same model menu. If you have the memory for a larger Qwen, the experience improves noticeably.

The five stages

  1. Install Hermes with a single command.
  2. Install Ollama and pull Qwen 4B.
  3. Point Hermes at Ollama through the model menu.
  4. Add Composio, which Hermes can install for you when asked.
  5. Authorize your SEO accounts in the browser, then start asking for work.
Where this comes from. Every step below follows the official documentation: the Hermes Agent docs at hermes-agent.nousresearch.com/docs, the Composio Connect guide at docs.composio.dev, and Ollama's own setup instructions.
STAGE ONE

Install Hermes

The installer handles its own dependencies, including Python and Node, so there is nothing to prepare first.

On macOS, Linux, or WSL2

TERMINAL · install.sh
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

On Windows, in PowerShell

TERMINAL · install.ps1
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
  1. Run the line for your system and wait. It installs everything Hermes needs, including a self-contained copy of Git on Windows.
  2. Reload your shell so the hermes command is found. On macOS and Linux that means closing the terminal and opening a new one.
  3. Type hermes and press Enter. The first run opens the setup wizard, which walks through configuration in a menu.
  4. If anything looks wrong at any point, type hermes doctor. It checks the installation and reports what is missing.
If your antivirus complains on Windows, it is most likely flagging uv.exe, the Python package manager Hermes bundles. This is a known false positive on unsigned Rust binaries. The Hermes README documents how to verify the file and how to whitelist the folder rather than the file.
You can skip the wizard's provider question for now. The next two stages set up the model properly.
STAGE TWO

Ollama and Qwen 4B

TERMINAL · ollama.sh
curl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen3:4b
  1. Install Ollama with the line above, or download the installer from ollama.com on Windows and macOS.
  2. Pull the Qwen 4B tag you want. Check its page in the Ollama library first and confirm it is marked as supporting tools. A model without tool support can only chat, and Hermes will not be able to act.
  3. Leave Ollama running. It serves quietly in the background on port 11434.

Raise the context window. This one is not optional.

Hermes refuses to start on anything below 64,000 tokens of context, because the system prompt and tool descriptions alone fill a small window. Ollama's default is far below that:

Your VRAMOllama's default context
Under 24 GB4,096 tokens
24 to 48 GB32,768 tokens
48 GB and above256,000 tokens

Most machines land in the first row, so raise it. Setting it for the whole server is the simplest route:

TERMINAL · context.sh
OLLAMA_CONTEXT_LENGTH=64000 ollama serve
The most common mistake in this whole guide. Context length cannot be set from the connection Hermes uses. It has to be set on the Ollama server, either with the variable above, in the Ollama service file, or baked into a custom model. If Hermes rejects your model at startup, this is why.
STAGE THREE

Connect the Model

Hermes has a menu for this. You never edit a file.

TERMINAL · model.sh
hermes model
  1. Run the command above. A picker opens listing every provider Hermes supports.
  2. Choose Custom endpoint, described as self-hosted or vLLM. Local Ollama is reached this way; the separate Ollama Cloud entry is for their hosted service.
  3. For the base URL, enter http://localhost:11434/v1.
  4. Skip the API key. Ollama does not use one. Leave it empty or type anything.
  5. For the model name, enter the exact tag you pulled, such as qwen3:4b. Tags matter, so copy it from ollama list if unsure.
  6. Start Hermes and ask it something simple. If it replies, the model is connected.
If the first reply takes minutes, that is expected. Hermes sends its system prompt and all tool descriptions before your message. Working through that opening block is slow on modest hardware, and the model can sit silent while it does. It is not frozen. Two settings help: keep the model loaded so Ollama does not unload it after five minutes of idling, and widen the Hermes timeout by setting HERMES_API_TIMEOUT to 1800 in the .env file inside your Hermes folder.
To switch models later, type /model inside a session. To see what is filling your prompt, run prompt-size, then turn off toolsets you do not need with hermes tools. On a 4B model, a smaller prompt makes a real difference.
STAGE FOUR

Add Composio

What it does: Composio holds authorized connections to over a thousand services and exposes them to Hermes as tools. You authorize an account once in your browser, and it stays connected across sessions.

The easy route: ask Hermes to do it

Composio's own instructions for Hermes are to hand the agent this request. Start Hermes, paste it, and approve the steps it takes.

PROMPT · ask_hermes.txt
Install the Composio CLI: curl -fsSL https://composio.dev/install | sh,
then run composio login.
  1. Hermes installs the Composio command line tool and starts the sign-in.
  2. A browser window opens. Create a Composio account or sign in.
  3. Return to the terminal. Hermes confirms the login and can now search Composio for tools whenever a task needs one.

The alternative: add it as a connection

If you would rather register Composio as a server, Hermes has a menu for that too. Run hermes mcp to open the picker, and add Composio's shared address, https://connect.composio.dev/mcp. Hermes then opens your browser to authorize it and remembers the result.

You do not need to learn tool names. Composio gives Hermes a small set of discovery tools rather than a thousand individual ones. Hermes searches the catalogue for whatever your request needs, asks you to authorize the app if it is not connected yet, and then runs the action. Describing the task is enough.
STAGE FIVE

Connect Your SEO Accounts

Nothing to configure. You ask for the connection in plain English and approve it in the browser.

PROMPT · connect.txt
Connect my Google Analytics account through Composio.
  1. Hermes starts the connection and shows you an authorization link.
  2. Open it, choose the Google account, and grant access. These links expire quickly, so if you lose one, ask Hermes to try again and it generates a fresh link.
  3. Come back and tell Hermes to continue. The connection now persists.
  4. Repeat for each service you want. Ask Hermes to list what is already connected any time.

What is worth connecting for SEO

ServiceWhat Hermes can then do
Google AnalyticsPull sessions, users, and conversions by page and date range
Google Search ConsoleRead impressions, clicks, and average position by query
AhrefsBacklink and keyword data, if you hold a subscription
SerpApiLive search result pages for rank checks
Google Sheets or NotionWrite findings somewhere your team can read them
Check availability rather than assuming it. Composio's catalogue changes, and some toolkits need their own API key rather than a browser sign-in. Ask Hermes to search Composio for the service before you plan around it, and it will tell you what exists and what that connection requires.
PRACTICE

Putting It to Work

Hermes takes instructions the way a junior analyst would. Name the source, the period, and where the answer should go.

PROMPT · seo_requests.txt
# Traffic investigation
Compare organic sessions in Google Analytics for the last 28 days against
the previous 28 days. List the five pages that lost the most traffic.

# Query opportunities
From Search Console, find queries where we rank between position 11 and 20
and have over 500 impressions in the last month. Sort by impressions.

# Reporting
Summarise this week's organic performance in five bullet points and write
it into a new Google Sheet called Weekly SEO.

Four habits that make it reliable

Then let it run without you. Hermes has a built-in scheduler, described in plain language. Ask it to run your weekly summary every Monday morning and deliver the result to Telegram or Slack, and it will keep doing so unattended.
REFERENCE

When Something Goes Wrong

What you are seeingWhat it means and how to fix it
Hermes refuses the model at startupThe context window is under 64,000. Set it on the Ollama server, not in Hermes
Nothing happens for minutes on the first replyNormal on modest hardware. Keep the model loaded and widen the Hermes timeout
The model prints tool instructions as textIt is not making real tool calls. Confirm the model tag supports tools
Connection refusedOllama is not running. Start it, then confirm it answers on port 11434
Composio tools do not appearThe connection is not active. Check it in the Hermes MCP menu and re-authorize
The authorization link does not workThese links are short-lived. Ask Hermes to retry and use the fresh link
An account action fails with an auth errorThe connection went stale. Ask Hermes to disconnect and reconnect that app
Analytics returns very few tools or an errorAsk Hermes to request the latest toolkit version for that service
Replies are slow and shallowTrim the prompt by disabling unused toolsets, or move up to a larger model

Test in this order

  1. Run the Hermes diagnostic and clear anything it reports.
  2. Chat with the model about nothing in particular, to prove the connection.
  3. Ask for a simple local action, such as listing files, to prove tool calling works.
  4. Connect one SEO account and ask a read-only question.
  5. Only then connect the rest and start asking for reports.
RECAP

The Setup, in One View

Five stages, in order. Each one is a single command or a sentence to the agent.

  1. Install HermesOne install line, reopen the terminal, then run hermes. The wizard handles the rest, and hermes doctor diagnoses anything that went wrong.
  2. Ollama and Qwen 4BPull a Qwen 4B tag that supports tools, then raise the server context to 64,000. Hermes will not start below that.
  3. Point Hermes at itRun hermes model, choose Custom endpoint, enter localhost port 11434 with the v1 path, skip the key, and give the exact model tag.
  4. Add ComposioAsk Hermes to install the Composio CLI and sign in, or add Composio's address through the MCP menu. Approve it once in the browser.
  5. Connect the accountsAsk for each service by name, approve the link in your browser, then describe the SEO task you want done. Name the source, the period, and the destination.