Присоединиться к звонку Google Meet, расшифровать его и отправить последующие сообщения

Когда пользователь просит агента присутствовать на встрече Google Meet, этот сценарий подключается к звонку, сохраняет живые субтитры в расшифровку, при явном выборе может говорить в режиме реального времени, а после встречи — подготовить резюме и запрошенные последующие сообщения.

Hermes Средний Скопировали: 0
1 ресурс

Что понадобится

  • Режим речи в реальном времени стоит денег (OpenAI Realtime тарифицируется поминутно по длительности аудио) и требует настроенного виртуального аудиоустройства на машине, где запущен бот.

Как применить

По умолчанию шлюзовая машина запускает бота Playwright локально. Для удалённого узла бот работает на другой машине с авторизованным Chrome; для режима реального времени там также должен быть настроен аудиомост — это полезно, если шлюз представляет собой головную Linux-машину, а авторизованный Chrome находится на Mac пользователя.

Выполните hermes meet setup, чтобы проверить локальные предварительные условия.

Все инструменты принимают node?: передайте имя зарегистрированного узла (или "auto" для единственного узла), чтобы управлять удалённым ботом вместо локального; не указывайте его для локальной работы.

Windows не поддерживается.

На удалённом узле расшифровка хранится на диске хоста узла; используйте meet_transcript(node=...), чтобы прочитать её через RPC.

Только URL-адреса вида https://meet.google.com/... соответствуют регулярному выражению.

Сканирование календаря и автоматический набор номера не предусмотрены.

Удалённые узлы используют аутентификацию по токену: токены генерируются на узле (32 символа шестнадцатеричного кода, сохраняются в $HERMES_HOME/workspace/meetings/node_token.json) и должны быть скопированы на шлюз через hermes meet node approve.

Речь через meet_say ограничена по скорости сессией OpenAI Realtime; защита от спама — задача бота, но всё же не отправляйте сотни строк подряд.

Режим реального времени выбирайте только тогда, когда пользователь действительно хочет, чтобы агент говорил.

Предварительные условия — это разовая настройка, которую должен выполнить пользователь; самый простой способ — запустить встроенный установщик.

Встроенный установщик обрабатывает зависимости pip и Chromium для режима расшифровки, а также дополнительные компоненты для режима речи в реальном времени, включая опциональную аутентификацию и проверку предварительных условий.

hermes plugins enable google_meet
hermes meet install                 # pip deps + Chromium (transcribe only)
hermes meet install --realtime      # + pulseaudio-utils / brew blackhole+ffmpeg
hermes meet auth                    # optional; skips guest-lobby wait
hermes meet setup                   # preflight checks

hermes meet install --realtime запрашивает подтверждение перед запуском sudo apt-get (Linux) или brew install (macOS); передайте --yes, чтобы пропустить запрос. При этом настройки стандартного ввода macOS не изменятся — вам нужно самостоятельно выбрать BlackHole 2ch в настройках системы перед началом встречи в реальном времени.

Как вариант, можно настроить всё вручную.

pip install playwright websockets && python -m playwright install chromium

# For realtime mode, additionally:
#   Linux:  sudo apt install pulseaudio-utils
#   macOS:  brew install blackhole-2ch ffmpeg
#           → System Settings → Sound → Input → BlackHole 2ch
#   Then set OPENAI_API_KEY or HERMES_MEET_REALTIME_KEY in ~/.hermes/.env

Для удалённого узла установите зависимости и включите плагин на машине с авторизованным Chrome, запустите на ней сервер узла, затем разрешите доступ к узлу со стороны шлюза и убедитесь, что он доступен.

# on the user's Mac (where Chrome is signed in):
pip install playwright websockets && python -m playwright install chromium
hermes plugins enable google_meet
hermes meet node run --display-name my-mac    # persistent server
# copy the printed token

# on the gateway:
hermes meet node approve my-mac ws://<mac-ip>:18789 <token>
hermes meet node ping my-mac                   # confirm reachable

Во время встреч в реальном времени meet_say(text="...") помещает текст в очередь для преобразования в речь; задержка речи составляет около 2 секунд, поэтому не стоит отправлять слишком много данных подряд.

Качество субтитров зависит от функции живых субтитров Google Meet, которая ориентирована на английский язык и даёт потери при перекрывающихся голосах.

В режиме гостя бот находится в лобби до тех пор, пока хозяин не впустит его; предупредите пользователя, так как hermes meet auth позволяет избежать этого.

Если хозяин не впустит бота в течение 5 минут (настраивается через переменную окружения HERMES_MEET_LOBBY_TIMEOUT), бот покинет встречу, и meet_status сообщит об этом в leaveReason: "lobby_timeout".

На одной установке в одном месте разрешается одна активная встреча; при попытке запустить второй экземпляр meet_join первая встреча будет прервана.

Режим реального времени требует виртуального аудиоустройства; если настройка аудиомоста завершится неудачно, бот переключится в режим транскрипции и отметит это в meet_status().error.

meet_say требует наличия mode='realtime' на исходящем meet_join; при вызове в рамках встречи в режиме транскрипции возникает явная ошибка.

Функция прерывания работы — это лишь попытка: когда подпись, относящаяся к реальному участнику, поступает во время генерации аудио ботом, бот отправляет response.cancel в OpenAI Realtime, но подписи появляются примерно через 500 мс, поэтому бот будет говорить поверх первой секунды человеческого прерывания.

Транскрипция встречи сохраняется в отдельном файле для каждой встречи в директории workspace meetings.

$HERMES_HOME/workspace/meetings/<meeting-id>/transcript.txt

Источник: nousresearch/hermes-agent и участники проекта. Лицензия: MIT.

Copyright (c) 2025 Nous Research

Перевод и редакционная адаптация: ClawCases.

>Ресурсы

>Похожие юзкейсы

Общение

Краткое изложение решения по правилу коммуникации 1-3-1

Составляет краткие изложения решений по правилу 1-3-1 для задач с несколькими приемлемыми вариантами, формулируя одно предложение, описывающее суть проблемы, три варианта с их плюсами и минусами, а также одну рекомендацию с определением готовности и планом реализации.

Hermes OpenClaw Начальный
Автоматизация Общение Финансы

Трекер отчётности компаний на базе ИИ

Следите за сезоном корпоративной отчётности десятков технологических компаний без ручной проверки разных источников и запоминания дат каждого отчёта в сфере ИИ и технологий.

OpenClaw Средний
Образ жизни Знания

Отслеживание питания и симптомов

Агент ведёт журнал питания и симптомов, чтобы пользователь мог просматривать возможные связи в собственных записях. Временные метки и напоминания помогают вести журнал регулярно, не принимая корреляции за подтверждённые причины.

OpenClaw Начальный

>Ещё на этом уровне: Средний