Engineering

Hermes Agents 101: Always-On AI on Your Machine

Hermes lets you run a persistent AI agent on your own machine that wakes up on triggers, executes tasks with local tools, and keeps running without a cloud dependency.

June 26, 2026
5 min read
Aki Wijesundara
#Hermes#Local AI#AI Agents

Key Takeaways

  • Comprehensive strategies proven to work at top companies
  • Actionable tips you can implement immediately
  • Expert insights from industry professionals

Most AI agent workflows are request-response: you send a message, the agent replies, the interaction ends. Hermes flips the model. A Hermes agent runs as a persistent service on your machine, listening for events, waking up on triggers, and executing tasks without anyone asking it to. It is the difference between an assistant you summon and an assistant who is always on the job.

This post covers what Hermes is, how to install and configure it, and how to define and run your first always-on agent.

What Makes Hermes Different

Hermes is a local agent runtime built around three ideas.

Local-first. The agent runs on your machine and can access your local filesystem, databases, and applications. Your data does not leave your machine unless the agent explicitly sends it somewhere. This makes Hermes appropriate for sensitive data that cannot touch cloud infrastructure.

Event-driven. Agents wake up on triggers: a file appearing in a folder, a cron schedule, a webhook arriving on a local port, or a message on a queue. Between triggers they are idle. This is more efficient and reliable than a polling loop.

Tool-native. Each agent is configured with a set of tools it can use: shell commands, Python scripts, HTTP calls, file operations, and database queries. Tools are defined in the agent config and the model decides when to invoke them.

Installing Hermes

Hermes is installed as a Python package and managed with a CLI. You will also need a local model runtime such as Ollama or a configured API key for a cloud model.

# Install Hermes
pip install hermes-agents

# Initialize a new Hermes workspace
hermes init ~/my-agents

# Verify the installation
hermes --version

# If using Ollama as the local model backend
ollama pull nous-hermes2
hermes config set model.backend ollama
hermes config set model.name nous-hermes2

Defining Your First Agent

Agents are defined in YAML files inside your workspace. Each file specifies the agent's name, its trigger, its system prompt, and the tools it has access to. Here is a file monitor agent that summarizes new documents as they appear in a folder:

# ~/my-agents/agents/doc-summarizer.yaml
name: doc-summarizer
description: Summarize new documents as they appear in the inbox folder

trigger:
  type: file_watcher
  path: ~/inbox
  pattern: '*.txt,*.md,*.pdf'
  event: created

system_prompt: |
  You are a document summarizer. When given the content of a new file,
  produce a concise three-sentence summary. Include the main topic,
  the key points, and any action items for the reader.

tools:
  - name: read_file
    type: builtin
    description: Read the content of a local file by path

  - name: write_file
    type: builtin
    description: Write text content to a local file at the given path

  - name: send_notification
    type: builtin
    description: Send a desktop notification with a title and message

output:
  format: markdown
  destination: ~/summaries/{filename}.summary.md

Prompt

"You are a document summarizer running on a user's local machine. A new file has arrived in their inbox. Read it carefully and write a three-sentence summary: one sentence on the main topic, one sentence on the key takeaways, and one sentence on any required actions. Keep the language clear and direct."

Running It as a Persistent Service

Once your agent YAML is defined, start the Hermes daemon. It loads all agent definitions in your workspace and begins watching for their triggers.

# Start the Hermes daemon in the foreground (for testing)
hermes start --workspace ~/my-agents

# Check which agents are loaded and their trigger status
hermes status

# Run as a background service (macOS launchd or Linux systemd)
hermes service install
hermes service start

# View recent agent activity
hermes logs --agent doc-summarizer --tail 50

Drop a file into your inbox folder and the doc-summarizer agent wakes up, reads the file, calls the model, writes the summary to the output folder, and sends you a desktop notification. No browser, no cloud, no terminal interaction required.

Want to build this live with Aki?

Join a Lightning Lesson and go deeper on this topic. Browse upcoming sessions →

A

Aki Wijesundara

Expert team of AI professionals and career advisors with experience at top tech companies. We've helped 500+ students land internships at Google, Meta, OpenAI, and other leading AI companies.

📍 Silicon Valley🎓 500+ Success Stories⭐ 98% Success Rate

Ready to Launch Your AI Career?

Join our comprehensive program and get personalized guidance from industry experts who've been where you want to go.

Share Article

Get Weekly AI Career Tips

Join 5,000+ professionals getting actionable career advice in their inbox.

No spam. Unsubscribe anytime.