From Zero to AI Agent in 10 Minutes: Connect Hermes to Your ChatGPT Subscription
Turn an existing ChatGPT subscription into a working Hermes agent across chat, Discord, and terminal in about 10 minutes.
You Already Have the Hard Part
If you're paying for ChatGPT Plus or Pro, you already have access to one of the most capable AI models on the market. You're also paying for it whether you use it to its full potential or not.
Here's what most people don't realise: that ChatGPT subscription can power an AI agent across your terminal, browser, IDE, and a large set of messaging platforms. Telegram and Discord are just the obvious starting points. The same agent can read files, run commands, search the web, and remember who you are across sessions.
The tool that makes this possible is Hermes Agent — an open-source AI agent by Nous Research that connects to your existing ChatGPT subscription through your browser login. No API key gymnastics. No extra subscription. Just your existing account.
I'm going to walk you through the entire setup, step by step, from a fresh install to a working AI agent connected to ChatGPT. By the end, you'll have Dade (or whatever you name yours) responding to you on Telegram.
The whole thing takes about 10 minutes.
What You'll Need
- A computer running Linux, macOS, or WSL on Windows
- A ChatGPT Plus or Pro subscription
- An account on whichever channel you want to use first — Telegram is easiest, but Discord, Slack, WhatsApp, Signal, Email, Matrix and more are supported
- 10 minutes
That's it. No GPU required. No local model downloads. No £3,000 hardware.
Step 1: Install Hermes Agent
Open a terminal and run:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
This gives you:
- The
hermescommand-line agent - Python 3.11 in a virtual environment
- Node.js for browser and file tools
- An interactive setup wizard
Once the install finishes, you'll see the Hermes banner. You're ready to configure.
Step 2: Connect to ChatGPT
This is the part that blows people's minds. You don't need an OpenAI API key. You don't need to set up billing. You just log in with your browser — the same way you log into ChatGPT itself.
Run:
hermes auth add openai-codex --type oauth
Your browser will open to chatgpt.com. Sign in with your existing ChatGPT account. Authorise the connection. That's it.
Hermes uses your ChatGPT subscription directly. If you have Plus, you get Plus-tier models. If you have Pro, you get Pro-tier models. Your existing limits and allowances apply — you're not paying anything extra.
If you prefer the interactive route, you can also run:
hermes model
This launches a menu where you can select your provider and model. Choose "OpenAI Codex" and follow the login flow. Same result.
Step 3: Set Your Default Model
After connecting, choose your default model. I run GLM-5.1 through Ollama Cloud as my daily driver, but for a first-time setup with ChatGPT, you'll want one of the GPT models:
hermes model
# → Select "OpenAI Codex" provider
# → Choose gpt-5.3-codex (or whatever your plan supports)
Or set it directly in your config:
# ~/.hermes/config.yaml
model:
default: gpt-5.3-codex
provider: openai-codex
base_url: https://chatgpt.com/backend-api/codex
Important: The provider: openai-codex setting tells Hermes to use your ChatGPT browser session, not the OpenAI API. This is what makes it work with your existing subscription.
Step 4: Test It Works
Run a quick test:
hermes chat -q "What time is it in London right now?"
If you get a response — congratulations. You now have a working AI agent connected to your ChatGPT subscription. The entire setup took less time than making a cup of tea.
Step 5: Connect Telegram — or Any Gateway Platform
This is where it gets fun. The same agent that just answered you in the terminal can also respond through the Hermes gateway. The platform list has grown a lot: current Hermes docs list 19 named messaging/home platforms, plus API server and webhook routes for browser or OpenAI-compatible frontends.
Supported gateway platforms now include:
- Telegram, Discord, Slack, WhatsApp, Signal, SMS and Email
- Matrix, Mattermost, DingTalk, Feishu/Lark, WeCom, Weixin, BlueBubbles/iMessage, QQ and Yuanbao
- Microsoft Teams and Home Assistant
- API Server and Webhooks for browser/front-end integrations
For this walkthrough, I'll use Telegram because it is the quickest path for a first test. Discord and the other platforms use the same gateway idea: add the platform credentials, start the gateway, then message your agent.
Telegram Setup
-
Create a Telegram bot:
- Open Telegram, search for @BotFather
- Send
/newbot - Give it a name (I called mine "Dade")
- Give it a username (must end in "bot")
- Copy the bot token you get back
-
Add the token to Hermes:
hermes config edit # Add your TELEGRAM_BOT_TOKEN to .env: # Or run: hermes gateway setup # → Select Telegram → paste your token -
Start the gateway:
hermes gateway install hermes gateway start -
Open Telegram, find your bot, and send it a message. You should get a response from your ChatGPT-powered agent.
Discord Setup
Same process, but with a Discord bot token from the Discord Developer Portal. Create an application, add a bot, copy the token, and run hermes gateway setup selecting Discord.
Supported platforms: Hermes now supports 19 named gateway platforms plus API server/webhook routes — not just Telegram and Discord. One agent, many front doors.
Step 6: Make It Yours — Memory and Personality
Right now your agent is smart but generic. Let's fix that.
Give It a Name
In your terminal:
hermes
Then in the chat:
From now on, call yourself [your agent name]. You are my personal AI assistant. Remember that.
Hermes saves this to persistent memory. Every future session, it'll remember its name and role.
Set Up Memory
Memory is enabled by default. Hermes will remember:
- Who you are and your preferences
- Project details and conventions
- Lessons learned from mistakes
- Environment details (OS, tools, file paths) Check out my memory guide on how to optimise it.
You can check what it remembers:
hermes memory status
Smart Model Routing (Optional but Recommended)
If you find that simple questions are burning through your ChatGPT allowance, set up smart routing to send easy queries to a cheaper model:
# ~/.hermes/config.yaml
smart_model_routing:
enabled: true
max_simple_chars: 220
max_simple_words: 40
cheap_model:
provider: custom
model: qwen3.5:9b
base_url: http://localhost:11434/v1
With Ollama installed locally (free), short queries like "what time is it" hit your local model instead of ChatGPT. Complex tasks still go to your subscription. This is how I run 547 million tokens per week for £9 like I do.
Troubleshooting
"HTTP 401 Unauthorized"
If hermes chat returns a 401 error:
- Make sure you completed the browser login:
hermes auth add openai-codex --type oauth - Try again — the auth token can take a moment to propagate
- Check your ChatGPT subscription is active at
chatgpt.com
Agent responds on terminal but not on Telegram
- Check the gateway is running:
hermes gateway status - Check logs:
~/.hermes/logs/gateway.log - Restart the gateway:
hermes gateway restart
Want to use a different model?
Just run hermes model and pick a different one. You can swap models mid-conversation with /model model-name.
Why This Matters
I've been running Hermes for a while now. It now manages my to-do lists, controls token spend, searches the web, prepares briefing notes, drafts blog posts, monitors my server, manages cron jobs, and remembers context across every platform I use. All powered by the same ChatGPT subscription I was already paying for.
The laptop I tested this on? A £50 refurbished HP running Ubuntu. No GPU. No local model downloads. The laptop is the remote control; ChatGPT does the heavy lifting.
Your ChatGPT subscription is an API key you're already paying for. You just weren't using it like one.
What's Next
- Add more providers — OpenRouter for model variety, Anthropic for Claude, local Ollama for free inference
- Set up cron jobs —
hermes cron create "30m"to have your agent check things every 30 minutes - Install skills —
hermes skills browseto see what your agent can learn - Add a local model — I'll show you how to pick one in the next guide
Found this useful? 👉 Follow @Raf_VRS for more AI Guides updates 👉 Support independent AI: ko-fi.com/rafvrs #SelfHosting #AIAgents #HardInterference