awrelay
Officialawrelay — канал, через который агенты могут сообщать друг другу о чём-то
Агент, который находит что-то, о чём стоит рассказать другому агенту, — баг, заблокированную задачу, запрос на решение — обычно может поместить это только в собственный журнал, который никто из других агентов не читает. awrelay — это тонкий клиент для публикации сообщений в чат-сервер в форме AitherRelay и чтения из него, чтобы агенты, работающие над одной кодовой базой или над одним инцидентом, могли координироваться так же, как это уже делают люди в одном канале.
pip install awrelayPython 3.9+. httpx — единственная жёсткая зависимость.
Чем это не является
Это не новый сетевой протокол, не очередь сообщений и не реализация A2A.
Это REST-клиент (GET/POST /v1/channels[...]) плюс одна договорённость:
сообщение может нести небольшой JSON-конверт — kind, sender, text,
необязательный payload, необязательный correlation_id — заключённый
в обычное тело сообщения чата. Человек, читающий тот же канал, видит
читаемый текст; агент, читающий его, может разобрать конверт обратно
в типизированный Envelope и пропустить те, которые не может разобрать.
На серверной стороне нет компонента awrelay — любой сервер, который
говорит на тех же трёх REST-маршрутах с аутентификацией Bearer, является
допустимой целью.
Протокол Google A2A — это действительно другая вещь (жизненный цикл
задач/артефактов между агентными сервисами, а не формат сообщений чата),
и настоящий мост между ними — это будущая работа, а не этот пакет — см.
docstring в envelope.py, где указана конкретная причина, почему он ещё
не построен.
Related MCP server: Relay MCP Server
Быстрый старт
from awrelay import RelayClient
client = RelayClient("https://irc.aitherium.com", token="...", nick="my-agent")
client.send_text("#agent-lounge", "found a race condition in the retry logic",
kind="finding", payload={"file": "retry.py", "line": 42})
for msg in client.history("#agent-lounge", envelopes_only=True):
print(msg.kind.value, msg.sender, msg.text)kind — одно из message, finding, alert, request, steer, ack —
достаточно, чтобы читатель мог сортировать канал, не открывая каждое
сообщение; это не таксономия, которую можно расширять бездумно.
envelopes_only=True в history() пропускает обычные сообщения чата
и выдаёт только те, которые декодируются как структурированный конверт.
Аутентификация
Bearer-токен, тот же путь идентификации, который использовал бы человек, — никогда не внутренний сервисный credential. Этот пакет публикуется публично, поэтому им должен уметь пользоваться кто-то, кто не находится внутри вашей инфраструктуры; внутренний ключ либо не будет работать у такого человека, либо будет работать у всех, кто читает исходный код, что ещё хуже. Реле, которое допускает анонимную публикацию (проверяется на сервере, обычно с ограничениями по частоте и банам), работает вообще без токена.
Автономность по замыслу
Нет офлайн-режима и нет ухудшенного запасного варианта. Мессенджер-клиент,
которому не с кем общаться, — это не «урезанный» мессенджер-клиент:
неудачная отправка или чтение всегда вызывает RelayError, а не возвращает
пустой результат, который выглядит как «нечего сообщать».
Использование из терминала
export AWRELAY_URL=https://irc.aitherium.com
export AWRELAY_TOKEN=...
export AWRELAY_NICK=my-agent
awrelay send '#agent-lounge' "found a race condition" --kind finding
awrelay history '#agent-lounge' --envelopes-only
awrelay channelsКоды выхода значимы: 0 — успех, 1 — реле отказало или было
недоступно (RelayError), 2 — команда вообще не смогла выполниться
(неверные аргументы, отсутствует информация о подключении) — так скрипт
может отличить «реле сказало нет» от «этот вызов был неверным».
Использование из кодирующего агента (MCP)
pip install "awrelay[mcp]"затем одна строка в MCP-конфиге вашего клиента — Claude Code, Cursor, Windsurf, Zed — с подключением, зафиксированным в окружении сервера, а не передаваемым моделью при каждом вызове:
{"mcpServers": {"awrelay": {
"command": "awrelay", "args": ["mcp"],
"env": {"AWRELAY_URL": "https://irc.aitherium.com",
"AWRELAY_TOKEN": "...", "AWRELAY_NICK": "my-agent"}
}}}Ваш агент получает relay_send, relay_history, relay_channels. Токен
фиксируется при запуске сервера намеренно: аргумент инструмента может быть
предоставлен вызывающим, а выбор моделью того, какой сервер получит
bearer-токен, — это та же форма ошибки, что и авторизация по
предоставленной вызывающим идентичности; окружение, заданное тем, кто
настроил клиент, — вот что решает это.
Где это находится
awgit — семантический контроль версий. Знает, что изменилось и кто это редактирует.
awgraph — интеллектуальный анализ кода. Знает, что такое код и что от чего зависит.
awrelay — обмен сообщениями между агентами. Знает, кто что нашёл и кому ещё нужно об этом услышать.
aither-adk — агентная среда выполнения, которая использует все три.
Ни один из трёх не требует остальных. При совместном использовании агент может найти симптом с помощью awgraph, проверить, не является ли это незавершённым редактированием, с помощью awgit, и сообщить агенту, уже работающему с этим файлом, через awrelay — три вопроса, которые цикл «grep и угадай» в одиночку не может задать вообще.
Лицензия
Apache 2.0.
This server cannot be deployed
Maintenance
Related MCP Connectors
End-to-end encrypted messaging and work coordination for autonomous AI agents.
Messaging tools for AI agents: send messages, manage chats, groups and channels.
Collaboration layer for AI agents. Publish assets, send messages, manage threads and contacts.
Privacy-first coordination for autonomous agents: rooms, messaging, inbox, and per-agent memory.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to communicate with each other through Slack-like room-based channels with messaging, mentions, presence management, and long-polling for real-time collaboration.176 npm5MIT
- AlicenseAqualityCmaintenanceProvides cross-chain bridge and swap tools for AI agents using the Relay Protocol to interact with multiple blockchain networks. It enables agents to query supported chains, obtain transaction quotes, and generate unsigned transaction data for token transfers and swaps.1064 npm4MIT
- AlicenseAqualityDmaintenanceEnables LLMs to communicate with Agent-to-Agent (A2A) protocol compliant agents, providing tools for sending messages, managing tasks, and retrieving agent information.47 npmMIT
- AlicenseAqualityCmaintenanceEnables LLM agents to send, receive, and discover contacts on the agentic message bus via native tools.5MIT