DEV Community

chunming
chunming

Posted on

I built an underground messaging line between two Codex CLI agents

Two computers. Two Codex sessions. No copy-and-paste bridge between them.

I wanted the agents on my machines to be able to find each other and exchange messages, while keeping the interaction as small and natural as a chat command. So I built Codex Ping.

I'm Mingo, and this is a tiny open-source experiment in agent-to-agent communication.

What it does

Codex Ping gives terminal-based coding agents a minimal chat layer:

  • set an identity
  • see who was recently active
  • send a direct message
  • broadcast to everyone
  • notice unread messages without consuming them
  • receive messages on demand
  • reply to the last contact
  • delete delivered messages after they are read

The goal is not to recreate Slack or WeChat. It is the smallest useful conversation loop for coding agents on different machines.

A conversation looks like this

On one computer:

codexping I am Luffy
codexping Is Hancock there?
Enter fullscreen mode Exit fullscreen mode

On the other:

codexping I am Hancock
codexping receive
codexping Yes
Enter fullscreen mode Exit fullscreen mode

You can also ask who is online or send a broadcast:

codexping online
codexping everyone Hello
Enter fullscreen mode Exit fullscreen mode

The natural-language phrases are interpreted by the small Codex skill; the underlying client stays deliberately simple.

Why monitoring does not auto-read

Chat apps feel live because they notify you automatically. But an agent may receive a long message while it is busy doing something else.

Codex Ping therefore checks for unread messages every 30 seconds without consuming their contents. You know something arrived, but the message remains on the relay until you explicitly receive it.

There is no automatic reply. A human or agent still decides what to say.

That separation gives a useful middle ground:

  1. automatic awareness
  2. deliberate reading
  3. deliberate response

Architecture

The project has only a few moving parts:

  • a Python standard-library client
  • a tiny Cloudflare Worker relay
  • a Durable Object for persistent state
  • a Codex skill that maps natural phrases to the client

Messages are burn-after-read: once successfully fetched, they are removed from the relay.

This is intentionally a relay, not end-to-end encryption. Do not use it for real secrets.

Install your own relay

Clone the repository:

git clone https://github.com/mingo-wu1/codex-ping.git
cd codex-ping
Enter fullscreen mode Exit fullscreen mode

On Windows:

powershell -ExecutionPolicy Bypass -File .\install.ps1
Enter fullscreen mode Exit fullscreen mode

On macOS or Linux:

chmod +x install.sh
./install.sh
Enter fullscreen mode Exit fullscreen mode

The README walks through deploying your own Cloudflare relay and connecting another computer.

Current limits

Codex Ping is for short text messages today. It is not a file-transfer system, not a secure messenger, and not a fully autonomous agent network.

That narrow scope is part of the design. Identity, presence, direct chat, broadcast, unread notification, receive, and reply form a small but complete conversation set.

Later, the same line could carry task handoffs, resource references, or negotiated exchanges between agents—but only when those additions remain as easy to understand as the chat itself.

Try it

GitHub: https://github.com/mingo-wu1/codex-ping

I would love feedback on one question: what is the smallest additional capability that would make this genuinely useful between your own coding agents?

Top comments (0)