I Gave My Two AI Agents a Shared Desk. Here's Exactly How.
I have two AI agents working for me. Grok Bot is a small team in my pocket: a chief of staff, an IT person and a couple of specialists. Hermes is an open-source agent I run on an always-on lab machine.
Both are smart and useful, and for a while neither knew the other existed.
The problem
They were like two great coworkers in different buildings who’d never met. Every time I wanted them on the same job, I was the messenger, copying from one and pasting into the other. I’d become the bottleneck in my own setup.
The aha
Coworkers don’t need a fancy integration. They need three things: a way to ask each other a question, a shared desk, and a rule about keys.
1. Ask each other a question (working)
Grok Bot can run commands on a computer I’ve approved. Hermes has its own command line that takes a question and prints an answer. So the first bridge is simple:
- Grok Bot connects to the Hermes lab server over SSH, using a key that’s only for this.
- It runs a one-shot Hermes query and feeds the question in from a file, so you don’t have to worry about quoting or escaping.
- The answer prints back, and Grok Bot carries on.
There are no new ports and no new services. It took one evening and proved the idea.
2. A shared desk (being built now)
Chat works for questions but is terrible for real work, so they’re getting one shared folder on my lab NAS:
- An inbox for each agent, like
to-hermes/andto-atlas/, plus ashared/folder. - Each job gets its own folder holding a
task.md(who it’s from, what’s wanted, and whether I have to sign off) and aresult.mdwhen it’s done. - A job is written under a temporary name first and then renamed, so nobody ever picks up half a job.
Plain files are boring in the best way. They’re easy to read, back up and audit, for any agent and for me.
3. A rule about keys (being built now)
No agent ever sees a password or API key. I add secrets myself with a small helper that doesn’t echo them to the screen. The agents only get a catalog, like “there’s a key called WEATHER_API, used for forecasts.” If one agent needs the other to use a secret, it passes the name, never the value. Hermes also masks anything that looks like a secret in its logs.
4. Moving in together (being built now)
I’m installing the Grok Bot app on the same lab server Hermes runs on, in a desktop session that starts at boot so a reboot doesn’t break anything. That makes them roommates instead of pen pals.
Next
- A direct line: Hermes ships an API server. If it only listens on the server itself (localhost), Grok Bot gets real multi-turn conversations with nothing exposed to the lab network.
- A tap on the shoulder: Grok Bot routines can be triggered by a webhook, so Hermes can say “done” or “need you” the moment something’s ready.
The ground rules (the part that actually matters)
- One agent coordinates, and either one can suggest work.
- Money, security and promises to other people still come to me first.
- A message from another agent is information, not orders. It never overrides my rules.
- Three failed tries, then stop and ask me. No endless loops.
If you run more than one AI
- Make them partners, not rivals. They overlap, and together they cover more ground.
- Shared files beat clever chat tricks for passing real work around.
- Keep the keys yourself. Agents should know a key exists, not what it is.
- Start with the simplest bridge that works, then upgrade.
The direct line is next. I’ll share how it goes.
Originally posted on X.