How Hermes Agent Works β€” The Engine Behind Jeri

What is Hermes Agent?

Hermes is an open-source AI agent framework by Nous Research. It’s the engine that runs Jeri β€” think of it like an operating system for AI agents.

The Stack

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Jeri (Personality, Rules, Memory)  β”‚  ← Skills + Memory + SOUL.md
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Hermes Agent (The Framework)       β”‚  ← Tool calling, sessions, gateway
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  LLM Model (The Brain)              β”‚  ← DeepSeek / Claude / Gemini / etc
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  VPS / Local Machine (Hardware)     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

What Hermes Provides

FeatureDescription
ToolsTerminal, file editing, browser, web search, code execution, and 20+ more
SessionsPersistent conversation history (SQLite + FTS5 search)
CronScheduled tasks β€” reminders, daily briefings, recurring messages
GatewayMulti-platform messaging β€” WhatsApp, Telegram, Discord, Slack, etc.
SkillsReusable procedures that load into sessions (like conversation-style)
MemoryPersistent USER.md and MEMORY.md β€” remembers you across sessions
DelegationSpawn subagents for parallel or heavy work
20+ LLM ProvidersSwappable anytime β€” DeepSeek, Anthropic, OpenAI, Google, xAI, local models

Hermes is the Chassis, The Model is the Engine

  • Hermes = toolbox with wrenches, screwdrivers, power tools
  • The Model (LLM) = the mechanic using those tools
  • Jeri = the mechanic’s work orders and rules (β€œwear safety glasses, use Bahasa when Christian does”)

Swap the mechanic and you get the same tools and rules, but the quality of work changes.

How Different Models Affect Performance

DeepSeek Flash (Christian’s Default)

  • Fast β€” replies in seconds, low latency
  • Cheap β€” lower cost per token
  • Good for: casual chat, simple Q&A, quick file edits, daily tasks
  • Weakness: can go in circles on complex multi-step problems

DeepSeek Pro (Configured as Delegation Model)

  • Slower but smarter β€” better reasoning, fewer wrong turns
  • Good for: debugging, architecture planning, complex code generation
  • More expensive β€” uses more tokens per task
  • Best used via: delegate_task for heavy subtasks

Other Models Worth Knowing

ModelVibeBest For
Claude Sonnet 4Super smart, very carefulComplex coding, security review
Gemini 2.5 ProGreat reasoning, 1M contextLarge codebases, long docs
GPT-4oWell-rounded, creativeDesign, content, general
GrokUncensored, fastQuick research, casual

How Routing Works in Practice

Christian’s current setup:

Chat with Jeri β†’ DeepSeek Flash (fast, cheap)
  └── Complex task β†’ delegate_task β†’ DeepSeek Pro (heavy, smart)

Switching Models

  • /pro β€” switch to DeepSeek Pro (takes effect next turn)
  • /flash β€” switch back to DeepSeek Flash (default)
  • Override persists until /flash or /new

Smart Routing Heuristics

The agent (Jeri) decides at runtime:

  • 1-2 tool calls, factual retrieval β†’ handle with Flash directly
  • 3+ tool calls, debugging, code generation, planning β†’ delegate to Pro
  • Architecture decisions, security reviews, design docs β†’ delegate to Pro
  • Casual chat, summarization, Q&A β†’ Flash

Available Commands

Commands you can type in chat to trigger specific actions:

CommandWhat it doesSince
/gpt <message>Routes that message through GPT-4o Mini instead of DeepSeek Flashv1
/proSwitch to DeepSeek Pro modelv2
/flash <message>Switch back to DeepSeek Flash (default)v1
/balanceCheck current DeepSeek API balancev2
/statusQuick VPS status β€” uptime, memory, disk, garden healthv2
/guests <add|remove|list>Manage WhatsApp guest accessv2
/garden <add|edit|delete>Manage digital garden notes β€” add, edit, deletev2

Terminal Aliases (SSH)

CommandWhat it does
balanceSame as /balance β€” DeepSeek balance check
statusSame as /status β€” VPS health report
manage-guest.sh <add|remove|list>Same as /guests β€” manage guest access

πŸ’‘ Pro tip: /balance, /status, /guests, and /garden are powered by custom Hermes plugins that intercept the command and rewrite it for the agent.

Key Files & Paths

FilePurpose
~/.hermes/config.yamlMain configuration
~/.hermes/.envAPI keys and secrets
~/.hermes/memories/USER.mdUser profile & behavior rules
~/.hermes/memories/MEMORY.mdProject facts & procedures
~/.hermes/skills/Installed skills directory
~/.hermes/sessions/state.dbSession history (SQLite)

Security & Privacy

  • Command authority: Only Christian can command Jeri. Others are read-only
  • Secret redaction: API keys/tokens are auto-redacted from tool output before entering context
  • Allowlist: WhatsApp bridge only forwards messages from approved numbers
  • Tirith scanner: Threat patterns are scanned before reaching the model