diff --git a/docs/uk/cli/node.md b/docs/uk/cli/node.md index 58f7ef929..8ca0b0cde 100644 --- a/docs/uk/cli/node.md +++ b/docs/uk/cli/node.md @@ -1,49 +1,49 @@ --- read_when: - - Запуск безголового хоста Node + - Запуск headless хоста Node - Сполучення вузла не на macOS для system.run -summary: Довідка CLI для `openclaw node` (безголовий хост Node) +summary: Довідка CLI для `openclaw node` (headless хост Node) title: Node x-i18n: - generated_at: "2026-04-24T04:12:39Z" + generated_at: "2026-04-24T05:21:35Z" model: gpt-5.4 provider: openai - source_hash: 002412b2ca7d0ed301cc29480ba7323ddb68dc6656bd6b739afab8179fa71664 + source_hash: 61b16bdd0c52115bc9938a0fc975369159a4e45d743173ab4e65fce8292af51e source_path: cli/node.md workflow: 15 --- # `openclaw node` -Запустіть **безголовий хост Node**, який підключається до Gateway WebSocket і надає +Запустіть **headless хост Node**, який підключається до WebSocket Gateway і надає `system.run` / `system.which` на цій машині. -## Навіщо використовувати хост node? +## Навіщо використовувати хост Node? -Використовуйте хост node, коли хочете, щоб агенти **виконували команди на інших машинах** у вашій -мережі без установлення там повноцінного супутнього застосунку macOS. +Використовуйте хост Node, коли хочете, щоб агенти **запускали команди на інших машинах** у вашій +мережі без встановлення там повноцінного допоміжного застосунку для macOS. Поширені сценарії використання: -- Виконання команд на віддалених Linux/Windows-машинах (сервери збірки, лабораторні машини, NAS). -- Збереження **ізоляції** exec на gateway, але делегування схвалених запусків іншим хостам. -- Надання легковажної безголової цілі виконання для вузлів автоматизації або CI. +- Запуск команд на віддалених Linux/Windows машинах (сервери збірки, лабораторні машини, NAS). +- Зберігайте **ізоляцію** exec на Gateway, але делегуйте дозволені запуски іншим хостам. +- Надайте легку, headless ціль виконання для вузлів автоматизації або CI. -Виконання все одно захищене **погодженнями exec** та списками дозволу для кожного агента на -хості node, тож ви можете зберігати доступ до команд обмеженим і явним. +Виконання все одно захищене **погодженнями exec** та списками дозволів для кожного агента на +хості Node, тож ви можете зберігати доступ до команд обмеженим і явним. ## Проксі браузера (нульова конфігурація) -Хости node автоматично оголошують проксі браузера, якщо `browser.enabled` не -вимкнено на node. Це дає агенту змогу використовувати автоматизацію браузера на цьому node -без додаткової конфігурації. +Хости Node автоматично оголошують проксі браузера, якщо `browser.enabled` не +вимкнено на вузлі. Це дозволяє агенту використовувати автоматизацію браузера на цьому вузлі +без додаткового налаштування. -Типово проксі надає доступ до звичайної поверхні профілю браузера node. Якщо ви +За замовчуванням проксі надає доступ до звичайної поверхні профілю браузера вузла. Якщо ви встановите `nodeHost.browserProxy.allowProfiles`, проксі стане обмежувальним: -націлювання на профілі поза списком дозволу буде відхилено, а маршрути +націлювання на профілі поза списком дозволених буде відхилено, а маршрути створення/видалення постійних профілів буде заблоковано через проксі. -За потреби вимкніть його на node: +За потреби вимкніть це на вузлі: ```json5 { @@ -63,27 +63,32 @@ openclaw node run --host --port 18789 Параметри: -- `--host `: хост Gateway WebSocket (типово: `127.0.0.1`) -- `--port `: порт Gateway WebSocket (типово: `18789`) -- `--tls`: використовувати TLS для з’єднання з gateway +- `--host `: хост WebSocket Gateway (типово: `127.0.0.1`) +- `--port `: порт WebSocket Gateway (типово: `18789`) +- `--tls`: використовувати TLS для підключення до gateway - `--tls-fingerprint `: очікуваний відбиток TLS-сертифіката (sha256) -- `--node-id `: перевизначити ідентифікатор node (очищає токен сполучення) -- `--display-name `: перевизначити відображуване ім’я node +- `--node-id `: перевизначити id вузла (очищає токен сполучення) +- `--display-name `: перевизначити відображувану назву вузла -## Автентифікація Gateway для хоста node +## Автентифікація Gateway для хоста Node -`openclaw node run` і `openclaw node install` визначають автентифікацію gateway із config/env (без прапорців `--token`/`--password` у командах node): +`openclaw node run` і `openclaw node install` визначають автентифікацію gateway з config/env (без прапорців `--token`/`--password` у командах node): -- Спочатку перевіряються `OPENCLAW_GATEWAY_TOKEN` / `OPENCLAW_GATEWAY_PASSWORD`. -- Потім резервний варіант із локальної конфігурації: `gateway.auth.token` / `gateway.auth.password`. -- У локальному режимі хост node навмисно не успадковує `gateway.remote.token` / `gateway.remote.password`. -- Якщо `gateway.auth.token` / `gateway.auth.password` явно налаштовано через SecretRef і не визначено, визначення автентифікації node завершується за принципом fail closed (без маскувального резервного переходу на remote). -- У `gateway.mode=remote` поля remote client (`gateway.remote.token` / `gateway.remote.password`) також придатні відповідно до правил пріоритету remote. -- Визначення автентифікації хоста node враховує лише змінні середовища `OPENCLAW_GATEWAY_*`. +- `OPENCLAW_GATEWAY_TOKEN` / `OPENCLAW_GATEWAY_PASSWORD` перевіряються першими. +- Потім використовується резервне значення з локальної конфігурації: `gateway.auth.token` / `gateway.auth.password`. +- У локальному режимі хост Node навмисно не успадковує `gateway.remote.token` / `gateway.remote.password`. +- Якщо `gateway.auth.token` / `gateway.auth.password` явно налаштовано через SecretRef і їх не вдається визначити, визначення автентифікації вузла завершується із закритою відмовою (без маскування резервним віддаленим варіантом). +- У `gateway.mode=remote` поля віддаленого клієнта (`gateway.remote.token` / `gateway.remote.password`) також можуть використовуватися згідно з правилами пріоритету для віддаленого режиму. +- Визначення автентифікації хоста Node враховує лише змінні середовища `OPENCLAW_GATEWAY_*`. -## Служба (у фоновому режимі) +Для вузла, що підключається до не-loopback `ws://` Gateway у довіреній приватній +мережі, встановіть `OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1`. Без цього запуск вузла +завершиться із закритою відмовою і запропонує вам використовувати `wss://`, SSH-тунель або Tailscale. +`openclaw node install` зберігає цю явну згоду в сервісі вузла під наглядом. -Установіть безголовий хост node як користувацьку службу. +## Сервіс (у фоновому режимі) + +Встановіть headless хост Node як користувацький сервіс. ```bash openclaw node install --host --port 18789 @@ -91,16 +96,16 @@ openclaw node install --host --port 18789 Параметри: -- `--host `: хост Gateway WebSocket (типово: `127.0.0.1`) -- `--port `: порт Gateway WebSocket (типово: `18789`) -- `--tls`: використовувати TLS для з’єднання з gateway +- `--host `: хост WebSocket Gateway (типово: `127.0.0.1`) +- `--port `: порт WebSocket Gateway (типово: `18789`) +- `--tls`: використовувати TLS для підключення до gateway - `--tls-fingerprint `: очікуваний відбиток TLS-сертифіката (sha256) -- `--node-id `: перевизначити ідентифікатор node (очищає токен сполучення) -- `--display-name `: перевизначити відображуване ім’я node -- `--runtime `: середовище виконання служби (`node` або `bun`) +- `--node-id `: перевизначити id вузла (очищає токен сполучення) +- `--display-name `: перевизначити відображувану назву вузла +- `--runtime `: runtime сервісу (`node` або `bun`) - `--force`: перевстановити/перезаписати, якщо вже встановлено -Керування службою: +Керування сервісом: ```bash openclaw node status @@ -109,41 +114,41 @@ openclaw node restart openclaw node uninstall ``` -Використовуйте `openclaw node run` для запуску хоста node у передньому плані (без служби). +Використовуйте `openclaw node run` для хоста Node у передньому плані (без сервісу). -Команди служби підтримують `--json` для машинозчитуваного виводу. +Команди сервісу приймають `--json` для машиночитаного виводу. ## Сполучення -Перше з’єднання створює в Gateway запит на сполучення пристрою в стані очікування (`role: node`). -Схваліть його за допомогою: +Під час першого підключення на Gateway створюється запит на сполучення пристрою, що очікує підтвердження (`role: node`). +Підтвердьте його за допомогою: ```bash openclaw devices list openclaw devices approve ``` -Якщо node повторює сполучення зі зміненими даними автентифікації (role/scopes/public key), -попередній запит у стані очікування замінюється, і створюється новий `requestId`. -Перед схваленням знову виконайте `openclaw devices list`. +Якщо вузол повторно намагається виконати сполучення зі зміненими даними автентифікації (role/scopes/public key), +попередній запит, що очікує підтвердження, замінюється, і створюється новий `requestId`. +Перед підтвердженням знову виконайте `openclaw devices list`. -Хост node зберігає свій ідентифікатор node, токен, відображуване ім’я та дані підключення до gateway у +Хост Node зберігає id вузла, токен, відображувану назву та інформацію про підключення до gateway у `~/.openclaw/node.json`. ## Погодження exec -`system.run` контролюється локальними погодженнями exec: +`system.run` захищено локальними погодженнями exec: - `~/.openclaw/exec-approvals.json` - [Погодження exec](/uk/tools/exec-approvals) - `openclaw approvals --node ` (редагування з Gateway) -Для схваленого асинхронного exec node OpenClaw готує канонічний `systemRunPlan` -перед запитом погодження. Пізніше переспрямування схваленого `system.run` повторно використовує цей збережений -план, тому редагування полів command/cwd/session після створення запиту на погодження -відхиляються, а не змінюють те, що виконує node. +Для схваленого асинхронного exec вузла OpenClaw готує канонічний `systemRunPlan` +перед запитом підтвердження. Подальше переспрямування схваленого `system.run` повторно використовує цей збережений +план, тому редагування полів command/cwd/session після створення запиту +на погодження буде відхилено замість зміни того, що виконує вузол. ## Пов’язане - [Довідка CLI](/uk/cli) -- [Nodes](/uk/nodes) +- [Вузли](/uk/nodes) diff --git a/docs/uk/plugins/google-meet.md b/docs/uk/plugins/google-meet.md index 66ac53106..525108eb5 100644 --- a/docs/uk/plugins/google-meet.md +++ b/docs/uk/plugins/google-meet.md @@ -2,13 +2,13 @@ read_when: - Ви хочете, щоб агент OpenClaw приєднався до дзвінка Google Meet - Ви налаштовуєте Chrome, вузол Chrome або Twilio як транспорт Google Meet -summary: 'Plugin Google Meet: приєднання до явно вказаних URL-адрес Meet через Chrome або Twilio з типовими налаштуваннями голосу в реальному часі' +summary: 'Plugin Google Meet: приєднання до явних URL Meet через Chrome або Twilio з типовими параметрами для голосу в реальному часі' title: Plugin Google Meet x-i18n: - generated_at: "2026-04-24T04:35:24Z" + generated_at: "2026-04-24T05:21:37Z" model: gpt-5.4 provider: openai - source_hash: 5c89587eeab8440b2ded2c352cc73209753fc4697d9fdf44cfe39de9d1d76b3f + source_hash: 055419591c83130e64303f76af666da60d7623f358d1e2a1f2f9d8cf89f5ce85 source_path: plugins/google-meet.md workflow: 15 --- @@ -17,15 +17,15 @@ x-i18n: Підтримка учасника Google Meet для OpenClaw. -Plugin є навмисно явним за дизайном: +Plugin є навмисно явним: -- Він приєднується лише до явно вказаної URL-адреси `https://meet.google.com/...`. -- Голос `realtime` є режимом за замовчуванням. -- Голос у режимі реального часу може повертатися до повного агента OpenClaw, коли потрібні глибше міркування або інструменти. +- Він приєднується лише за явним URL `https://meet.google.com/...`. +- Голос `realtime` є типовим режимом. +- Голос у режимі реального часу може повертатися до повноцінного агента OpenClaw, коли потрібні глибші міркування або інструменти. - Автентифікація починається з особистого Google OAuth або вже виконаного входу в профіль Chrome. - Автоматичного оголошення згоди немає. - Типовим аудіобекендом Chrome є `BlackHole 2ch`. -- Chrome може працювати локально або на підключеному вузлі. +- Chrome може працювати локально або на спареному вузлі. - Twilio приймає номер для дозвону та необов’язкову PIN-код або DTMF-послідовність. - Команда CLI — `googlemeet`; `meet` зарезервовано для ширших робочих процесів телеконференцій агента. @@ -44,7 +44,7 @@ export OPENAI_API_KEY=sk-... sudo reboot ``` -Після перезавантаження перевірте обидві складові: +Після перезавантаження перевірте обидві частини: ```bash system_profiler SPAudioDataType | grep -i BlackHole @@ -87,16 +87,16 @@ openclaw googlemeet join https://meet.google.com/abc-defg-hij } ``` -Chrome приєднується як профіль Chrome, у якому виконано вхід. У Meet виберіть `BlackHole 2ch` для шляху мікрофона/динаміка, який використовує OpenClaw. Для чистого двостороннього аудіо використовуйте окремі віртуальні пристрої або граф на кшталт Loopback; одного пристрою BlackHole достатньо для першого smoke-тесту, але може виникати луна. +Chrome приєднується як профіль Chrome із виконаним входом. У Meet виберіть `BlackHole 2ch` для шляху мікрофона/динаміка, який використовує OpenClaw. Для чистого дуплексного аудіо використовуйте окремі віртуальні пристрої або граф на кшталт Loopback; одного пристрою BlackHole достатньо для першого smoke-тесту, але може з’являтися ехо. ### Локальний Gateway + Parallels Chrome -Вам **не** потрібен повний OpenClaw Gateway або ключ API моделі всередині macOS VM лише для того, щоб VM володіла Chrome. Запустіть Gateway і агента локально, а потім запустіть хост вузла у VM. Один раз увімкніть вбудований Plugin на VM, щоб вузол рекламував команду Chrome: +Вам **не потрібен** повний Gateway OpenClaw або ключ API моделі всередині macOS VM лише для того, щоб Chrome працював у VM. Запустіть Gateway і агент локально, а потім запустіть вузол у VM. Увімкніть вбудований Plugin у VM один раз, щоб вузол рекламував команду Chrome: -Що і де запускається: +Що де працює: -- Хост Gateway: OpenClaw Gateway, робочий простір агента, ключі моделі/API, постачальник realtime і конфігурація Plugin Google Meet. -- Parallels macOS VM: CLI/хост вузла OpenClaw, Google Chrome, SoX, BlackHole 2ch і профіль Chrome із виконаним входом у Google. +- Хост Gateway: OpenClaw Gateway, робочий простір агента, ключі моделі/API, постачальник realtime та конфігурація Plugin Google Meet. +- macOS VM у Parallels: CLI/вузол OpenClaw, Google Chrome, SoX, BlackHole 2ch і профіль Chrome із виконаним входом у Google. - Не потрібно у VM: служба Gateway, конфігурація агента, ключ OpenAI/GPT або налаштування постачальника моделі. Установіть залежності у VM: @@ -111,7 +111,7 @@ brew install blackhole-2ch sox sudo reboot ``` -Після перезавантаження переконайтеся, що VM бачить аудіопристрій і команди SoX: +Після перезавантаження перевірте, що VM бачить аудіопристрій і команди SoX: ```bash system_profiler SPAudioDataType | grep -i BlackHole @@ -124,13 +124,28 @@ command -v rec play openclaw plugins enable google-meet ``` -Запустіть хост вузла у VM: +Запустіть вузол у VM: ```bash openclaw node run --host --port 18789 --display-name parallels-macos ``` -Підтвердьте вузол з хоста Gateway: +Якщо `` — це LAN IP і ви не використовуєте TLS, вузол відхиляє незашифрований WebSocket, якщо ви явно не дозволите це для цієї довіреної приватної мережі: + +```bash +OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \ + openclaw node run --host --port 18789 --display-name parallels-macos +``` + +Використовуйте ту саму змінну середовища, коли встановлюєте вузол як LaunchAgent: + +```bash +OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \ + openclaw node install --host --port 18789 --display-name parallels-macos --force +openclaw node restart +``` + +Схваліть вузол із хоста Gateway: ```bash openclaw devices list @@ -163,7 +178,7 @@ openclaw nodes status } ``` -Тепер приєднуйтеся як зазвичай із хоста Gateway: +Тепер приєднуйтеся звичайним способом із хоста Gateway: ```bash openclaw googlemeet join https://meet.google.com/abc-defg-hij @@ -171,40 +186,40 @@ openclaw googlemeet join https://meet.google.com/abc-defg-hij або попросіть агента використати інструмент `google_meet` з `transport: "chrome-node"`. -Якщо `chromeNode.node` не вказано, OpenClaw автоматично виконує вибір лише тоді, коли рівно один підключений вузол рекламує `googlemeet.chrome`. Якщо підключено кілька придатних вузлів, установіть `chromeNode.node` на id вузла, відображуване ім’я або віддалену IP-адресу. +Якщо `chromeNode.node` пропущено, OpenClaw виконує автоматичний вибір лише тоді, коли рівно один підключений вузол рекламує `googlemeet.chrome`. Якщо підключено кілька придатних вузлів, установіть `chromeNode.node` на id вузла, відображуване ім’я або віддалену IP-адресу. -Типові перевірки у разі збоїв: +Поширені перевірки збоїв: -- `No connected Google Meet-capable node`: запустіть `openclaw node run` у VM, підтвердьте з’єднання та переконайтеся, що у VM було виконано `openclaw plugins enable google-meet`. +- `No connected Google Meet-capable node`: запустіть `openclaw node run` у VM, схваліть спарювання та переконайтеся, що у VM було виконано `openclaw plugins enable google-meet`. - `BlackHole 2ch audio device not found on the node`: установіть `blackhole-2ch` у VM і перезавантажте VM. -- Chrome відкривається, але не може приєднатися: увійдіть у Chrome всередині VM і переконайтеся, що цей профіль може вручну приєднатися до URL-адреси Meet. -- Немає аудіо: у Meet спрямуйте мікрофон/динамік через шлях віртуального аудіопристрою, який використовує OpenClaw; використовуйте окремі віртуальні пристрої або маршрутизацію на кшталт Loopback для чистого двостороннього аудіо. +- Chrome відкривається, але не може приєднатися: увійдіть у Chrome всередині VM і підтвердьте, що цей профіль може вручну приєднатися до URL Meet. +- Немає аудіо: у Meet спрямовуйте мікрофон/динамік через шлях віртуального аудіопристрою, який використовує OpenClaw; використовуйте окремі віртуальні пристрої або маршрутизацію на кшталт Loopback для чистого дуплексного аудіо. ## Примітки щодо встановлення -Типовий режим realtime у Chrome використовує два зовнішні інструменти: +Типовий режим Chrome realtime використовує два зовнішні інструменти: -- `sox`: утиліта командного рядка для аудіо. Plugin використовує її команди `rec` і `play` для типового аудіомоста 8 кГц G.711 mu-law. -- `blackhole-2ch`: віртуальний аудіодрайвер macOS. Він створює аудіопристрій `BlackHole 2ch`, через який Chrome/Meet можуть маршрутизувати аудіо. +- `sox`: утиліта командного рядка для аудіо. Plugin використовує її команди `rec` і `play` для типового аудіомоста 8 kHz G.711 mu-law. +- `blackhole-2ch`: віртуальний аудіодрайвер macOS. Він створює аудіопристрій `BlackHole 2ch`, через який Chrome/Meet може маршрутизувати аудіо. -OpenClaw не постачає і не розповсюджує жоден із цих пакетів. У документації користувачам пропонується встановити їх як залежності хоста через Homebrew. SoX ліцензовано як `LGPL-2.0-only AND GPL-2.0-only`; BlackHole — за GPL-3.0. Якщо ви збираєте інсталятор або appliance, що постачає BlackHole разом з OpenClaw, перегляньте ліцензійні умови BlackHole від upstream або отримайте окрему ліцензію від Existential Audio. +OpenClaw не постачає та не розповсюджує жоден із цих пакетів у комплекті. У документації користувачам пропонується встановлювати їх як залежності хоста через Homebrew. SoX ліцензовано як `LGPL-2.0-only AND GPL-2.0-only`; BlackHole — GPL-3.0. Якщо ви збираєте інсталятор або appliance, який постачає BlackHole разом з OpenClaw, перегляньте умови ліцензування BlackHole від початкового постачальника або отримайте окрему ліцензію від Existential Audio. ## Транспорти ### Chrome -Транспорт Chrome відкриває URL-адресу Meet у Google Chrome і приєднується як профіль Chrome, у якому виконано вхід. У macOS Plugin перед запуском перевіряє наявність `BlackHole 2ch`. Якщо налаштовано, він також запускає команду перевірки працездатності аудіомоста та команду запуску перед відкриттям Chrome. Використовуйте `chrome`, коли Chrome/аудіо працюють на хості Gateway; використовуйте `chrome-node`, коли Chrome/аудіо працюють на підключеному вузлі, наприклад у Parallels macOS VM. +Транспорт Chrome відкриває URL Meet у Google Chrome і приєднується як профіль Chrome із виконаним входом. У macOS Plugin перевіряє наявність `BlackHole 2ch` перед запуском. Якщо налаштовано, він також виконує команду перевірки працездатності аудіомоста та команду запуску перед відкриттям Chrome. Використовуйте `chrome`, коли Chrome/аудіо працюють на хості Gateway; використовуйте `chrome-node`, коли Chrome/аудіо працюють на спареному вузлі, наприклад у macOS VM Parallels. ```bash openclaw googlemeet join https://meet.google.com/abc-defg-hij --transport chrome openclaw googlemeet join https://meet.google.com/abc-defg-hij --transport chrome-node ``` -Спрямуйте аудіо мікрофона та динаміка Chrome через локальний аудіоміст OpenClaw. Якщо `BlackHole 2ch` не встановлено, приєднання завершується з помилкою налаштування замість тихого приєднання без аудіошляху. +Спрямовуйте аудіо мікрофона та динаміка Chrome через локальний аудіоміст OpenClaw. Якщо `BlackHole 2ch` не встановлено, приєднання завершується помилкою налаштування замість тихого приєднання без аудіошляху. ### Twilio -Транспорт Twilio — це строгий план набору, делегований Plugin Voice Call. Він не аналізує сторінки Meet у пошуку телефонних номерів. +Транспорт Twilio — це суворий план набору, делегований Plugin Voice Call. Він не аналізує сторінки Meet, щоб знайти телефонні номери. ```bash openclaw googlemeet join https://meet.google.com/abc-defg-hij \ @@ -224,15 +239,15 @@ openclaw googlemeet join https://meet.google.com/abc-defg-hij \ ## OAuth і preflight -Доступ до Google Meet Media API спочатку використовує особистий OAuth-клієнт. Налаштуйте `oauth.clientId` і, за бажання, `oauth.clientSecret`, а потім виконайте: +Доступ до Google Meet Media API спочатку використовує особистий OAuth-клієнт. Налаштуйте `oauth.clientId` і за потреби `oauth.clientSecret`, а потім виконайте: ```bash openclaw googlemeet auth login --json ``` -Команда виводить блок конфігурації `oauth` з токеном оновлення. Вона використовує PKCE, localhost callback на `http://localhost:8085/oauth2callback` і ручний потік копіювання/вставлення з `--manual`. +Команда виводить блок конфігурації `oauth` із токеном оновлення. Вона використовує PKCE, localhost callback на `http://localhost:8085/oauth2callback` і ручний потік копіювання/вставлення з `--manual`. -Як резервні варіанти приймаються такі змінні середовища: +Ці змінні середовища приймаються як запасні варіанти: - `OPENCLAW_GOOGLE_MEET_CLIENT_ID` або `GOOGLE_MEET_CLIENT_ID` - `OPENCLAW_GOOGLE_MEET_CLIENT_SECRET` або `GOOGLE_MEET_CLIENT_SECRET` @@ -243,7 +258,7 @@ openclaw googlemeet auth login --json - `OPENCLAW_GOOGLE_MEET_DEFAULT_MEETING` або `GOOGLE_MEET_DEFAULT_MEETING` - `OPENCLAW_GOOGLE_MEET_PREVIEW_ACK` або `GOOGLE_MEET_PREVIEW_ACK` -Розв’яжіть URL-адресу Meet, код або `spaces/{id}` через `spaces.get`: +Розв’яжіть URL Meet, код або `spaces/{id}` через `spaces.get`: ```bash openclaw googlemeet resolve-space --meeting https://meet.google.com/abc-defg-hij @@ -255,11 +270,11 @@ openclaw googlemeet resolve-space --meeting https://meet.google.com/abc-defg-hij openclaw googlemeet preflight --meeting https://meet.google.com/abc-defg-hij ``` -Установлюйте `preview.enrollmentAcknowledged: true` лише після підтвердження, що ваш Cloud project, OAuth principal і учасники зустрічі зареєстровані в Google Workspace Developer Preview Program for Meet media APIs. +Установлюйте `preview.enrollmentAcknowledged: true` лише після підтвердження, що ваш Cloud project, OAuth principal і учасники зустрічі зареєстровані в Google Workspace Developer Preview Program для Meet media APIs. ## Конфігурація -Типовий шлях realtime у Chrome потребує лише ввімкненого Plugin, BlackHole, SoX і ключа OpenAI: +Для поширеного шляху Chrome realtime потрібні лише увімкнений Plugin, BlackHole, SoX і ключ OpenAI: ```bash brew install blackhole-2ch sox @@ -287,8 +302,8 @@ export OPENAI_API_KEY=sk-... - `defaultMode: "realtime"` - `chromeNode.node`: необов’язковий id/ім’я/IP вузла для `chrome-node` - `chrome.audioBackend: "blackhole-2ch"` -- `chrome.audioInputCommand`: команда SoX `rec`, що записує аудіо 8 кГц G.711 mu-law у stdout -- `chrome.audioOutputCommand`: команда SoX `play`, що читає аудіо 8 кГц G.711 mu-law зі stdin +- `chrome.audioInputCommand`: команда SoX `rec`, що записує аудіо 8 kHz G.711 mu-law у stdout +- `chrome.audioOutputCommand`: команда SoX `play`, що читає аудіо 8 kHz G.711 mu-law зі stdin - `realtime.provider: "openai"` - `realtime.toolPolicy: "safe-read-only"` - `realtime.instructions`: короткі усні відповіді, з @@ -341,41 +356,40 @@ export OPENAI_API_KEY=sk-... } ``` -Використовуйте `transport: "chrome"`, коли Chrome працює на хості Gateway. Використовуйте `transport: "chrome-node"`, коли Chrome працює на підключеному вузлі, наприклад у Parallels VM. В обох випадках модель realtime і `openclaw_agent_consult` працюють на хості Gateway, тому облікові дані моделі залишаються там. +Використовуйте `transport: "chrome"`, коли Chrome працює на хості Gateway. Використовуйте `transport: "chrome-node"`, коли Chrome працює на спареному вузлі, наприклад у Parallels VM. В обох випадках модель realtime і `openclaw_agent_consult` працюють на хості Gateway, тому облікові дані моделі залишаються там. -Використовуйте `action: "status"`, щоб вивести список активних сесій або перевірити id сесії. Використовуйте `action: "leave"`, щоб позначити сесію завершеною. +Використовуйте `action: "status"`, щоб перелічити активні сесії або переглянути ID сесії. Використовуйте `action: "leave"`, щоб позначити сесію як завершену. ## Консультація агента в режимі реального часу -Режим Chrome realtime оптимізовано для живого голосового циклу. Постачальник голосу realtime чує аудіо зустрічі й говорить через налаштований аудіоміст. Коли моделі realtime потрібні глибше міркування, актуальна інформація або звичайні інструменти OpenClaw, вона може викликати `openclaw_agent_consult`. +Режим Chrome realtime оптимізовано для живого голосового циклу. Постачальник голосу realtime чує аудіо зустрічі та говорить через налаштований аудіоміст. Коли моделі realtime потрібні глибші міркування, поточна інформація або звичайні інструменти OpenClaw, вона може викликати `openclaw_agent_consult`. -Інструмент consult запускає звичайного агента OpenClaw у фоновому режимі з контекстом нещодавньої стенограми зустрічі та повертає стислу усну відповідь до голосової сесії realtime. Потім голосова модель може озвучити цю відповідь назад у зустріч. +Інструмент консультації запускає звичайного агента OpenClaw у фоновому режимі з контекстом недавньої транскрипції зустрічі й повертає стислу усну відповідь до голосової сесії realtime. Потім голосова модель може озвучити цю відповідь назад у зустріч. -`realtime.toolPolicy` керує запуском consult: +`realtime.toolPolicy` керує запуском консультації: -- `safe-read-only`: показати інструмент consult і обмежити звичайного агента до - `read`, `web_search`, `web_fetch`, `x_search`, `memory_search`, і - `memory_get`. -- `owner`: показати інструмент consult і дозволити звичайному агенту використовувати звичайну політику інструментів агента. -- `none`: не показувати інструмент consult моделі голосу realtime. +- `safe-read-only`: надати інструмент консультації та обмежити звичайного агента інструментами `read`, `web_search`, `web_fetch`, `x_search`, `memory_search` і `memory_get`. +- `owner`: надати інструмент консультації та дозволити звичайному агенту використовувати звичайну політику інструментів агента. +- `none`: не надавати інструмент консультації голосовій моделі realtime. -Ключ сесії consult має область дії в межах сесії Meet, тому подальші виклики consult можуть повторно використовувати попередній контекст consult під час тієї самої зустрічі. +Ключ сесії консультації обмежено на рівні кожної сесії Meet, тому повторні виклики консультації можуть повторно використовувати попередній контекст консультації під час тієї самої зустрічі. ## Примітки -Офіційний media API Google Meet орієнтований на прийом, тому для мовлення в дзвінок Meet усе ще потрібен шлях учасника. Цей Plugin зберігає цю межу видимою: Chrome обробляє участь через браузер і локальну маршрутизацію аудіо; Twilio обробляє участь через телефонний дозвін. +Офіційний media API Google Meet орієнтований на приймання, тому для мовлення в дзвінок Meet усе ще потрібен шлях участі як учасника. Цей Plugin зберігає цю межу видимою: +Chrome обробляє участь через браузер і локальну маршрутизацію аудіо; Twilio обробляє участь через телефонний дозвін. -Режим Chrome realtime потребує одного з таких варіантів: +Режиму Chrome realtime потрібно одне з такого: -- `chrome.audioInputCommand` плюс `chrome.audioOutputCommand`: OpenClaw керує мостом моделі realtime і передає аудіо 8 кГц G.711 mu-law між цими командами та вибраним постачальником голосу realtime. -- `chrome.audioBridgeCommand`: зовнішня команда моста керує всім локальним аудіошляхом і має завершитися після запуску або перевірки свого демона. +- `chrome.audioInputCommand` плюс `chrome.audioOutputCommand`: OpenClaw керує мостом моделі realtime і передає аудіо 8 kHz G.711 mu-law між цими командами та вибраним постачальником голосу realtime. +- `chrome.audioBridgeCommand`: зовнішня команда мосту керує всім локальним аудіошляхом і має завершитися після запуску або перевірки свого демона. -Для чистого двостороннього аудіо спрямовуйте вихід Meet і мікрофон Meet через окремі віртуальні пристрої або граф віртуальних пристроїв на кшталт Loopback. Один спільний пристрій BlackHole може повертати голоси інших учасників назад у дзвінок. +Для чистого дуплексного аудіо спрямовуйте вихід Meet і мікрофон Meet через окремі віртуальні пристрої або граф віртуальних пристроїв на кшталт Loopback. Один спільний пристрій BlackHole може повертати голоси інших учасників назад у дзвінок. -`googlemeet leave` зупиняє аудіоміст realtime на основі пари команд для сесій Chrome. Для сесій Twilio, делегованих через Plugin Voice Call, він також завершує базовий голосовий дзвінок. +`googlemeet leave` зупиняє аудіоміст realtime на основі пари команд для сесій Chrome. Для сесій Twilio, делегованих через Plugin Voice Call, він також завершує базовий голосовий виклик. ## Пов’язане -- [Plugin Voice Call](/uk/plugins/voice-call) -- [Режим розмови](/uk/nodes/talk) +- [Plugin Voice call](/uk/plugins/voice-call) +- [Режим Talk](/uk/nodes/talk) - [Створення Plugin](/uk/plugins/building-plugins)