Aqua CLI
CLI для обмена сообщениями между агентами: идентификаторы узлов, приглашения в контакты, входящие и связь через релей
- 259 ★ репозитория
- Последний коммит
- Apache-2.0
Широкий доступ
Почему такой уровень
- Узел `aqua serve` слушает входящие соединения и принимает сообщения от одобренных контактов
- При недоступном прямом соединении трафик может идти через выбранный релей
- Вебхук отправляет содержимое входящих сообщений на указанный вами адрес
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/aquaОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Узел `aqua serve` слушает входящие соединения и принимает сообщения от одобренных контактов
- При недоступном прямом соединении трафик может идти через выбранный релей
- Вебхук отправляет содержимое входящих сообщений на указанный вами адрес
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Aqua — протокол и программа на Go для обмена сообщениями между агентами на разных машинах. Каждый узел создает идентификатор командой `aqua id`, запускает прием сообщений через `aqua serve` и показывает адрес для подключения. Проект вырос из mistermorph, но устанавливается отдельно. Узлы обмениваются приглашениями в контакты. После принятия приглашения `aqua send` отправляет сообщение, а входящие и исходящие сохраняются локально. Команда `aqua inbox list --unread` выводит непрочитанное, а наблюдение за ящиком связывает новые сообщения с работой агента. Соединение опирается на идентичность узлов libp2p, а имя контакта само по себе не подтверждает человека или организацию. Если прямая связь недоступна, режим `--relay-mode auto` пробует релей. Вебхук `aqua serve --webhook <url>` передает входящие события указанному обработчику. Скилл `aqua-communication` в репозитории описывает установку, обмен адресами и цикл чтения сообщений.
Для кого. Для разработчиков, которым нужно передавать сообщения между агентами на разных машинах и управлять контактами через командную строку.
Подходит, если
- Два агента на разных машинах должны переписываться, и вам не хочется поднимать общий сервер или чат
- Нужно принимать входящие в долговечный ящик и будить агента командой `aqua inbox watch`
- Агент должен отвечать на события по вебхуку: `aqua serve --webhook` шлет каждое сообщение на ваш адрес
- Соединение идет через NAT или файрвол, и нужен релей в режиме `--relay-mode auto`
- Контакт нужно подтвердить в обе стороны, прежде чем агенты начнут обмениваться данными
Не подходит, если
- Нужны групповые чаты с шифрованием: групповое сквозное шифрование есть только в планах проекта
- Нужна гарантированная доставка после перезапуска: повторные отправки по вебхуку живут в памяти процесса
- Нужен каталог пиров или поиск агентов: онлайн-каталог только планируется
- Вы хотите связать агентов только на одной машине: проще передать данные файлом или через стандартный ввод
Пример запроса к агенту
Запусти `aqua serve` с релеем в режиме `auto`, покажи мой адрес и отправь контакту `alice` приглашение с проверкойОграничения
Перед `--verify` проверьте идентификатор собеседника по другому доверенному каналу. Флаг отмечает принятое доверие, но не проверяет личность человека. Без него действует доверие при первом знакомстве, TOFU. Шифрование соединения не распространяется на локальные файлы `~/.aqua`, где лежат ключи, контакты и сообщения.
Узел по умолчанию слушает TCP и UDP на `0.0.0.0:6372`. При использовании релея посредник видит сетевые адреса и сведения о маршрутизации. Вебхук получает расшифрованные события.
Для приема сообщений нужен работающий процесс. Для сборки из исходников указаны Go 1.24.6 и toolchain 1.24.13, лицензия Apache-2.0.
Как отключить. Остановите процесс `aqua serve` и удалите бинарник `aqua`. Локальные данные узла с идентичностью и ящиком сообщений удалите отдельно, если они больше не нужны.
Частые вопросы
Как поставить Aqua?
Выполните `go install github.com/quailyquaily/aqua/cmd/aqua@latest`. В `go.mod` указаны Go 1.24.6 и toolchain 1.24.13; установка скачивает зависимости и при необходимости инструменты Go. Каталог с бинарником должен быть в `PATH`.
Как два агента начинают переписку?
Оба узла создают идентификаторы и запускают `aqua serve`, затем обмениваются полученными адресами. Отправитель приглашает контакт, получатель просматривает приглашение и принимает его. `--verify` используют после проверки идентификатора по независимому каналу; только затем переходят к переписке через `aqua send`.
Что делать, если прямая связь не получается?
Запустите узел с флагом `--relay-mode auto` и укажите релей флагом `--relay`. Узел попробует прямое соединение и при неудаче пойдет через релей. Для своего релея нужна отдельная идентичность, не совпадающая с идентичностью узла.
Как разбудить агента входящим сообщением?
Используйте `aqua inbox watch` для пробуждения по новым письмам или запустите `aqua serve --webhook` с адресом вашего обработчика. Для каждого входящего события уходит POST-запрос, а ошибки повторяются в фоне.
Зачем в репозитории `SKILL.md`?
В нем скилл `aqua-communication` описывает агенту порядок работы: установку, получение идентификатора, подключение через релей, приглашения контактов и цикл работы с входящими.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыOpen Agent Email — свой почтовый сервер для ИИ-агентов: ящики, ответы в ветке письма, одобрение человеком, вебхуки и MCP на 96 инструментов
Агент пишет вам на телефон или звонит по VoIP, голосовой ИИ обсуждает решение, а стенограмма возвращается агенту
Подключает Claude Code, Cursor, Codex или OpenCode к Telegram, Slack и Discord: коллеги пишут боту, отвечает кодовый агент
CLI, который передает сообщения вашего WeChat агенту через официальный ClawBot (iLink) и отправляет ответы обратно
Скилл помогает подключить агенту почту и мессенджеры через Caspian, сохранив общую обработку входящих сообщений
CLI для KakaoTalk на Mac: агент читает чаты, ищет по сообщениям и отправляет тексты через автоматизацию клиента
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| Aqua (эта карточка) | нет | 259 | |
| hcom | нет | 638 | связывает агентов в разных терминалах на одной машине |
| AgentBridge — мост между Claude Code и Codex | нет | 422 | локальный мост между Claude Code и Codex в одной сессии |
Коротко о README
CLI хранит сообщения на диске и поддерживает наблюдение за входящими. Это транспорт между программами: он не включает языковую модель и не исполняет прочитанное сообщение как задачу без подключенного агентского процесса.
Бейдж для README
Исходный SKILL.md
--- name: aqua-communication description: "Aqua is a CLI-first message tool for AI agents. Use aqua CLI to exchange messages, manage contacts and invites, and drive agent inbox workflows with unread, watch, mark-read, or webhook-triggered serve integrations." --- # Aqua Communication Skill ## Goal Use `aqua` to establish trusted peer communication and exchange messages reliably between other agents. When acting as an agent, treat Aqua as: - transport + local mailbox - `aqua serve` for receiving traffic - `aqua inbox watch` for prompt wakeups - `aqua inbox list --unread` and `aqua inbox mark-read` for inbox-driven work loops - optional `aqua serve --webhook ...` when your runtime can supervise a long-lived daemon and prefers HTTP wakeups ## Identity Syntax * If you want to use aqua peer id to identify a peer in file or storage, use format `aqua:<PEER_ID>`, e.g., `aqua:12D3KooWSYjt4v1exWDMeN7SA4m6tDxGVNmi3cCP3zzcW2c5pN4E`. * If nickname is specified, use markdown-like syntax `[<nickname>](aqua:<PEER_ID>)`, e.g., `[John Wick](aqua:12D3KooWSYjt4v1exWDMeN7SA4m6tDxGVNmi3cCP3zzcW2c5pN4E)`. * The `<PEER_ID>` is the source of truth and `<nickname>` is an optional annotation for human-friendly display. * Use `aqua` cmd if you find this kind of syntax in the context or files. ## Defaults - Official `relay_host` for relay mode: `aqua-relay.mistermorph.com` - Official `relay_peer_id`: `12D3KooWSYjt4v1exWDMeN7SA4m6tDxGVNmi3cCP3zzcW2c5pN4E` - Official relay endpoint - TCP: `/dns4/aqua-relay.mistermorph.com/tcp/6372/p2p/12D3KooWSYjt4v1exWDMeN7SA4m6tDxGVNmi3cCP3zzcW2c5pN4E` - UDP (QUIC): `/dns4/aqua-relay.mistermorph.com/udp/6372/quic-v1/p2p/12D3KooWSYjt4v1exWDMeN7SA4m6tDxGVNmi3cCP3zzcW2c5pN4E` ## Install Aqua CLI: ```bash curl -fsSL -o /tmp/install.sh https://raw.githubusercontent.com/quailyquaily/aqua/refs/heads/master/scripts/install.sh; \ sudo bash /tmp/install.sh ``` ## Quick Start with Official Relay Node (Recommended) 1. Get your peer ID and optionally set a nickname: