Want to access all premium content?

Become a paying subscriber to get access to all courses, guides like this, prompts and skills library, and $500+ worth of AI tools.

An idea comes to you while you’re walking. A client asks for something between meetings. You mean to write it down when you get home, then forget.

Hermes gives you somewhere to send those thoughts straight away. It’s a free, open-source agent from Nous Research that runs on your Mac and replies through Telegram. You can use your ChatGPT subscription login rather than setting up separate model API billing.

Send a voice memo to capture tasks, paste a client message for help with a reply, or ask for a plan based on what you’ve saved.

We’ll connect Hermes to a Telegram bot, teach it your preferences, and schedule a weekday morning plan. You’ll need a Mac that stays on, a ChatGPT Pro account, and Telegram on your phone.

Step 1: Install Hermes. Set it up on your Mac and connect your ChatGPT account.

Step 2: Create your bot. Get a Telegram bot token and your numeric user ID.

Step 3: Connect Telegram. Link the bot and keep Hermes running in the background.

Step 4: Teach it your rules. Save your preferences and test a voice memo.

Step 5: Schedule your morning plan. Get your priorities in Telegram each weekday.

Step 1: Install Hermes

Open Terminal and paste:

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

The installer sets up the required tools and opens a setup wizard.

Use the arrow keys to move and Enter to select. On checkbox lists, use Space to tick an option, then Enter to continue.

Choose these settings:

Wizard screen

What to choose

Coming from another agent?

n to start fresh

Select provider

OpenAI, then the ChatGPT/Codex subscription option

OpenAI Codex credentials

Use existing credentials, if offered

Select terminal backend

Local

Select platforms to configure

Leave every box unticked for now

Tools selection

Done

Help improve Hermes?

Choose your preference

Nous Portal appears in the provider list, but it uses a separate subscription. Choose OpenAI for the ChatGPT setup in this guide.

If you already use Codex on the Mac, Hermes may offer to reuse that login. Otherwise, follow the sign-in link, enter the one-time code, and approve the connection.

Leave Telegram unconfigured until Step 3.

After setup finishes, reload your shell configuration:

source ~/.zprofile

If the installer gives you a different reload command, use that one.

Start Hermes:

hermes

Ask, “What can you help me with?” and check that you get a response.

If sign-in fails, run hermes model to revisit the provider setup. Type /quit to leave the chat when you’re ready to continue.

Step 2: Create your bot

Your assistant needs a Telegram bot to receive your messages. You’ll restrict access to your own account in the next step.

  1. Open @BotFather in Telegram and send /newbot.

  2. Choose a display name, such as “Sam’s Desk.”

  3. Then choose a unique username ending in bot, such as samdesk_assistant_bot.

BotFather sends you a token: a long string with a colon in it. Copy it for setup, but don’t paste it into an ordinary chat or leave it visible in screenshots.

Anyone with the token can control the bot. If it’s exposed, use /revoke in BotFather and replace it.

Next, message @userinfobot to get your numeric Telegram user ID.

Copy the number, not your @username. Hermes will use it to decide which account is allowed to talk to the assistant.

Step 3: Connect Telegram

Return to Terminal and run:

hermes gateway setup

Choose Telegram, then enter the bot token and your user ID. If setup asks whether to start the gateway, choose yes.

Open your new bot using the link from BotFather, or search for its username. Tap Start, then send “hi.”

You should get a reply. If Hermes says you’re unauthorized, compare the allowed ID with the number from @userinfobot.

Install the background service so closing Terminal doesn’t stop the assistant:

hermes gateway install

If the service is already installed, continue to the status check:

hermes gateway status

Look for a message confirming that the gateway is supervised by launchd. This lets macOS manage the background process and restart it when needed.

Keep the Hermes background item enabled if macOS asks about it.

Finally, prevent the Mac from sleeping while plugged in. On a MacBook, look under System Settings, then Battery, then Options for the setting that prevents automatic sleep when the display is off. Desktop Macs may show it under Energy.

Keep the Mac powered, awake, and connected to the internet. A background service keeps Hermes running after Terminal closes; it doesn’t make a sleeping Mac available.

Step 4: Teach it your rules

Hermes keeps persistent notes about you and its setup. Use those for short preferences, and keep longer information, such as your task list, in a file.

Send this to your bot with your own details:

Save these preferences to memory:

- I'm a freelance designer. My clients include Northwind Cafe and Bloom Studio.
- When I send a voice memo, separate tasks, client requests, and ideas.
- Save tasks in ~/assistant/tasks.md as a checklist.
- Include the client name and a due date only when I provide one.
- Ask if a name, date, or instruction is unclear.
- Draft client replies in a short, friendly tone, but never send them.
- Keep your replies brief and use bullets.

Create the folder and file if needed. Show me exactly what you saved.

Review its confirmation. If Hermes asks to run a command, check that the command matches the folder and file you requested.

Now hold Telegram’s microphone button and send a test:

❝

“Northwind wants the menu draft by Friday, and remind me to invoice Bloom Studio.”

On a supported Apple silicon setup, Hermes can transcribe the memo locally without a separate speech API key. The first memo may take longer while it downloads the speech model.

Check that both tasks were saved, the client names are correct, and the invoice task wasn’t given a deadline you never mentioned.

If “Friday” could mean two different dates, answer the clarification before relying on the saved task. Ask Hermes to show the updated file so you can confirm the correction.

Step 5: Schedule your morning plan

Once the task list works, ask Hermes to check it on a schedule.

Scheduled runs start fresh, so include the file, timezone, output, and delivery instructions in the request:

Every weekday at 8:00 AM in [TIMEZONE], read ~/assistant/tasks.md and send my morning plan to this Telegram chat.

Include:
- Up to three tasks to tackle first
- Anything due today or tomorrow
- Any unfinished client replies recorded in the file

Keep it under 150 words. Don't invent deadlines or assume a task is complete. Don't change the file.

Confirm the schedule, timezone, delivery chat, and next run time.

Replace [TIMEZONE] with your timezone, then check the confirmation. You can use /cron list to inspect saved jobs.

Test it immediately:

Run my morning plan job now.

Compare the plan with tasks.md. It should prioritize what’s recorded there, rather than introduce new work or claim to know about messages you haven’t given it.

The scheduler runs on your Mac. If the Mac is asleep or switched off, the morning plan won’t run as expected.

Use cases

Once the bot is working, try these three jobs.

Use case #1: Draft a client reply

Paste a message and tell Hermes what you want to say:

Draft a reply to this message from Bloom Studio.

Confirm that Thursday works for the call, and ask whether they want the logo in two colors or three.

Message:
"Hi! Can we push our call to Thursday? Also, quick question about the logo colors."

Show the draft here. Don't send it.

Read the draft before copying it into email. Check that it confirms only what you authorized.

Use case #2: Set a reminder

Hand off something you need to remember later:

Remind me in two hours to call Northwind about the menu.

Check the time and delivery destination in the confirmation. For anything important, test a short reminder first so you know the notification reaches you.

Use case #3: Listen to your plan

Enable spoken replies:

/voice tts

Then ask:

Read me today's plan.

The response should arrive as a voice message you can play while you’re out.

Use /voice on for spoken responses after your voice memos, or /voice off to return to text-only replies. Speech output depends on the voice provider configured in your setup.

You can also ask what you still owe a client before a call, or schedule a Friday recap. Keep completed tasks marked in the file so those summaries reflect what’s finished.

Confirmed limitations

Hermes needs the Mac running it to stay on, awake, and online. Don’t assume messages sent while it was offline will be processed later; check the conversation and resend anything important.

The assistant can run commands and edit files on your Mac. Restrict Telegram access to your own user ID, protect the bot token, and review requests before approving them.

Subscription sign-in doesn’t mean unlimited use. Watch your account allowance as you add conversations and scheduled jobs.

Local transcription depends on supported hardware and configuration. Intel Macs may need a separate speech provider. Large voice messages can also hit Telegram download limits, so start with short memos.

Memory is limited, and transcription can get names or dates wrong. Keep detailed records in files and check the first few additions.

This guide was checked on October 30, 2026. Commands, provider support, and features may change.

Closing

Start with one voice memo and one morning plan. Check that the tasks reach the right file, names and dates are correct, and the scheduled message arrives when you expect it.

Then add your own clients and preferences. Use the assistant for a week before adding more routines, and correct the details it repeatedly misses. The useful part is having somewhere to put a request the moment you think of it, and finding it again when you’re ready to work.

See you in the next one :)