Hermes Agent (by Nous Research) is an open-source AI agent framework that turns any Linux server into an autonomous digital worker. It reads files, runs shell commands, writes code, manages background processes, and follows chronological schedules — all through a natural language persona that you define.
In this guide, you'll go from a blank server to a running Hermes agent with custom skills, a configured persona, and automated cron jobs. No manual SSH required — the Derez.ai dashboard handles provisioning, so you start at the good part.
From the Derez.ai dashboard at app.derez.ai, click Create Agent. The platform spins up a dedicated Linux instance pre-configured with Python 3.11, the Hermes runtime, and all dependencies. You'll receive:
Provisioning takes about 60 seconds. When the status changes to Running, you're ready.
friends950 or creator950 at signup to get your first month for $0.50 — a full $9.50 discount.
The agent persona is the single most important file in Hermes. Located at ~/.hermes/AGENT_PERSONA.md, it defines the agent's identity, tone, and behavioral rules. Every message the agent sends is shaped by this file — it's not just a system prompt, it's the agent's operating charter.
Here's a simple persona for a customer success agent:
You can edit this file directly from the Derez.ai dashboard's file manager, or via SSH. The agent reloads it on each conversation turn, so changes take effect immediately.
Skills are the agent's capabilities — they extend what it can do. Skills live in ~/.hermes/skills/ and are plain Markdown files with structured frontmatter and tool-calling instructions.
To install a skill, create a file in the skills directory:
# ~/.hermes/skills/server-health.md
---
name: server-health
description: Monitor server health metrics and alert on anomalies
---
You are an SRE assistant. Check these metrics daily:
1. Disk usage — alert above 80%
2. Memory usage — alert above 85%
3. Load average — investigate if > 4.0
4. Uptime — report days since last reboot
5. Failed SSH logins — flag brute-force attempts
Report findings in a single summary block. Escalate critical issues.
Hermes scans the skills directory at startup. Each skill file becomes available as a command the agent can invoke contextually. You can also load a skill mid-conversation with skill_view(name='server-health') — a powerful pattern for pulling in specialized knowledge on demand.
One of Hermes' most powerful features is its built-in cron scheduler. Instead of writing crontab entries manually, you register schedules that wake the agent at specific times to perform tasks autonomously.
Cron jobs live in ~/.hermes/cron/ as YAML files:
# ~/.hermes/cron/daily-health-check.yaml
schedule: "0 6 * * *" # Every day at 06:00
skill: server-health
output: report # Send result as a report
---
# ~/.hermes/cron/weekly-backup-report.yaml
schedule: "0 9 * * 1" # Every Monday at 09:00
skill: backup-verification
output: report
notify_on_complete: true # Get notified when done
The agent wakes at the scheduled time, loads the specified skill, runs the task, and reports back. This works even while your agent is in the middle of other conversations — Hermes handles concurrent execution gracefully.
Open the Hermes web UI (available from your Derez.ai dashboard) and start a conversation. Try these test prompts:
The agent will reference its persona, load the relevant skills, and execute the appropriate tools — all in one response. You can watch it run commands live in the terminal output panel.
Once the basics are running, here's what you can layer on:
~/.hermes/plugins/ for custom tool integrations (databases, APIs, webhooks)~/.hermes/memories/ that survives conversation resets~/.hermes/profiles/<name>/) that you can switch between for different rolesCheck that the agent process is running: ps aux | grep hermes. From the Derez.ai dashboard, you can restart the agent with one click.
Verify the file is in the correct directory (~/.hermes/skills/) with .md extension. Check the YAML frontmatter is valid — missing --- delimiters will silently skip the file.
Make sure the Hermes process that manages cron (typically hermesd) is running as a background service. Check with process(action='list') from the agent, or verify the service status from the dashboard.
If the agent reports tool execution failures, check the system dependencies listed in your skill files. The agent will tell you exactly which command failed and why — it never silently drops errors.
Get a dedicated Hermes agent instance with full SSH access, automatic backups, and a managed dashboard — starting at $0.50 for your first month.
Create Your Agent →