惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tailwind CSS Blog
Engineering at Meta
Engineering at Meta
MongoDB | Blog
MongoDB | Blog
爱范儿
爱范儿
小众软件
小众软件
MyScale Blog
MyScale Blog
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
SegmentFault 最新的问题
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
V
V2EX
量子位
云风的 BLOG
云风的 BLOG
A
About on SuperTechFans
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
Martin Fowler
Martin Fowler
C
Check Point Blog
月光博客
月光博客

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Hermes-Backchannel
CyberShield · 2026-05-03 · via DEV Community
Cover image for Hermes-Backchannel

CyberShield

My AI agents were talking through Discord bots. I finally fixed it.
Github repo: https://github.com/3089464667/Hermes-Backchannel
I run three hermes agents on a PC. Separate processes. They're supposed to collaborate. For days they couldn't.
Here's everything I tried, and how each one failed.

Files on a cron job
Agent A drops a markdown file in a shared folder. Agent B's cron picks it up 60 seconds later. Writes a reply. Agent A's cron grabs that 60 seconds after that.
A yes/no question took two minutes. I watched my executor agent sit idle for 58 seconds waiting to receive "use port 8080 not 3000" and decided this approach was dead.
HTTP endpoints
Each agent binds a port. Each exposes a /receive route. POST some JSON, get a 200.
Now I'm managing ports. Auth tokens. Serialization overhead for messages that are just strings between processes on the same box. I ran ss -tlnp one night, saw those ports, and asked myself: why am I running a web server for the machine to talk to itself?
Redis
"Just use Redis pub/sub." And yes — PUBLISH agent:executor "hello" lands instantly. It works perfectly.
But now Redis is a service I run. Something to monitor. Something in my attack surface. For three processes passing strings to each other on localhost.
The Linux kernel has had inter-process communication since 1983. Installing a message broker for same-machine chat felt like calling a tow truck to open my glovebox.
Discord bots
This is where I hit bottom. Three agent identities, three Discord bot users, one private server. They typed messages to each other.
It worked. And it was ridiculous.

What I actually built
I wrote down what I actually needed on a sticky note:
Three processes. Same machine. Send text. Know if it was received. No ports. No services. Under a millisecond.
That's not a hard problem. Unix domain sockets handle every requirement. They're files — chmod 0600 and only the owning user touches them. The kernel manages everything. No TCP, no ports, no external dependencies.
So I wrote a thin layer on top. A tiny daemon per agent. Messages are push-and-disconnect — no persistent connections. The agent polls its daemon: "any messages for me?" The whole thing is Python, a few hundred lines, one pip install.
The actual innovation — the part I'd argue is new — is the session protocol. TCP-style handshakes: SYN, SYN-ACK, DATA, FIN, FIN-ACK. You actually know if your message was delivered. You know if the other agent accepted the task. You know when the conversation ends. Most agent communication today is throw-a-string-and-pray. That felt insufficient for agents that need to coordinate on real work.
Why this matters
If you're building multi-agent systems and your agents talk to each other through files or HTTP, you're burning latency and complexity on a problem your kernel solved decades ago.
It's not a framework. It doesn't orchestrate workflows. It just delivers messages between agent processes, reliably, in under a millisecond, with confirmation. That's the whole thing.