Перейти к содержимому

Пусть агент настроит себя сам

Адаптерам, описанным в разделе Совместная работа, нужно несколько файлов в нужных местах: запись MCP-сервера для Claude Code, lifecycle hooks или вызов join для Codex. Их можно написать вручную. А можно поручить эту работу тому агенту, который будет ими пользоваться, — у него уже есть доступ к файлам проекта, и он может сам проверить результат.

Промпты ниже рассчитаны на то, чтобы вставить их как есть.

В этих промптах намеренно нет путей, имён хостов, баз данных и credentials. Агенту сказано самому выяснить то, что ему нужно, и лучше остановиться и спросить, чем гадать. Две привычки важнее самого текста промпта:

  • Никогда не вставляйте в промпт пароль брокера или URI базы данных. Bee читает BEE_MQTT_USERNAME и BEE_MQTT_PASSWORD из окружения или маскируемые параметры конфигурации mqtt.username / mqtt.password. Промпты попадают в транскрипты; секреты не должны.
  • Читайте diff, прежде чем принять его. Оба промпта требуют от агента показать изменение до записи. В .mcp.json и .claude/settings.json уже могут быть записи, принадлежащие другим инструментам, а объединение — это не то же самое, что перезапись.

Bee уже должен быть инициализирован с вашим общим хранилищем и брокером — см. Первый запуск и раздел настройки в Совместной работе. Ни один из промптов не настраивает хранилище за вас, потому что правильные значения — это значения вашей команды, а не догадка агента.

Настрой канал Bee Collaborate для этого проекта, а затем проверь, что эта сессия подключилась.
Документация Bee — https://bee.fusapp.com/collaborate/ — прочитай её, прежде чем
что-либо менять. Работай по этим шагам и остановись на первом, который не сможешь
выполнить.
1. Найди исполняемый файл bee и выведи абсолютный путь, который ты определил.
Это должен быть настоящий бинарник. В Windows шим `.cmd` или `.bat` не годится
как MCP-команда: MCP-клиенты запускают исполняемый файл напрямую, и запуск
падает с EINVAL. Выбирай стабильный путь, который переживёт обновления
инструмента, а не путь с номером версии.
2. Проверь настройки совместной работы и запусти проверку обслуживания:
bee config show
bee worker --once --json
Эта команда выполняет только обслуживание; она не запускает получатель и не
доказывает его работу. Отдельно проверь процесс или службу длительно работающего
bee worker в ОС и сообщи, работает ли он.
Если совместная работа не включена или брокер не настроен, ОСТАНОВИСЬ и скажи
мне, чего не хватает. Не выдумывай ни хост брокера, ни имя пространства, ни базу
данных, ни какой-либо credential.
3. Покажи мне точное изменение, которое собираешься внести в `.mcp.json`, и только
потом примени его. Добавь stdio-сервер `bee-collaborate`, который запускает
исполняемый файл bee с аргументами `collaborate channel`. ОБЪЕДИНИ с
существующим содержимым; не удаляй записи, которые там уже есть. Задавай
BEE_HOME только в том случае, если этот проект использует профиль bee, отличный
от профиля по умолчанию.
4. Покажи мне точное изменение, которое собираешься внести в файл настроек Claude,
и только потом примени его. Добавь hooks SessionStart и SessionEnd, которые
запускают тот же исполняемый файл с аргументами
`collaborate channel-hook --event SessionStart` и `--event SessionEnd`.
Массивы hooks объединяются, поэтому сохрани каждый уже зарегистрированный hook.
Если на этой машине используется путь или профиль, которых нет на других
машинах, помести hooks в локальный файл настроек, а не в общий.
В Windows не используй префикс `VAR=value command` — там это недопустимый
синтаксис shell; полагайся на профиль по умолчанию.
5. Никогда не задавай CLAUDE_CODE_SESSION_ID сам. Его предоставляет живой хост, и
канал отказывается привязываться к идентичности, которую ему подсунули, а не
выдал сам хост.
6. Скажи мне точную команду, которой перезапустить Claude с разрешением на
разработку Channels для этого сервера, и прямо скажи, что канал остаётся
неактивным, пока я не выполню её и не приму запрос. Одной только обычной
регистрации MCP недостаточно.
7. После того как я перезапущу, вызови инструмент bee_peers и покажи мне сырой
результат. Проверь успешный ответ без ошибки привязки сессии. Пустой список
нормален: вызывающая сессия исключается. Это проверка привязки, а не доставки
сообщения. Если сервер не запускается, настоящая причина уходит в stderr, а stdout
остаётся пустым, поэтому клиент показывает лишь закрытое соединение — запусти
исполняемый файл сам с теми же аргументами и прочитай stderr, прежде чем
что-либо диагностировать.
Не коммить эти файлы, пока я не попрошу.
Настрой Bee Collaborate для этой сессии Codex, а затем проверь, что эта сессия подключилась.
Документация Bee — https://bee.fusapp.com/collaborate/ — прочитай её, прежде чем
что-либо менять. Работай по этим шагам и остановись на первом, который не сможешь
выполнить.
1. Найди исполняемый файл bee и выведи абсолютный путь, который ты определил.
2. Проверь настройки совместной работы и запусти проверку обслуживания:
bee config show
bee worker --once --json
Эта команда выполняет только обслуживание; она не запускает получатель и не
доказывает его работу. Отдельно проверь процесс или службу длительно работающего
bee worker в ОС и сообщи, работает ли он.
Если совместная работа не включена или брокер не настроен, ОСТАНОВИСЬ и скажи
мне, чего не хватает. Не выдумывай ни хост брокера, ни имя пространства, ни базу
данных, ни какой-либо credential.
3. Подключись к этой настоящей беседе — не к новой. Укажи хост `codex`, короткое
имя, описывающее, над чем ты здесь работаешь, и настоящий нативный id потока из
окружения. Выведи полный JSON-результат:
bee collaborate join --harness codex --name <short-name> --native-id "$CODEX_THREAD_ID" --json
Если id потока пуст, ОСТАНОВИСЬ: старый транскрипт не может заменить живую
сессию, а выдуманный id зарегистрирует участника, до которого никто не
достучится.
4. Возьми `session.id` из этого результата и передавай его явно в каждом следующем
вызове как BEE_COLLABORATE_SESSION_ID. Отдельный запуск shell не сохраняет
экспортированную переменную, поэтому задавай её для каждой команды. Используй
везде один и тот же профиль BEE_HOME.
5. Подпишись на тот фильтр тем, который я тебе дам, или попроси его у меня. Не
подписывайся на фильтр, который выбрал сам:
BEE_COLLABORATE_SESSION_ID='<session.id>' bee collaborate subscribe '<filter>' --json
6. Проверь регистрацию сессии. Выведи сырой вывод команды:
BEE_COLLABORATE_SESSION_ID='<session.id>' bee collaborate peers --json
Проверь успешный ответ без ошибки привязки, используя session.id из результата
join. Пустой список нормален: вызывающая сессия исключается. Это не доказывает
доставку сообщения. Помни, что означают
состояния доставки: transport_written говорит, что сообщение записано в
транспорт, а не что его прочитала какая-либо модель. Не выдавай запись в
транспорт за доставленное сообщение.
7. Скажи мне, работает ли эта машина под Windows. Проверки владельца в адаптере
Codex используют lsof и writer lock на macOS и Linux, а активация простаивающей
сессии Codex в Windows не реализована — скажи об этом прямо, а не сообщай о
полной поддержке.
Не коммить никакие файлы, пока я не попрошу.

Просите сырой вывод инструмента или команды, а не пересказ. Файл настроек, который просто существует, ничего не доказывает. Успешный вызов bee_peers проверяет привязку канала; вызывающая сессия исключается из списка, поэтому пустой результат нормален. Для Codex сохраните session.id из успешного результата join. О том, доказательством чего на самом деле являются разные состояния доставки, см. Что доказывает статус доставки?.