Show HN: Agent-exchange - messaging and coordination for terminal-based agents

cstub1 pts1 comments

GitHub - krasserm/agent-exchange: A toolkit for inter-agent messaging and coordination · GitHub

/" data-turbo-transient="true" />

Skip to content

Type / to search

Sign in<br>Sign upAppearance settings

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

krasserm

agent-exchange

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>3 Commits<br>3 Commits

.claude-plugin

.claude-plugin

.github/workflows

.github/workflows

agent-dispatch

agent-dispatch

agent-docker

agent-docker

agent-session-top

agent-session-top

agent-session-web

agent-session-web

agent-session

agent-session

docs/assets

docs/assets

plugin

plugin

site

site

.gitignore

.gitignore

AGENTS.md

AGENTS.md

README.md

README.md

View all files

Repository files navigation

agent-exchange: a toolkit for inter-agent messaging and coordination

agent-exchange enables supported terminal-based agents, currently Claude Code and Codex, to exchange messages through the asn command-line interface. It provides two doors into each session: a generic CLI for sending and receiving messages programmatically, and the agent's native terminal UI for direct human interaction. Sessions can run locally, remotely, or in containers.

A human typically gives a goal to a coordinator, which uses asn to organize other agent sessions. Coordinators and sub-coordinators are ordinary agent sessions given that role; there is no hidden orchestration engine. Worker sessions can communicate directly with peers. Humans can observe, guide, or take over any participant's session at any time.

agent-session-web shows every asn-managed session in one browser. Here a coordinator briefs a local Claude Code session, which uses asn to message a remote Codex peer; its reply returns to the same Claude Code conversation, while either terminal remains open to the human.

Projects

Project<br>Description

agent-session<br>The asn CLI for managing agent sessions, backed by persistent, distributed messaging infrastructure.

agent-session-web<br>A browser-based interface for viewing and interacting with all managed agent sessions.

agent-session-top<br>A terminal dashboard for monitoring agent sessions and opening any session for direct interaction.

agent-dispatch<br>A long-lived, intelligent front door that delegates work to project sessions or, for team requests, a coordinator.

agent-docker<br>A ready-to-use, non-root Docker environment for running agent sessions in local or remote containers.

agent-session is the core. The other projects add user interfaces, dispatch behavior, or an execution environment without introducing a different kind of agent session.

Getting started

Requirements

macOS or Linux

tmux and jq

uv and Python 3.13 or newer

an authenticated claude or codex executable on PATH

Feature<br>Additional requirements

Browser interface<br>Node.js 18 or newer and npm

Remote sessions<br>SSH access from the local machine to the remote machine that succeeds without prompting; Mutagen on the local machine; tmux, jq, and the authenticated agent executable on the remote machine

Container sessions<br>Docker and credentials for the selected agent on the machine running the container

asn prep --check reports missing requirements without making changes. Add --host HOST and/or --docker to check the intended remote or container placement. The agent-session README explains the preparation steps.

Claude Code and Codex are the two terminal-based agents supported today. Additional terminal-based agents can be integrated without changing the common asn interface.

Install asn

git clone https://github.com/krasserm/agent-exchange.git<br>cd agent-exchange<br>uv tool install --editable ./agent-session

The full asn CLI must be discoverable through PATH on the local machine before sessions are started, because sessions running directly on that machine invoke it themselves. Remote and container sessions receive an asn command limited to messaging and inspection during setup, so the full CLI does not need to be installed in those environments. If command -v asn prints nothing, run:

uv tool update-shell

Open a new terminal, then confirm that the executable is found through PATH:

command -v asn<br>asn --help

Start and message a session programmatically

Start Codex in an existing project directory:

asn start /absolute/path/to/project --agent codex

Claude Code is the default, so this starts Claude Code:

asn start /absolute/path/to/project

asn start prints a session key and a tmux session name. Use the key, or an unambiguous prefix, to address the session:

asn send SESSION_KEY "Review the authentication flow and summarize the main...

agent session sessions claude exchange terminal

Related Articles