two¢ents

Set it up

Budget an evening. The cron jobs wait until step 5.

1 · Install and first run

Linux / macOS / WSL2 / Termux

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Windows (PowerShell)

iex (irm https://hermes-agent.nousresearch.com/install.ps1)

Run hermes once to finish onboarding. Point the model section of ~/.hermes/config.yaml at Nous Portal, OpenRouter, OpenAI or your own endpoint. You need a Nous Portal subscription either way, since Portal serves the web and browser tools (see the docs, integrations → Nous Portal). Secrets go in ~/.hermes/.env, never in config.yaml.

2 · The messaging gateway

Configure Telegram or Slack (I tested both) and start the daemon. Install it as a systemd or launchd service so it survives reboots.

Start the gateway

hermes gateway

Access is all or nothing: an approved sender gets the whole agent. A new sender gets a one-time pairing code, which you approve:

Approve a paired user

hermes pairing approve telegram <code>

3 · The voice files

Keep ~/.hermes/SOUL.md under a screenful, since it loads into every session. The style guide goes in a skill:

~/.hermes/skills/editorial/house-style/SKILL.md (skeleton)

---
name: house-style
description: >
  House style for [publication]: voice, banned words, lede rules,
  sourcing standards, structure, and the 10-point scoring rubric.
  Apply when drafting or scoring any piece.
version: 0.1.0
---

## Voice
[register, reader, what we never do]

## Banned words and constructions
[the list — be specific, this is what the score checks]

## Sourcing
Every stat and quote carries a numbered source. One source = a hedge
or a cut, never a confident claim.

## Structure
Headline ≤ 70 chars · dek · lede ≤ 2 sentences · 2–3 sections ·
further-reading links.

## Scoring rubric (0–100)
[10 checks × 10 points — the Summarizer self-scores against these]

Prompt 1 has Hermes write both files from your samples with skill_manage, and skills.write_approval makes you confirm each write. There’s a skills hub (hermes skills browse / search / install), but don’t install a house style off the shelf.

4 · Safety settings, before any cron

5 · The cron jobs

Ask the agent to create the jobs (prompt 2), then check them:

Check and control the schedule

hermes cron list
hermes cron run <job>      # fire one edition now, watch it in Telegram
hermes cron status
hermes cron pause <job>    # holidays exist
hermes cron resume <job>

Fire runs by hand for the first few days. A mistake you catch by hand won’t repeat three times a day on a meter.

6 · RSS bridge (optional)

Skip it until cron proves too slow. Point an RSS-to-webhook service or a small crontab script at the webhook gateway:

Bridge target (route configured under platforms.webhook.extra)

POST http://your-server:8644/webhooks/rss-inbox
# port 8644 · shared secret · HMAC validation supported
# rate_limit 30/min · max_body_bytes enforced

Give the route a prompt template that checks the item against your bar and a delivery target of your Telegram thread.

Disagree? Pin a note on it →