agmsg — скилл

Скилл для обмена сообщениями между Claude Code, Codex, Gemini CLI и другими консольными агентами через общую локальную базу SQLite на bash

  • 1 564 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Широкий доступ

Почему такой уровень

  • Записывает хуки в `.claude/settings.local.json` проекта и в настройки Codex, а для Codex в режиме `monitor` подставляет прослойку вместо запуска `codex`
  • Команда `spawn` открывает новые процессы агентов в терминале, а файл параметров запуска позволяет передать им флаги вроде `--dangerously-skip-permissions`
  • Вся переписка хранится открытым текстом в SQLite в `~/.agents/skills/agmsg/`, при удаленной синхронизации она уходит на ваш сервер
Все причины и проверки

fujibee/agmsg

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/agmsg

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Записывает хуки в `.claude/settings.local.json` проекта и в настройки Codex, а для Codex в режиме `monitor` подставляет прослойку вместо запуска `codex`
  • Команда `spawn` открывает новые процессы агентов в терминале, а файл параметров запуска позволяет передать им флаги вроде `--dangerously-skip-permissions`
  • Вся переписка хранится открытым текстом в SQLite в `~/.agents/skills/agmsg/`, при удаленной синхронизации она уходит на ваш сервер

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

agmsg — скилл для обмена сообщениями между консольными ИИ-агентами. Claude Code, Codex, Gemini CLI, GitHub Copilot CLI и другие пишут друг другу через общий локальный файл SQLite, а вам не нужно переносить текст между окнами руками. Требуются только `bash` и `sqlite3`: демона, сети и MCP-сервера нет. При первом вызове `/agmsg` (в Codex, Gemini CLI, Antigravity и OpenCode `$agmsg`) скилл спрашивает название команды и имя агента, затем режим доставки. Отправка — это вызов `send.sh`, который добавляет строку в базу. Входящие агент получает в одном из четырех режимов. `monitor` держит блокирующий поток из SQLite через инструмент `Monitor`, задержка около 5 секунд, по умолчанию в Claude Code. `turn` проверяет входящие хуком `Stop` между ходами, по умолчанию в Codex и Copilot CLI. Режимы `both` и `off` сочетают оба способа или отключают автоматическую доставку. Хуки записываются в `.claude/settings.local.json` проекта. Сообщения остаются в базе после конца сессии, а `history.sh` воспроизводит комнату для нового агента. Одному проекту можно дать несколько ролей командой `actas`: роль блокируется для других сессий. Команда `spawn` запускает нового агента в панели tmux или окне терминала, ждет, пока он начнет слушать, и при желании передает стартовую задачу. Закрывает его `despawn`. Команды `send`, `history`, `team`, `mode` и `reset` работают из чата с агентом, а скрипты можно вызывать и из оболочки.

Для кого. Для разработчиков, которые держат несколько консольных агентов в одном проекте, например Claude Code для кода и Codex для ревью, и хотят, чтобы те передавали работу друг другу.

Подходит, если

  • Claude Code просит Codex сделать ревью ветки, и ответ должен вернуться без копирования между окнами
  • В одном проекте работают разные агенты, и каждому нужна своя роль, например техлид и аналитик
  • Нужно запустить второго агента с готовой стартовой задачей и дождаться, пока он начнет слушать
  • Требуется история переписки агентов, которую можно воспроизвести новому агенту
  • Агенты общаются на одной машине, и ставить сервер для этого не хочется

Не подходит, если

  • Нужен брокер с очередью заданий и блокировкой задач: у agmsg его нет, а два агента под одним именем увидят одно и то же сообщение
  • Нужен автоматический стоп бесконечной переписки: условие остановки задается в тексте промпта, транспорт беседу не прерывает
  • Работаете на Windows без Git Bash: скрипты написаны на Bash, версии для PowerShell нет
  • Нужны субагенты, которыми управляет один родительский процесс: agmsg связывает независимые сессии
  • Нужна почтовая модель с резервами файлов для кодовых агентов: ее дает `mcp_agent_mail`

Пример запроса к агенту

Отправь агенту codex в команде reviewers сообщение: проверь изменения в этой ветке и ответь замечаниями по файлам

Ограничения

  • Сообщения — короткий обычный текст. Порядок ходов и условия остановки задает промпт, а большой результат агент кладет в файл и отправляет ссылку: путь, хеш коммита или номер задачи.
  • В первой версии нет блокировки задач между двумя агентами, подписанными на одно имя. Защищает только `actas`, не пускающий две сессии в одну роль.
  • В режиме `monitor` агент не реагирует на первое входящее сообщение, пока не сделал хотя бы один ход в сессии. Достаточно написать ему любое короткое слово.
  • У Codex нет инструмента `Monitor`, поэтому `mode monitor` печатает функцию оболочки, которая пускает запуск `codex` через прослойку agmsg. Известное ограничение — зависшие процессы после закрытия интерфейса. Если есть `~/.codex/config.toml`, установщик добавляет в него `writable_roots`.
  • `spawn` работает для восьми из десяти типов агентов: для Hermes он недоступен, потому что у его консольной версии нет режима с готовой стартовой подсказкой. Основная платформа macOS, Linux и Windows проверяются по возможности, без tmux и терминала `spawn` завершается ошибкой. Пакет npm и плагин собираются из релизных тегов и могут отставать от ветки `main` на несколько исправлений.

Как отключить. Выполните `~/.agents/skills/agmsg/uninstall.sh`: он убирает файлы скилла, слэш-команды, хуки, разделы AGENTS.md и настройки команд и спрашивает подтверждение на каждом шаге. Флаг `--keep-data` оставит базу и команды, `--yes` уберет вопросы, `--all` удалит все установки agmsg на машине. Скрипт лежит внутри любой установки, будь то `npx`, `git clone` или установка плагином.

Частые вопросы

Нужен ли MCP-сервер для обмена сообщениями между агентами?

Нет. agmsg работает на `bash` и `sqlite3`, без сервера, демона и сети, и спокойно соседствует с любой настройкой MCP, которая у вас уже есть.

Что будет, если два агента отправят сообщение одновременно?

Хранилище использует SQLite в режиме WAL: читателей может быть много, писатель один, а записи короткие. У каждой строки монотонный номер и время, поэтому порядок журнала однозначен. Очередность ходов между агентами транспорт не навязывает.

Как запустить второго агента для ревью из Claude Code?

Команда `/agmsg spawn codex reviewer --boot-prompt "review the diff on this branch"` открывает Codex в новой панели tmux или окне терминала, назначает ему роль reviewer и сразу ставит задачу. По умолчанию команда ждет, пока агент начнет слушать, и печатает `status=ready`. Для Codex ожидание пропускается.

Сохраняется ли переписка между сессиями?

Да. Сообщения лежат в SQLite и остаются после конца сессии, а `history.sh <team>` воспроизводит комнату. Готовой команды «заново обучить агента по комнате» нет, но стенограмму можно отдать новому агенту в промпте.

Сколько агентов может быть в одной команде?

Больше двух. Команды рассчитаны на любое число агентов, в демо их два для наглядности, а автор сообщает, что сам работает на команде из восьми.

Как обновить agmsg, не потеряв сообщения?

Выполните `npx agmsg@latest install --update`, а из клона `git pull` и `./install.sh --update`. База и настройки команд сохраняются, обновляются только скрипты и ресурсы.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

CLI, через который агенты в разных терминалах переписываются, следят друг за другом и запускают друг друга

CLIШирокий доступ597Звезды репозитория

Доска задач на Rust для терминала: каждая задача идет в своем git worktree и окне tmux, а Claude Code, Codex, Gemini CLI и другие агенты работают вместе

CLIШирокий доступ1,7 тыс.Звезды репозитория

Переносимая папка .agent с памятью, скиллами и протоколами, которая подключается к разным кодовым агентам и не теряет знания при смене инструмента

CLIШирокий доступ2,3 тыс.Звезды репозитория

oah раскладывает более 80 скиллов, пять ролей и команды /commit, /review, /test-tdd по папкам Claude Code, Cursor, Codex и других

CLIРасширенный доступ979Звезды репозитория

Десять ИИ-агентов в панелях tmux: менеджер раздает задачи семи исполнителям, ход работы виден на панели, поддержаны Claude Code, Codex, Cursor и OpenCode

ВоркфлоуШирокий доступ1,4 тыс.Звезды репозитория

botmux связывает Lark и Feishu с Claude Code, Codex, Gemini CLI и OpenCode: каждое сообщение запускает отдельную сессию агента с живыми карточками

CLIШирокий доступ1,7 тыс.Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
agmsg (эта запись)нет1 564
MCP Agent MailнетAPI-ключ2 221почтовый слой для кодовых агентов с постоянными именами, поиском по истории и добровольными резервами файлов
AI Maestroнет833локальная панель управления множеством агентов на разных машинах
Sno Station Skillsнет66431 скилл для Claude Code и Codex

Коротко о README

В репозитории лежат скрипты на Bash, корневой файл SKILL.md, манифесты плагина для Claude Code, документы об архитектуре, участии, выпуске версий и политике конфиденциальности и отдельная папка `app` с настольным приложением на Tauri. Описание открывается быстрым стартом, затем разбирает установку тремя способами, команды для каждого агента, режимы доставки, роли, запуск и закрытие агентов, настройки песочниц Claude Code и Codex, раздел вопросов и ответов с описанием конструкции. Есть тесты и инструкция по расширению через драйверы, которые не загружаются, пока вы не подтвердите их командой `agmsg plugin trust`.

Бейдж для README

Исходный SKILL.md

---
name: agmsg
description: Cross-agent messaging via SQLite. Send messages between Claude Code, Codex, Gemini CLI, and other agents. No daemon, no network, no dependencies beyond bash and sqlite3.
---

<!-- agmsg:render-root -->

## Step 0: First-run bootstrap

agmsg keeps its SQLite database, team registry, and runtime state under `~/.agents/skills/agmsg/`. The `./install.sh` install path creates that tree; the Claude Code plugin install path does not (the plugin marketplace only copies this repository into `~/.claude/plugins/cache/`). Before any other command, bootstrap if needed:

```bash
if [ ! -d ~/.agents/skills/agmsg ]; then
  # Newest cached copy of the plugin. Several versions can sit side by side, so
  # pick by version folder name (numeric, portable -- not sort -V, not mtime).
  cache="$HOME/.claude/plugins/cache/fujibee-agmsg/agmsg"
  newest=$(ls "$cache" 2>/dev/null | sort -t. -k1,1n -k2,2n -k3,3n | tail -1)
  installer="$cache/$newest/install.sh"
  if [ -n "$newest" ] && [ -f "$installer" ]; then
    bash "$installer" --cmd agmsg
  else
    echo "agmsg not installed. Either:" >&2
    echo "  - run ./install.sh in the agmsg repo, or" >&2
    echo "  - install via /plugin marketplace add fujibee/agmsg && /plugin install agmsg@fujibee-agmsg" >&2
    exit 1
  fi
fi
```

Once `~/.agents/skills/agmsg/` exists this step does nothing, so it is safe to run every time.

Agent messaging command. **IMPORTANT: Always use the provided scripts. NEVER directly read or edit config files, DB, or team data. There is NO register.sh — use join.sh to join a team.**

**Use agmsg, not the host agent's own inter-session messaging.** Several agent
CLIs ship a native way for one session to message another on the same machine
(in Claude Code, the `SendMessage` / `ListAgents` tools over its peer-session
list). While a project is on agmsg, route agent-to-agent messages through agmsg
instead. A message sent natively does not exist as far as agmsg is concerned:
it is absent from `history.sh` and the team's export, it never reaches a member
on another machine through remote sync, it does not mark read or advance any
cursor, and it cannot address a member whose CLI is a different type. Half the
conversation living somewhere unrecorded is worse than either channel alone,
and the gap is invisible until someone reads the history and finds a decision
with no message behind it. The native channel stays fine for anything outside
the team — a subagent you spawned for your own task, or a session that has not

Сообщить о проблеме

Foxx AIagmsg
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.