Files
derez.ai/blog/posts/hermes-agent-setup-guide.html

298 lines
14 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="robots" content="index, follow" />
<link rel="canonical" href="https://derez.ai/blog/posts/hermes-agent-setup-guide.html" />
<title>Hermes Agent Setup Guide: From Zero to Your First AI Agent — derez.ai Blog</title>
<meta name="description" content="Step-by-step guide to setting up a Hermes AI agent. Covers installation, agent persona, skills, tools, and cron jobs — no SSH required." />
<meta name="keywords" content="hermes agent, hermes agent setup, install hermes agent, AI agent tutorial, hermes agent configuration, hermes agent persona, AI agent hosting" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://derez.ai/blog/posts/hermes-agent-setup-guide.html" />
<meta property="og:title" content="Hermes Agent Setup Guide: From Zero to Your First AI Agent" />
<meta property="og:description" content="Step-by-step guide to setting up a Hermes AI agent. Covers installation, agent persona, skills, tools, and cron jobs — no SSH required." />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Hermes Agent Setup Guide: From Zero to Your First AI Agent" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,400;14..32,500;14..32,600;14..32,700&display=swap" rel="stylesheet" />
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
background: #08080c;
color: #e8e8f0;
font-family: 'Inter', sans-serif;
line-height: 1.7;
padding: 40px 20px;
}
.container { max-width: 720px; margin: 0 auto; }
a { color: #6c8cff; text-decoration: none; }
a:hover { text-decoration: underline; }
.back { margin-bottom: 32px; display: inline-block; font-size: 0.9rem; color: #787898; }
.back:hover { color: #6c8cff; }
h1 { font-size: 1.9rem; font-weight: 700; line-height: 1.3; margin-bottom: 12px; }
.meta { font-size: 0.85rem; color: #787898; margin-bottom: 40px; display: flex; gap: 12px; align-items: center; }
.area-tag {
display: inline-block;
background: #f472b6;
color: #000;
font-size: 0.75rem;
font-weight: 700;
padding: 2px 10px;
border-radius: 20px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.chip-tag {
display: inline-block;
background: rgba(108,140,255,0.1);
color: #6c8cff;
border: 1px solid rgba(108,140,255,0.3);
font-size: 0.75rem;
font-weight: 600;
padding: 2px 10px;
border-radius: 20px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
h2 { font-size: 1.3rem; font-weight: 600; margin: 36px 0 12px; color: #f0f0ff; }
h3 { font-size: 1.1rem; font-weight: 600; margin: 24px 0 8px; color: #e0e0f0; }
p { margin-bottom: 16px; color: #c8c8d8; }
ul, ol { margin: 0 0 16px 24px; color: #c8c8d8; }
li { margin-bottom: 6px; }
code {
background: #12121a;
border: 1px solid #1e1e2a;
padding: 1px 6px;
border-radius: 4px;
font-size: 0.85em;
color: #00f5ff;
}
pre {
background: #0a0a0f;
border: 1px solid #1e1e2a;
border-radius: 8px;
padding: 16px 20px;
overflow-x: auto;
margin: 0 0 20px;
}
pre code {
background: none;
border: none;
padding: 0;
font-size: 0.82rem;
color: #c8c8d8;
line-height: 1.6;
}
.prompt-box {
background: #0e0e14;
border: 1px solid #1e1e2a;
border-left: 3px solid #6c8cff;
border-radius: 8px;
padding: 16px 20px;
margin: 0 0 16px;
font-style: italic;
color: #d0d0e0;
}
.tip-box {
background: rgba(108,140,255,0.06);
border: 1px solid rgba(108,140,255,0.15);
border-left: 3px solid #6c8cff;
border-radius: 8px;
padding: 14px 18px;
margin: 0 0 20px;
font-size: 0.9rem;
}
.tip-box strong { color: #6c8cff; }
.cta-box {
background: linear-gradient(135deg, rgba(108,140,255,0.08), rgba(0,245,255,0.04));
border: 1px solid rgba(108,140,255,0.2);
border-radius: 12px;
padding: 24px;
text-align: center;
margin: 40px 0;
}
.cta-box h3 { margin-top: 0; color: #f0f0ff; }
.cta-box p { margin-bottom: 20px; color: #a0a0b8; }
.cta-button {
display: inline-block;
background: #6c8cff;
color: #08080c;
font-weight: 700;
padding: 12px 32px;
border-radius: 8px;
font-size: 1rem;
transition: all 0.2s;
}
.cta-button:hover { background: #8aa4ff; text-decoration: none; }
.highlight { color: #00f5ff; }
@media (max-width: 600px) {
h1 { font-size: 1.5rem; }
.container { padding: 0; }
}
</style>
</head>
<body>
<div class="container">
<a href="../../index.html" class="back">← Back to derez.ai</a>
<h1>Hermes Agent Setup Guide: From Zero to Your First AI Agent</h1>
<div class="meta">
<span class="area-tag">Tutorial</span>
<span class="chip-tag">Hermes Agent</span>
<span>June 10, 2026</span>
<span>· 6 min read</span>
</div>
<p>Hermes Agent (by <a href="https://nousresearch.com?utm_source=derez" target="_blank" rel="noopener">Nous Research</a>) 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.</p>
<p>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. <strong>No manual SSH required</strong> — the derez.ai dashboard handles provisioning, so you start at the good part.</p>
<h2>What You'll Need</h2>
<ul>
<li>A <a href="https://derez.ai">derez.ai</a> account ($4.99/mo with first-month coupon codes)</li>
<li>An OpenRouter API key (or any OpenAI-compatible provider)</li>
<li>About 10 minutes</li>
</ul>
<h2>Step 1: Provision Your Agent Instance</h2>
<p>From the derez.ai dashboard at <strong>app.derez.ai</strong>, click <strong>Create Agent</strong>. The platform spins up a dedicated Linux instance pre-configured with Python 3.11, the Hermes runtime, and all dependencies. You'll receive:</p>
<ul>
<li>Full SSH access (root) to your instance</li>
<li>A dashboard URL for the Hermes web UI</li>
<li>Automatic daily backups with 7-day retention</li>
<li>Automatic SSL/TLS certificates</li>
</ul>
<p>Provisioning takes about 60 seconds. When the status changes to <strong>Running</strong>, you're ready.</p>
<div class="tip-box">
<strong>💡 Pro tip:</strong> Use coupon code <code>friends950</code> or <code>creator950</code> at signup to get your first month for $0.50 — a full $9.50 discount.
</div>
<h2>Step 2: Configure Your Agent Persona</h2>
<p>The <strong>agent persona</strong> is the single most important file in Hermes. Located at <code>~/.hermes/AGENT_PERSONA.md</code>, 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.</p>
<p>Here's a simple persona for a customer success agent:</p>
<div class="prompt-box">
<strong>AGENT_PERSONA.md</strong><br><br>
You are Mark, a Customer Success Agent for derez.ai.<br><br>
- You are helpful, concise, and proactive.<br>
- You monitor new signups and send welcome messages.<br>
- You check server health daily and flag issues.<br>
- You speak like a knowledgeable colleague, not a robot.<br><br>
Tool-use rules:<br>
- Always verify before acting — double-check destructive commands.<br>
- Use terminal for shell commands, process for background tasks.<br>
- When blocked, report the blocker — never fabricate results.
</div>
<p>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.</p>
<h2>Step 3: Install Skills</h2>
<p>Skills are the agent's capabilities — they extend what it can do. Skills live in <code>~/.hermes/skills/</code> and are plain Markdown files with structured frontmatter and tool-calling instructions.</p>
<p>To install a skill, create a file in the skills directory:</p>
<pre><code># ~/.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.</code></pre>
<p>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 <code>skill_view(name='server-health')</code> — a powerful pattern for pulling in specialized knowledge on demand.</p>
<h2>Step 4: Set Up Cron Jobs</h2>
<p>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.</p>
<p>Cron jobs live in <code>~/.hermes/cron/</code> as YAML files:</p>
<pre><code># ~/.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</code></pre>
<p>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.</p>
<h2>Step 5: Test Your Agent</h2>
<p>Open the Hermes web UI (available from your derez.ai dashboard) and start a conversation. Try these test prompts:</p>
<ul>
<li><em>"What's my server health look like today?"</em></li>
<li><em>"Check which cron jobs are scheduled and show me the next 3 runs."</em></li>
<li><em>"List all installed skills and describe what each one does."</em></li>
<li><em>"Run a quick disk usage check and tell me if anything needs attention."</em></li>
</ul>
<p>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.</p>
<h2>Going Further</h2>
<p>Once the basics are running, here's what you can layer on:</p>
<ul>
<li><strong>Plugins</strong> — Drop Python scripts into <code>~/.hermes/plugins/</code> for custom tool integrations (databases, APIs, webhooks)</li>
<li><strong>Memories</strong> — Persistent knowledge stored in <code>~/.hermes/memories/</code> that survives conversation resets</li>
<li><strong>Profiles</strong> — Multiple agent configurations (<code>~/.hermes/profiles/&lt;name&gt;/</code>) that you can switch between for different roles</li>
<li><strong>Background processes</strong> — Launch long-running tasks (web scrapers, data pipelines, monitoring loops) that the agent manages independently</li>
</ul>
<div class="tip-box">
<strong>🔗 Related:</strong> See our <a href="https://derez.ai/blog/posts/speed-run-odoo-community-agent.html">Speed Run: Odoo Community Agent</a> tutorial for a real-world example — connecting Hermes to an Odoo database and pulling leads automatically.
</div>
<h2>Troubleshooting</h2>
<h3>Agent not responding</h3>
<p>Check that the agent process is running: <code>ps aux | grep hermes</code>. From the derez.ai dashboard, you can restart the agent with one click.</p>
<h3>Skills not loading</h3>
<p>Verify the file is in the correct directory (<code>~/.hermes/skills/</code>) with <code>.md</code> extension. Check the YAML frontmatter is valid — missing <code>---</code> delimiters will silently skip the file.</p>
<h3>Cron jobs not firing</h3>
<p>Make sure the Hermes process that manages cron (typically <code>hermesd</code>) is running as a background service. Check with <code>process(action='list')</code> from the agent, or verify the service status from the dashboard.</p>
<h3>Tool errors</h3>
<p>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.</p>
<div class="cta-box">
<h3>Ready to build your agent?</h3>
<p>Get a dedicated Hermes agent instance with full SSH access, automatic backups, and a managed dashboard — starting at $0.50 for your first month.</p>
<a href="https://derez.ai" class="cta-button">Create Your Agent →</a>
</div>
</div>
</body>
</html>