What Is Hermes Agent (Nous Research)?
Hermes Agent is Nous Research's self-hosted AI agent with a built-in learning loop, cron, and persistent memory. How it differs from the Hermes LLM, and how it posts to social media.
What is Hermes Agent?
Hermes Agent is Nous Research’s self-hosted agent runtime: a Python process with persistent memory, built-in cron, and a learning loop that writes its own skills. It is not the Hermes LLM. It is not a social scheduler. Like OpenClaw, it still needs a last mile to publish to Instagram, LinkedIn, TikTok, X or Facebook.
I build Social by InstantDM. We ship a hosted MCP server and a Hermes skill. I care about Hermes because operators keep migrating to it, then asking me why the agent still cannot “just post.” Same answer as OpenClaw: the runtime thinks. A publisher posts.
Figures below were checked on 27 August 2026. Latest tagged release at that check: v0.20.5 (v2026.8.19). If you are reading later, check hermes-agent.nousresearch.com/docs — YAML keys and CLI flags move.
Hermes Agent homepage at hermes-agent.nousresearch.com, captured 27 August 2026. Nous Research’s runtime, not the Hermes LLM.
Install it. It runs on your hardware or a cheap VPS. You talk from hermes in a terminal, or you start hermes gateway and message it on Telegram, Discord, Slack, WhatsApp or Signal. It keeps a model of you across sessions, searches past chats, and after a hard task it often writes a SKILL.md so the next run is cheaper.
Nous’s line is “the agent that grows with you.” The architectural bet is depth over catalog: fewer pre-built marketplace skills, more skills the agent authors from your work. That bet is why people leave OpenClaw. It is also why a publishing skill can drift if you do not pin it.
Config lives in ~/.hermes/config.yaml. Secrets belong in ~/.hermes/.env. Skills land in ~/.hermes/skills/. None of that is a token vault for Instagram. If you want the agent to draft a carousel, you add MCP. If you skip that and try to “let Hermes figure out the Graph API,” you are asking a language model to become a nine-platform OAuth app. Do not.
Is Hermes Agent the same as the Hermes LLM?
No. Confusing them is the most common search mistake on this topic.
| Name | What it is |
|---|---|
| Hermes (LLM) | Nous Research fine-tunes. Weights you can run or call. A model family. |
| Hermes Agent | The runtime. Tools, memory, cron, gateway, MCP client. MIT license. Repo: NousResearch/hermes-agent. |
You can run Hermes Agent on Claude, GPT, a Hermes checkpoint, OpenRouter, or Nous Portal. Swap with hermes model. The agent does not require the Hermes LLM. I have watched people buy GPU time for a Hermes model because they thought the agent would not start otherwise. It starts. It calls whatever provider you configured.
A buying-decision rule: if the page is about weights, GGUF, or a Hugging Face card, you are looking at the model. If the page is about hermes setup, cron, config.yaml, and a gateway, you are looking at the agent. This article is the agent.
Why Nous reused the name is their marketing problem, not yours. Your problem is a GitHub star count that mixes two products in search snippets. When I cite 237,120 stars, that is NousResearch/hermes-agent on 27 August 2026, not a model repo.
The NousResearch/hermes-agent repository on GitHub, captured 27 August 2026. 237,120 stars and about 48,000 forks at that check. This is the runtime.
If a consultant tells you “we run Hermes” in a social-media pitch, ask which one. A fine-tune that writes captions is a model. A process that holds memory, fires cron, and calls MCP is an agent. Only the second one can talk to a scheduler without you writing glue.
Who builds Hermes Agent, and what is the architectural bet?
Nous Research builds it. Open source. MIT. Python. The public site and docs sit under hermes-agent.nousresearch.com.
The bet, stated without the landing-page adjectives: OpenClaw grew a catalog (ClawHub, many channels, one Gateway). Hermes grew a loop (do a hard task, write a skill, reuse it, search memory instead of stuffing the transcript).
That shows up in daily use:
- Fewer packaged skills on day one. More skills in
~/.hermes/skills/after a month of real work. - Cron is a first-class object, not a heartbeat you bolt on.
- Config is YAML a human can diff.
- Memory is meant to compound. FTS5 search over prior sessions, not “hope the context window holds.”
Reddit’s recurring complaint about OpenClaw is “I had to write every skill by hand.” Hermes’s recurring complaint is the opposite: a skill overfits the first invoice layout, then silently fails on the second. Both complaints are true. They are the same trade-off from two sides.
Garry Tan’s public note from April 2026, which still matches what I see in r/openclaw and r/AI_Agents: OpenClaw has more personality and is more proactive; Hermes feels more solid and slower. I am not quoting that as scripture. I am quoting it because operators repeat it when they explain why they kept both.
iMessage, Teams, LINE, and the long tail of chat surfaces are OpenClaw’s home turf. Hermes’s documented messaging set when I checked the docs on 27 August 2026 is Telegram, Discord, Slack, WhatsApp, Signal, email, and the CLI. If iMessage is non-negotiable, stop here and stay on OpenClaw — then connect the same MCP server.
Hermes Agent docs at hermes-agent.nousresearch.com/docs, captured 27 August 2026. YAML, cron, memory, MCP — read this before you paste a config from a tweet.
The Foundation vs research-lab difference is mostly governance flavor. For a social publisher, I do not care who signs the CLA. I care whether tools/list returns create_post after you reload MCP. Both runtimes can do that. Both will do it wrong if SOUL.md is empty.
How does the learning loop actually work?
After a complex task, Hermes can:
- Save a reusable skill from what just worked
- Refine that skill the next time the pattern shows up
- Nudge itself to persist facts into memory
- Search prior sessions (FTS5) instead of stuffing the whole transcript into the prompt
That is the headline. The operational detail is what it chooses to skill-ize.
A good self-written skill: “how we turn a changelog into five bullets, then a LinkedIn draft and an X draft, in this brand’s voice.” Helper. Cheap on the next run.
A bad self-written skill: “how we publish to Instagram on Tuesdays at 11.” That skill will fight you next month when Tuesday is a product incident, when 11:00 was Eastern not IST, and when “publish” should have been “draft.” Durable publishing law belongs in SOUL.md and in the vendor SKILL.md. Let Hermes write helpers. Do not let it write a second, drifting publisher.
Pin skills that work:
hermes curator pin social-by-idm
If your build does not have curator pin yet, the SOUL redundancy is the pin. Put “never publish_now unless the human said publish now” in SOUL.md so a new homemade skill cannot outvote it.
Worked example of a loop going right:
- Monday: you paste a changelog. Hermes drafts five captions, saves
draft: true, delivers IDs to Telegram. You approve three. - Tuesday: Hermes writes a small skill, “changelog-to-five-drafts,” with the section order that you corrected.
- Wednesday: you paste another changelog. The skill fires. The drafts are closer. You still approve.
Worked example of a loop going wrong:
- Monday: you said “just post it” once, in a hurry.
- Hermes writes a skill that calls
publish_nowbecause that is what worked. - Every weekday at 9, cron loads that skill.
- Friday a hallucinated ARR number is on LinkedIn, X, and Instagram.
The fix is not “Hermes is unsafe.” The fix is: the loop will amplify whatever you rewarded. Reward drafts. Pin the publisher skill. Keep cron off publish_now.
Cleanup passes exist. They will delete unpinned skills they think are stale. A social skill that is “just markdown” can still vanish from the prompt if the curator sweeps it. Pin it. Keep a copy in git.
Does Hermes have built-in cron, and should you use it for social?
Yes, Hermes has native scheduled tasks. They take crontab, intervals (every 2h), or natural language. Output can deliver to Telegram, Discord or Slack. That is why people try to make it a social media manager.
Two clocks. Do not merge them.
| Clock | Owner | Example |
|---|---|---|
| Agent wake | Hermes cron | Weekdays 08:00 Asia/Kolkata: draft five posts |
| Network go-live | Scheduler scheduledAt / platformSchedules | LinkedIn 08:30 America/New_York, IG 11:00, TikTok 18:00 |
If you only have agent wake, posts go out whenever the model finishes a thought. That is not a calendar. Always-on as a calendar.
Cron that calls publish_now is how you get a hallucination on every handle at 3am. Cron that creates drafts and pings you is the setup that survives.
A prompt that has survived contact with real brands:
Isolated session. Read SOUL.md. Research today’s niche sources. Produce five drafts (IG, LinkedIn, X, TikTok, Facebook) for this week’s remaining empty slots.
draft: true. Do not publish_now. Deliver titles + post IDs to Telegram. Stop.
hermes cron create "0 8 * * 1-5" "<that prompt>" --name "weekday-drafts" --deliver telegram
Isolated session matters. Yesterday’s rant must not leak into today’s caption.
If the VPS was down at 9:00, do not dump seven missed posts at 14:02. Catch-up should skip, or spread, or wait for you. A burst looks like a bot.
scheduledAt without an offset is workspace timezone, not UTC. Cron in IST plus a naive 2026-09-16T09:00:00 is how a “morning LinkedIn post” ships at 03:30 Eastern. Write the offset (+05:30) or know the workspace TZ and live with it.
Hermes cron is the reason I tell OpenClaw people to look at Hermes if their pain is “I want the same job every weekday.” OpenClaw automations can do it. Hermes makes it a one-liner. That is not a reason to give cron a live publish tool.
How do you install Hermes Agent?
Linux, macOS, WSL2:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
source ~/.bashrc
hermes setup
hermes doctor
hermes
Windows native:
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
Then hermes doctor until it is clean. Doctor exists because Python runtimes accumulate “it imported once on my laptop” lies. If doctor complains about a missing package or a gateway port, fix that before you add MCP. A posting key on a sick install is how you debug the wrong layer.
hermes setup walks model provider, and usually a first channel. Same rule as OpenClaw: get CLI chat working before Telegram. If hermes in a terminal cannot answer “reply ping only,” the gateway will not save you.
Put the process on a VPS if you want cron to fire with the lid shut. A laptop Hermes is a daytime assistant. An always-on Hermes is a hosting bill and a systemd unit. I am not going to pretend a curl | bash on a MacBook is a content machine.
Version I checked: v0.20.5 (v2026.8.19) on 27 August 2026. If hermes --version is months behind, update before you copy YAML from this page. Header names for MCP (X-Api-Key vs Authorization: Bearer) have already differed across builds. Match whatever your client’s tools/list actually sends.
Hermes Agent banner, fetched from github.com/NousResearch/hermes-agent on 27 August 2026.
A first-hour sequence that does not include social, on purpose:
- Install from hermes-agent.nousresearch.com, not a mirrored gist.
hermes setupwith one model provider.hermes doctorclean.hermes— send a bounded prompt.- Write SOUL.md. Include draft-first even if you have no publisher yet. Future you will thank present you.
- Start
hermes gatewayonly when CLI is boringly reliable. - Connect one chat channel.
- Then MCP. Then the social skill. Then one
list_accounts. Then one draft.
Skip to step 8 because a Twitter thread told you Hermes “runs your social” and you will spend Thursday night blaming Nous for a YAML indent.
Can you migrate from OpenClaw to Hermes?
Yes, with a dry-run, and without expecting a clone of a multi-agent Gateway.
hermes claw migrate --dry-run
hermes claw migrate
That import pulls SOUL.md, memories, user-created skills, allowlisted keys and messaging settings. User skills land in ~/.hermes/skills/openclaw-imports/. Multi-agent OpenClaw layouts do not come across as a perfect clone. Dry-run is not optional. Read the file list it prints.
The folder name followed the final OpenClaw rename: ~/.openclaw. If you still have a museum ~/.clawdbot from December 2025, read the migrate help before you assume it will find you. Rename timeline.
After migrate, look for two social skills arguing. An old ClawHub install plus a new GitHub install will both try to teach create_post. Keep one. Pin it.
Allowlisted keys are not a reason to relax scoping. If the OpenClaw key could posts:write on every workspace, Hermes now has that too. Mint a new scoped key if you are using the move to clean up. One brand, one key. Personal agent vs publisher.
Should you migrate at all? Only if OpenClaw’s stability or memory is the actual bottleneck. “Twitter said Hermes won” is not a bottleneck. Side-by-side website-build videos are not a social-media test. Full comparison: OpenClaw vs Hermes Agent (2026).
A pattern that keeps showing up: keep OpenClaw as the chat front door, run Hermes as the writer, point one of them at the scheduler. They can sit in the same Telegram group with ACK / REJECT. For social, give posting tools to one runtime, preferably with draft: true as law.
Can Hermes Agent post to Instagram or LinkedIn by itself?
No. Nous’s docs do not ship Instagram or LinkedIn publishers. I checked the public docs when I captured the screenshot on 27 August 2026. There is no first-party Graph integration hiding behind a flag.
Hermes reaches social accounts the same way it reaches any other service: an MCP server or a SKILL.md that calls one. Chat channels (Telegram et al.) are how you talk to Hermes. They are not how Hermes talks to a feed.
Unofficial paths — browser automation against the Instagram web app, unofficial mobile APIs — are how accounts get banned. I will not help you wire those. Official publishing APIs only.
Last mile we ship:
mcp_servers:
social-by-idm:
url: "https://social-api.instantdm.com/mcp"
headers:
X-Api-Key: "${SOCIAL_BY_IDM_API_KEY}"
enabled: true
Some builds want Authorization: Bearer …. If tools/list is empty, try the other header — do not rotate the key first. Then /reload-mcp or restart the gateway.
Skill:
hermes skills install github:instant-dm/agent-mode/skills/social-by-idm
GitHub source, not ClawHub. Hermes does not use ClawHub as its primary registry. Same markdown OpenClaw gets. Different loader. Install notes. Full walkthrough: How to let Hermes Agent post to social media.
Default: draft: true. No publish_now from cron. scheduledAt without offset = workspace TZ, not UTC.
Instagram still needs a professional account and media. LinkedIn still has its own token lifetime. TikTok still has its own media rules. The agent cannot bypass those. When create_post returns a per-platform error, that is the publisher telling the truth. Call get_post_status. HTTP 200 on create_post is not “all five networks live.”
How do you add MCP and the Social by InstantDM skill?
I am the vendor. Here is the exact wiring, and what still fails when the YAML is “correct.”
~/.hermes/.env:
SOCIAL_BY_IDM_API_KEY=sk_live_…
~/.hermes/config.yaml — MCP block as above. URL https://social-api.instantdm.com/mcp. Streamable HTTP, not stdio. Stdio would mean a process on the laptop; the scheduler holds OAuth tokens in the cloud.
Then:
/reload-mcp
Ask: “What social tools do you have?” You want list_accounts, create_post, upload_media_from_url, get_post_status, and the rest of the 16 tools. Empty list means URL, header, or the gateway process cannot see the env var. Not “Hermes is bad at social.”
First prompt:
List my connected accounts. Do not post.
Then a draft. Then you, in the calendar. Hermes will try to be helpful and skip the review if SOUL.md is silent. Write the file.
If it asks you to paste a key in chat, you misconfigured env — and the skill should have refused to search disk. That refusal is load-bearing. Do not “helpfully” relax it. Keys in Telegram become keys in backups.
URL-only note: if a client cannot set headers, https://social-api.instantdm.com/mcp?key=sk_live_… works. Treat that URL as a secret. Prefer headers on Hermes.
Hosted MCP on Social by InstantDM, captured 28 August 2026. Same URL OpenClaw and Claude use: https://social-api.instantdm.com/mcp.
Sixteen tools, full REST parity, eight platforms. Included on plans from $19/month when I last described it in our MCP guide. We are not open source. If you need to self-host the token vault, pick someone else. What an MCP server for social media is. Product: /mcp, /agents, /docs.
Claude and ChatGPT can use the same server with a connector. Schedule from Claude or ChatGPT. The agent is interchangeable. The publisher is not.
What does v0.20.5 actually ship with?
When I checked on 27 August 2026, the latest tagged release was v0.20.5 (v2026.8.19). I am not going to recite a full changelog I did not sit and diff. Treat the tag as a freshness check: if your install is older than that tag by months, you are copying YAML for a client that may not exist yet, or you are missing a cron flag.
What I will stand behind as of that date, from public docs and from wiring this MCP server:
- Python runtime,
~/.hermes/config.yaml hermesCLI,hermes gateway,hermes setup,hermes doctorhermes claw migrateand--dry-run- Built-in cron with delivery
- Skills install from GitHub (
hermes skills install github:…) - MCP servers in YAML (
mcp_servers) - Memory plus a learning loop that writes SKILL.md files
- Messaging: Telegram, Discord, Slack, WhatsApp, Signal, email, CLI
What I will not invent: a channel list beyond what the docs showed, a star-derived quality ranking, or a claim that v0.20.5 “fixed social posting.” Social posting is not in the runtime. It is in the MCP server you add.
If a feature flag on your build does not match this page, --help wins. I would rather you trust the binary on disk than a blog post, including mine.
Who should pick Hermes over OpenClaw?
Pick Hermes if:
- You want one agent that gets cheaper on repeat work
- You are fine with fewer chat channels
- You like Python and YAML
- OpenClaw jobs die quietly and you are tired of it
- You want cron without bolting on heartbeat config
- You will actually pin skills and write SOUL.md
Pick OpenClaw if:
- You text the agent from iMessage
- You already live in ClawHub skills and do not want to rewrite them
- You want one Gateway that also talks Slack and WhatsApp and Discord
- You like markdown workspaces that you can diff in git, and you already have
~/.openclaw/
Pick neither as your Instagram publisher. Personal agent vs social publisher. Can an AI agent run your social media?.
A lot of people run both. That is allowed. Give one of them posts:write. Give the other a text file.
Stars on 27 August 2026: OpenClaw 387,774 / 81,423 forks; Hermes 237,120 / ~48k forks. OpenClaw is larger. Hermes grew fast. Stars are not a social-media feature.
What are the failure modes unique to a learning agent?
OpenClaw’s famous failures are exposed Gateways and malicious ClawHub skills. Hermes’s famous failures are quieter.
Did the self-written skill overwrite draft-first?
You rewarded publish_now once. The loop saved it. Cron loaded it. Pin the vendor skill. Repeat the rule in SOUL.md.
Did the curator delete the good skill?
A cleanup pass treated your publisher skill as stale. Next Monday the agent “helpfully” reconstructs posting from memory, minus the timezone offset. Pin. Keep a git copy.
Did two social skills argue after migrate?
openclaw-imports/ plus a fresh GitHub install. One says draft, one says post. Keep one.
Did cron fire in an isolated session — or not?
Without isolation, Monday’s angry customer email is still in context at 08:00 Tuesday when the draft job runs. Isolated session. The cron prompt should say so.
Did you put policy only in MEMORY.md?
Compaction drops it. Policy in SOUL. Memory for “carousels beat single images in August.”
Did scheduledAt go out without an offset?
Workspace TZ, not UTC. Same trap as OpenClaw. The skill we ship tells the agent to include the offset. A homemade skill often does not.
Did you connect MCP and skip /reload-mcp?
Empty tool list. You rotate the key. Still empty. Reload, then check whether the gateway process inherited ~/.hermes/.env.
Did you let untrusted inbound plus posting tools share a session?
Prompt injection. Same as OpenClaw. Split them.
A compact table:
| Failure | What it looks like | Fix |
|---|---|---|
| Loop amplified YOLO | Live posts from cron | Pin skill, SOUL, no publish_now |
| Curator sweep | Skill gone, offsets gone | Pin + git |
| Double skill after migrate | Conflicting advice | One social skill |
| Shared session cron | Off-brand drafts | Isolated session |
| Policy in MEMORY | Rule vanished | Put it in SOUL |
Naive scheduledAt | 03:00 posts | Offset |
| No reload | Empty tools/list | /reload-mcp |
| Key in chat | Token in scrollback | .env only |
If the drafts are good for a week, then you shorten the approval. You do not start from live. That sentence is the whole safety model. Hermes does not change it. The learning loop makes it more important, because Hermes will remember the unsafe week too.
What does a changelog-to-drafts session look like on the wire?
Not a screenshot of a dashboard. The actual calls, in order, after MCP is loaded and the skill is pinned.
You, in CLI or Telegram:
Isolated session. Read SOUL.md. Changelog: we added timezone offset guidance to the social skill; we did not change pricing. Draft LinkedIn, X, Instagram.
draft: true. Do not publish. Return IDs.
What you want the runtime to do:
- Load SOUL.md (policy) and the social-by-idm skill (manners).
list_accounts— confirm LinkedIn, X, Instagram IDs are real.upload_media_from_urlonly if you provided a public image. Instagram will not take text-only. If you did not provide media, skip IG or ask. Do not generate a fake founder face and upload it.create_post× 3 withdraft: true. LinkedIn long, one claim. X short, no hashtag salad. IG with line breaks and media.- Reply with
post_…IDs. Stop.
What you do not want:
- A self-written skill from last month that still says
publish_nowbecause you were in a hurry once. scheduledAt: 2026-09-16T09:00:00with no offset, VPS on UTC, brand in IST.- A second skill from
openclaw-imports/arguing. - The agent searching disk for
SOCIAL_BY_IDM_API_KEYafter env was empty — our skill should refuse. If it does not, the skill did not load.
Then you open the calendar. If LinkedIn says “unlock explosive growth,” SOUL.md lost to default model tone. Fix the file. Do not “add more cron.”
A Friday analytics session, same discipline:
Isolated session.
get_analyticsfor this week’s live posts only. Write three bullets into MEMORY.md. No captions. No publish. If a number is missing, say missing — do not interpolate.
If Hermes then tries to skill-ize “how we write Friday notes,” that helper is fine. If it tries to skill-ize “how we post the Friday recap to LinkedIn,” pin the vendor skill and say no in SOUL.md.
How should you structure memory so social does not rot?
Three files, three jobs. Mixing them is how a compaction pass deletes “never publish_now.”
| File | Social content that belongs | Social content that does not |
|---|---|---|
| SOUL.md | Voice, bans, confirm-before-publish, “do not invent metrics,” workspace TZ | Last week’s CTR |
| MEMORY.md | ”Carousels on Tuesday beat single images in August" | "Never publish_now” |
| USER.md | ”Operator reviews after 21:00 IST, Telegram only from this handle” | Brand voice adjectives |
Hermes will nudge facts into memory. That is useful when the fact is “the IG account is acc_… and hates stock photos of handshakes.” It is harmful when the fact is “the human said just post it that one time.”
Practical rules I tell operators:
- Re-read SOUL.md yourself every month. If it still says “friendly, professional, bold” and no examples, it is not a voice file.
- Paste three posts you shipped and three you killed. Models mimic. Adjectives sludge.
- After migrate, grep
openclaw-importsfor a second SOUL. Two souls will fight. - Do not store API keys in MEMORY.md. I have seen “helpful” summaries that included
sk_live_. Rotate if that happened. - Curator cleanup: pin the publisher skill. A vanished skill plus a confident model equals missing timezone offsets.
The learning loop is why Hermes is interesting. It is also why Hermes needs a louder SOUL.md than OpenClaw. OpenClaw will improvise and forget. Hermes will improvise and remember. Remembering a bad week is worse than forgetting it.
Cron plus memory plus posts:write is a system that converges. Make sure it converges on drafts.
Further reading:
Frequently asked questions
What is Hermes Agent?
Hermes Agent is an open-source, MIT-licensed AI agent from Nous Research. You install it on your machine or a VPS, talk to it from the CLI or from Telegram, Discord, Slack, WhatsApp or Signal, and it keeps memory across sessions. Its headline feature is a learning loop: after complex tasks it writes reusable skills and improves them in later runs. It is not a social scheduler and it does not post to Instagram on its own.
Is Hermes Agent the same as the Hermes LLM?
No. The Hermes models are Nous Research's fine-tunes. Hermes Agent is the runtime — the process that calls tools, stores memory, runs cron, and speaks MCP. You can point the agent at Claude, GPT, a Hermes model, OpenRouter, or Nous Portal. Do not mix the two names in a buying decision.
Can Hermes Agent post to Instagram or LinkedIn by itself?
No first-party social publisher appears in Nous Research's docs. Hermes reaches social accounts the same way it reaches any other service: an MCP server or a SKILL.md that calls one. Add the server under mcp_servers in ~/.hermes/config.yaml. The last-mile URL we ship is https://social-api.instantdm.com/mcp.
How do you install Hermes Agent?
Linux, macOS, WSL2: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash then source ~/.bashrc and run hermes setup. Windows PowerShell: iex (irm https://hermes-agent.nousresearch.com/install.ps1). Then hermes doctor before you grant posting tools.
Can you migrate from OpenClaw to Hermes?
Yes. hermes claw migrate --dry-run previews the move; hermes claw migrate imports SOUL.md, memories, skills and allowlisted API keys. Multi-agent OpenClaw setups are not a full clone. User-created skills land in ~/.hermes/skills/openclaw-imports/. Details: the OpenClaw vs Hermes comparison in this series.
How many GitHub stars does Hermes Agent have?
237,120 stars and about 48,000 forks on NousResearch/hermes-agent as of 27 August 2026. Latest tagged release at that check was v0.20.5 (v2026.8.19).
Does Hermes Agent have cron?
Yes. Native scheduled tasks take crontab, intervals (every 2h), or natural language. Output can deliver to Telegram, Discord or Slack. Cron that creates drafts and pings you is the setup that survives. Cron that calls publish_now is how a hallucination hits every handle at 3am.
How do you connect Hermes to Social by InstantDM?
Install the skill with hermes skills install github:instant-dm/agent-mode/skills/social-by-idm, add the MCP server under mcp_servers in ~/.hermes/config.yaml pointing at https://social-api.instantdm.com/mcp, put the key in ~/.hermes/.env, then /reload-mcp. First call list_accounts. First write draft: true.
Will Hermes rewrite the social skill on its own?
It might try. The learning loop authors skills from what just worked. Pin the vendor skill (hermes curator pin if your build has it) and put durable publishing law in SOUL.md so a self-authored 'how we posted Tuesdays' skill cannot override draft-first.
Should you pick Hermes over OpenClaw?
Pick Hermes if you want one agent that gets cheaper on repeat work, you are fine with fewer chat channels, and you like Python/YAML. Pick OpenClaw if you need iMessage, the wider ClawHub catalog, or a Gateway that already sits in every messenger. For social publishing, both call the same MCP server. A lot of people run both.