chore(i18n): refresh uk translations
This commit is contained in:
parent
844f48b21b
commit
ed5fd8f77d
@ -1,57 +1,57 @@
|
||||
---
|
||||
read_when:
|
||||
- Налаштування робочих процесів автономних агентів, які працюють без окремого запиту для кожного завдання
|
||||
- Налаштування робочих процесів автономних агентів, які працюють без окремих запитів для кожного завдання
|
||||
- Визначення того, що агент може робити самостійно, а що потребує схвалення людини
|
||||
- Структурування багатопрограмних агентів із чіткими межами та правилами ескалації
|
||||
summary: Визначте постійні операційні повноваження для автономних агентних програм
|
||||
title: Постійні розпорядження
|
||||
summary: Визначити постійні операційні повноваження для автономних програм-агентів
|
||||
title: Постійні вказівки
|
||||
x-i18n:
|
||||
generated_at: "2026-04-23T20:43:06Z"
|
||||
generated_at: "2026-04-24T16:21:30Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: a69cd16b23caedea5020e6bf6dfbe4f77b5bcd5a329af7dfcf535c6aa0924ce4
|
||||
source_hash: 6d95024b29d04638be610a9fe3ca9651e8704b2b03ea16a3112cf31a7287c386
|
||||
source_path: automation/standing-orders.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
Постійні розпорядження надають вашому агенту **постійні операційні повноваження** для визначених програм. Замість того щоб щоразу давати окремі інструкції для завдань, ви визначаєте програми з чіткою сферою дії, тригерами та правилами ескалації — а агент виконує їх автономно в межах цих обмежень.
|
||||
Постійні вказівки надають вашому агенту **постійні операційні повноваження** для визначених програм. Замість того щоб щоразу давати окремі інструкції для завдань, ви визначаєте програми з чіткою сферою дії, тригерами та правилами ескалації — і агент автономно виконує їх у межах цих обмежень.
|
||||
|
||||
У цьому й полягає різниця між тим, щоб щоп’ятниці казати своєму помічнику «надішли щотижневий звіт», і тим, щоб надати постійні повноваження: «Ти відповідаєш за щотижневий звіт. Готуй його щоп’ятниці, надсилай і звертайся лише якщо щось виглядає не так».
|
||||
Це різниця між тим, щоб щоп’ятниці казати вашому помічнику «надішли щотижневий звіт», і тим, щоб надати постійні повноваження: «Щотижневий звіт — на тобі. Готуй його щоп’ятниці, надсилай і ескалюй лише якщо щось виглядає неправильно».
|
||||
|
||||
## Навіщо потрібні постійні розпорядження?
|
||||
## Навіщо потрібні постійні вказівки?
|
||||
|
||||
**Без постійних розпоряджень:**
|
||||
**Без постійних вказівок:**
|
||||
|
||||
- Ви мусите надсилати агенту запит для кожного завдання
|
||||
- Ви маєте давати агенту запит для кожного завдання
|
||||
- Агент простоює між запитами
|
||||
- Рутинна робота забувається або затримується
|
||||
- Рутинна робота забувається або відкладається
|
||||
- Ви стаєте вузьким місцем
|
||||
|
||||
**З постійними розпорядженнями:**
|
||||
**Із постійними вказівками:**
|
||||
|
||||
- Агент діє автономно в межах визначених обмежень
|
||||
- Рутинна робота виконується за розкладом без додаткових запитів
|
||||
- Ви залучаєтеся лише для винятків і погоджень
|
||||
- Агент продуктивно використовує час простою
|
||||
- Рутинна робота виконується за розкладом без окремих запитів
|
||||
- Ви втручаєтеся лише для винятків і погоджень
|
||||
- Агент продуктивно заповнює час простою
|
||||
|
||||
## Як це працює
|
||||
|
||||
Постійні розпорядження визначаються у файлах вашого [робочого простору агента](/uk/concepts/agent-workspace). Рекомендований підхід — включати їх безпосередньо в `AGENTS.md` (який автоматично додається до кожної сесії), щоб агент завжди мав їх у контексті. Для більших конфігурацій ви також можете розмістити їх в окремому файлі, наприклад `standing-orders.md`, і послатися на нього з `AGENTS.md`.
|
||||
Постійні вказівки визначаються у файлах вашого [робочого простору агента](/uk/concepts/agent-workspace). Рекомендований підхід — включати їх безпосередньо в `AGENTS.md` (який автоматично додається до кожної сесії), щоб агент завжди мав їх у контексті. Для більших конфігурацій ви також можете розмістити їх в окремому файлі, наприклад `standing-orders.md`, і послатися на нього з `AGENTS.md`.
|
||||
|
||||
Кожна програма визначає:
|
||||
|
||||
1. **Сферу дії** — що агент уповноважений робити
|
||||
2. **Тригери** — коли виконувати (за розкладом, подією або умовою)
|
||||
3. **Точки погодження** — що потребує схвалення людини перед виконанням
|
||||
4. **Правила ескалації** — коли зупинитися й звернутися по допомогу
|
||||
1. **Сфера дії** — що агент уповноважений робити
|
||||
2. **Тригери** — коли виконувати (розклад, подія або умова)
|
||||
3. **Шлюзи погодження** — що потребує людського погодження перед дією
|
||||
4. **Правила ескалації** — коли зупинитися й попросити допомоги
|
||||
|
||||
Агент завантажує ці інструкції в кожній сесії через bootstrap-файли робочого простору (див. [Agent Workspace](/uk/concepts/agent-workspace) для повного списку файлів, що автоматично додаються) і виконує їх у поєднанні з [Cron jobs](/uk/automation/cron-jobs) для забезпечення виконання за часом.
|
||||
Агент завантажує ці інструкції в кожній сесії через bootstrap-файли робочого простору (див. [Робочий простір агента](/uk/concepts/agent-workspace) для повного списку файлів, що додаються автоматично) і виконує їх у поєднанні з [Cron jobs](/uk/automation/cron-jobs) для примусового виконання за часом.
|
||||
|
||||
<Tip>
|
||||
Розміщуйте постійні розпорядження в `AGENTS.md`, щоб гарантувати їх завантаження в кожній сесії. Bootstrap робочого простору автоматично додає `AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, `BOOTSTRAP.md` і `MEMORY.md` — але не довільні файли в підкаталогах.
|
||||
Розміщуйте постійні вказівки в `AGENTS.md`, щоб гарантувати їх завантаження в кожній сесії. Bootstrap робочого простору автоматично додає `AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, `BOOTSTRAP.md` і `MEMORY.md` — але не довільні файли в підкаталогах.
|
||||
</Tip>
|
||||
|
||||
## Анатомія постійного розпорядження
|
||||
## Анатомія постійної вказівки
|
||||
|
||||
```markdown
|
||||
## Program: Weekly Status Report
|
||||
@ -76,9 +76,9 @@ x-i18n:
|
||||
- Do not skip delivery if metrics look bad — report accurately
|
||||
```
|
||||
|
||||
## Постійні розпорядження + Cron jobs
|
||||
## Постійні вказівки + Cron jobs
|
||||
|
||||
Постійні розпорядження визначають, **що** агент уповноважений робити. [Cron jobs](/uk/automation/cron-jobs) визначають, **коли** це відбувається. Вони працюють разом:
|
||||
Постійні вказівки визначають, **що** агент уповноважений робити. [Cron jobs](/uk/automation/cron-jobs) визначають, **коли** це відбувається. Вони працюють разом:
|
||||
|
||||
```
|
||||
Standing Order: "You own the daily inbox triage"
|
||||
@ -88,7 +88,7 @@ Cron Job (8 AM daily): "Execute inbox triage per standing orders"
|
||||
Agent: Reads standing orders → executes steps → reports results
|
||||
```
|
||||
|
||||
Запит Cron job має посилатися на постійне розпорядження, а не дублювати його:
|
||||
Запит Cron job має посилатися на постійну вказівку, а не дублювати її:
|
||||
|
||||
```bash
|
||||
openclaw cron add \
|
||||
@ -181,9 +181,9 @@ openclaw cron add \
|
||||
|
||||
## Шаблон «Виконати-Перевірити-Звітувати»
|
||||
|
||||
Постійні розпорядження працюють найкраще в поєднанні зі строгою дисципліною виконання. Кожне завдання в постійному розпорядженні має проходити через цей цикл:
|
||||
Постійні вказівки працюють найкраще в поєднанні зі суворою виконавчою дисципліною. Кожне завдання в постійній вказівці має слідувати цьому циклу:
|
||||
|
||||
1. **Виконати** — виконати фактичну роботу (а не просто підтвердити інструкцію)
|
||||
1. **Виконати** — зробити фактичну роботу (а не просто підтвердити інструкцію)
|
||||
2. **Перевірити** — підтвердити, що результат правильний (файл існує, повідомлення доставлено, дані розібрано)
|
||||
3. **Звітувати** — повідомити власнику, що було зроблено і що було перевірено
|
||||
|
||||
@ -198,15 +198,13 @@ openclaw cron add \
|
||||
- Never retry indefinitely — 3 attempts max, then escalate.
|
||||
```
|
||||
|
||||
Цей шаблон запобігає найпоширенішому режиму збою агента: підтвердженню завдання без його фактичного виконання.
|
||||
Цей шаблон запобігає найпоширенішому режиму збою агента: підтвердженню завдання без його завершення.
|
||||
|
||||
## Архітектура з кількома програмами
|
||||
|
||||
Для агентів, які керують кількома напрямами, організовуйте постійні розпорядження як окремі програми з чіткими межами:
|
||||
Для агентів, які керують кількома напрямами, організуйте постійні вказівки як окремі програми з чіткими межами:
|
||||
|
||||
```markdown
|
||||
# Standing Orders
|
||||
|
||||
## Program 1: [Domain A] (Weekly)
|
||||
|
||||
...
|
||||
@ -225,35 +223,35 @@ openclaw cron add \
|
||||
- [Approval gates that apply across programs]
|
||||
```
|
||||
|
||||
Кожна програма повинна мати:
|
||||
Кожна програма має мати:
|
||||
|
||||
- Власну **частоту тригерів** (щотижня, щомісяця, за подією, безперервно)
|
||||
- Власні **точки погодження** (деякі програми потребують більшого контролю, ніж інші)
|
||||
- Чіткі **межі** (агент має розуміти, де закінчується одна програма і починається інша)
|
||||
- власну **періодичність запуску** (щотижня, щомісяця, за подією, безперервно)
|
||||
- власні **шлюзи погодження** (деякі програми потребують більшого нагляду, ніж інші)
|
||||
- чіткі **межі** (агент має розуміти, де закінчується одна програма і починається інша)
|
||||
|
||||
## Найкращі практики
|
||||
|
||||
### Робіть
|
||||
### Робіть так
|
||||
|
||||
- Починайте з вузьких повноважень і розширюйте їх у міру зростання довіри
|
||||
- Визначайте явні точки погодження для дій з високим ризиком
|
||||
- Додавайте розділи «Що НЕ робити» — межі не менш важливі, ніж дозволи
|
||||
- Поєднуйте з Cron jobs для надійного виконання за розкладом
|
||||
- Щотижня переглядайте журнали агента, щоб переконатися, що постійні розпорядження виконуються
|
||||
- Оновлюйте постійні розпорядження відповідно до зміни ваших потреб — це живі документи
|
||||
- Визначайте явні шлюзи погодження для дій із високим ризиком
|
||||
- Додавайте розділи «Що НЕ робити» — межі так само важливі, як і дозволи
|
||||
- Поєднуйте з Cron jobs для надійного виконання за часом
|
||||
- Щотижня переглядайте журнали агента, щоб перевірити, що постійні вказівки виконуються
|
||||
- Оновлюйте постійні вказівки разом зі зміною ваших потреб — це живі документи
|
||||
|
||||
### Уникайте
|
||||
|
||||
- Надавати широкі повноваження в перший же день («роби все, що вважаєш найкращим»)
|
||||
- Пропускати правила ескалації — кожній програмі потрібен пункт «коли зупинитися й запитати»
|
||||
- Припускати, що агент запам’ятає усні інструкції — заносьте все до файлу
|
||||
- Надавати широкі повноваження в перший день («роби все, що вважаєш найкращим»)
|
||||
- Пропускати правила ескалації — кожна програма має містити умову «коли зупинитися і запитати»
|
||||
- Припускати, що агент запам’ятає усні інструкції — записуйте все у файл
|
||||
- Змішувати різні напрями в одній програмі — окремі програми для окремих доменів
|
||||
- Забувати про забезпечення через Cron jobs — постійні розпорядження без тригерів перетворюються на побажання
|
||||
- Забувати про примусове виконання через Cron jobs — постійні вказівки без тригерів стають лише рекомендаціями
|
||||
|
||||
## Пов’язане
|
||||
|
||||
- [Automation & Tasks](/uk/automation) — усі механізми автоматизації з першого погляду
|
||||
- [Cron Jobs](/uk/automation/cron-jobs) — забезпечення виконання за розкладом для постійних розпоряджень
|
||||
- [Автоматизація й завдання](/uk/automation) — усі механізми автоматизації в одному огляді
|
||||
- [Cron Jobs](/uk/automation/cron-jobs) — примусове виконання постійних вказівок за розкладом
|
||||
- [Hooks](/uk/automation/hooks) — скрипти, що запускаються за подіями життєвого циклу агента
|
||||
- [Webhooks](/uk/automation/cron-jobs#webhooks) — вхідні HTTP-тригери подій
|
||||
- [Agent Workspace](/uk/concepts/agent-workspace) — де розміщуються постійні розпорядження, включно з повним списком bootstrap-файлів, що автоматично додаються (AGENTS.md, SOUL.md тощо)
|
||||
- [Робочий простір агента](/uk/concepts/agent-workspace) — де зберігаються постійні вказівки, включно з повним списком bootstrap-файлів, що додаються автоматично (AGENTS.md, SOUL.md тощо)
|
||||
|
||||
@ -1,46 +1,47 @@
|
||||
---
|
||||
read_when:
|
||||
- Ви хочете, щоб агент OpenClaw приєднався до виклику Google Meet
|
||||
- Ви налаштовуєте Chrome, вузол Chrome або Twilio як транспорт Google Meet
|
||||
summary: 'Plugin Google Meet: приєднання до явних URL-адрес Meet через Chrome або Twilio з типовими параметрами голосового зв’язку в реальному часі'
|
||||
- Ви хочете, щоб агент OpenClaw приєднався до дзвінка Google Meet
|
||||
- Ви налаштовуєте Chrome, вузол Chrome або Twilio як транспорт для Google Meet
|
||||
summary: 'Plugin Google Meet: приєднання до явних URL-адрес Meet через Chrome або Twilio з типовими налаштуваннями для голосу в реальному часі'
|
||||
title: Plugin Google Meet
|
||||
x-i18n:
|
||||
generated_at: "2026-04-24T16:12:19Z"
|
||||
generated_at: "2026-04-24T16:21:27Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: f96c5a1e08155514155094602e4d32c232cfa7f47f4105fd9b75a57cbd2d6535
|
||||
source_hash: 8ea964b8b5b7d68e3dbd4354b5bbeacce5bbe14b8fe0d703bb5f87c3c7cdff2f
|
||||
source_path: plugins/google-meet.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Google Meet (Plugin)
|
||||
Підтримка учасників Google Meet для OpenClaw — Plugin є навмисно явним за задумом:
|
||||
|
||||
Підтримка учасника Google Meet для OpenClaw.
|
||||
|
||||
Plugin є навмисно явним:
|
||||
|
||||
- Він приєднується лише за явною URL-адресою `https://meet.google.com/...`.
|
||||
- Голосовий зв’язок `realtime` є типовим режимом.
|
||||
- Голосовий зв’язок у реальному часі може повертатися до повного агента OpenClaw, коли потрібні глибші міркування або інструменти.
|
||||
- Автентифікація починається як персональний Google OAuth або вже виконаний вхід у профіль Chrome.
|
||||
- Автоматичного оголошення згоди немає.
|
||||
- Типовим аудіобекендом Chrome є `BlackHole 2ch`.
|
||||
- Chrome може працювати локально або на спареному вузлі-хості.
|
||||
- Twilio приймає номер для дозвону плюс необов’язковий PIN або послідовність DTMF.
|
||||
- Команда CLI — `googlemeet`; `meet` зарезервовано для ширших робочих процесів агентських телеконференцій.
|
||||
- Він приєднується лише до явного URL `https://meet.google.com/...`.
|
||||
- Голос `realtime` є режимом за замовчуванням.
|
||||
- Голос у реальному часі може повертатися до повного агента OpenClaw, коли потрібні глибші
|
||||
міркування або інструменти.
|
||||
- Автентифікація починається з особистого Google OAuth або вже виконаного входу в профіль Chrome.
|
||||
- Автоматичного оголошення про згоду немає.
|
||||
- Типовий аудіобекенд Chrome — `BlackHole 2ch`.
|
||||
- Chrome може працювати локально або на з’єднаному вузлі.
|
||||
- Twilio приймає номер для набору плюс необов’язковий PIN або послідовність DTMF.
|
||||
- Команда CLI — `googlemeet`; `meet` зарезервовано для ширших
|
||||
сценаріїв телеконференцій агентів.
|
||||
|
||||
## Швидкий старт
|
||||
|
||||
Установіть локальні аудіозалежності та налаштуйте бекенд-провайдера голосового зв’язку в реальному часі. OpenAI використовується за замовчуванням; Google Gemini Live також працює з `realtime.provider: "google"`:
|
||||
Установіть локальні аудіозалежності та налаштуйте бекенд-провайдера голосу
|
||||
в реальному часі. OpenAI використовується за замовчуванням; Google Gemini Live також працює з
|
||||
`realtime.provider: "google"`:
|
||||
|
||||
```bash
|
||||
brew install blackhole-2ch sox
|
||||
export OPENAI_API_KEY=sk-...
|
||||
# or
|
||||
# або
|
||||
export GEMINI_API_KEY=...
|
||||
```
|
||||
|
||||
`blackhole-2ch` установлює віртуальний аудіопристрій `BlackHole 2ch`. Інсталятор Homebrew потребує перезавантаження, перш ніж macOS зробить пристрій доступним:
|
||||
`blackhole-2ch` установлює віртуальний аудіопристрій `BlackHole 2ch`. Інсталятор
|
||||
Homebrew потребує перезавантаження, перш ніж macOS зробить пристрій доступним:
|
||||
|
||||
```bash
|
||||
sudo reboot
|
||||
@ -89,17 +90,26 @@ openclaw googlemeet join https://meet.google.com/abc-defg-hij
|
||||
}
|
||||
```
|
||||
|
||||
Chrome приєднується як профіль Chrome, у якому вже виконано вхід. У Meet виберіть `BlackHole 2ch` для шляху мікрофона/динаміка, який використовує OpenClaw. Для чистого дуплексного аудіо використовуйте окремі віртуальні пристрої або граф у стилі Loopback; одного пристрою BlackHole достатньо для першого швидкого тесту, але він може створювати відлуння.
|
||||
Chrome приєднується як профіль Chrome із виконаним входом. У Meet виберіть `BlackHole 2ch` для
|
||||
шляху мікрофона/динаміка, який використовує OpenClaw. Для чистого двобічного аудіо використовуйте
|
||||
окремі віртуальні пристрої або граф на кшталт Loopback; одного пристрою BlackHole
|
||||
достатньо для першої димової перевірки, але можливе відлуння.
|
||||
|
||||
### Локальний Gateway + Parallels Chrome
|
||||
|
||||
Вам **не** потрібен повний OpenClaw Gateway або ключ API моделі всередині macOS VM лише для того, щоб Chrome працював у VM. Запустіть Gateway і агента локально, а потім запустіть хост вузла у VM. Увімкніть вбудований Plugin у VM один раз, щоб вузол анонсував команду Chrome:
|
||||
Вам **не** потрібен повний Gateway OpenClaw або ключ API моделі всередині macOS VM
|
||||
лише для того, щоб VM володіла Chrome. Запустіть Gateway і агента локально, а потім
|
||||
запустіть вузол у VM. Один раз увімкніть у VM вбудований Plugin, щоб вузол
|
||||
рекламував команду Chrome:
|
||||
|
||||
Що де запускається:
|
||||
Що де працює:
|
||||
|
||||
- Хост Gateway: OpenClaw Gateway, робочий простір агента, ключі моделі/API, провайдер realtime та конфігурація Plugin Google Meet.
|
||||
- macOS VM у Parallels: CLI/node host OpenClaw, Google Chrome, SoX, BlackHole 2ch і профіль Chrome з виконаним входом у Google.
|
||||
- Не потрібно у VM: служба Gateway, конфігурація агента, ключ OpenAI/GPT або налаштування провайдера моделі.
|
||||
- Хост Gateway: Gateway OpenClaw, робоче середовище агента, ключі моделі/API, провайдер
|
||||
реального часу та конфігурація Plugin Google Meet.
|
||||
- macOS VM у Parallels: CLI/node host OpenClaw, Google Chrome, SoX, BlackHole 2ch
|
||||
і профіль Chrome з виконаним входом у Google.
|
||||
- Не потрібно у VM: служба Gateway, конфігурація агента, ключ OpenAI/GPT або
|
||||
налаштування провайдера моделі.
|
||||
|
||||
Установіть залежності у VM:
|
||||
|
||||
@ -126,20 +136,21 @@ command -v rec play
|
||||
openclaw plugins enable google-meet
|
||||
```
|
||||
|
||||
Запустіть хост вузла у VM:
|
||||
Запустіть node host у VM:
|
||||
|
||||
```bash
|
||||
openclaw node run --host <gateway-host> --port 18789 --display-name parallels-macos
|
||||
```
|
||||
|
||||
Якщо `<gateway-host>` — це LAN IP і ви не використовуєте TLS, вузол відхиляє plaintext WebSocket, якщо ви явно не дозволите це для цієї довіреної приватної мережі:
|
||||
Якщо `<gateway-host>` — це IP LAN і ви не використовуєте TLS, вузол відхиляє
|
||||
простий WebSocket, якщо ви явно не дозволите це для довіреної приватної мережі:
|
||||
|
||||
```bash
|
||||
OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \
|
||||
openclaw node run --host <gateway-lan-ip> --port 18789 --display-name parallels-macos
|
||||
```
|
||||
|
||||
Використовуйте ту саму змінну середовища, коли встановлюєте вузол як LaunchAgent:
|
||||
Використовуйте ту саму змінну середовища під час встановлення вузла як LaunchAgent:
|
||||
|
||||
```bash
|
||||
OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \
|
||||
@ -147,7 +158,9 @@ OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \
|
||||
openclaw node restart
|
||||
```
|
||||
|
||||
`OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1` — це змінна середовища процесу, а не параметр `openclaw.json`. `openclaw node install` зберігає її в середовищі LaunchAgent, якщо вона присутня в команді встановлення.
|
||||
`OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1` — це змінна середовища процесу, а не
|
||||
параметр `openclaw.json`. `openclaw node install` зберігає її в середовищі LaunchAgent,
|
||||
коли вона присутня в команді встановлення.
|
||||
|
||||
Схваліть вузол із хоста Gateway:
|
||||
|
||||
@ -156,7 +169,8 @@ openclaw devices list
|
||||
openclaw devices approve <requestId>
|
||||
```
|
||||
|
||||
Підтвердьте, що Gateway бачить вузол і що він анонсує як `googlemeet.chrome`, так і можливість браузера/`browser.proxy`:
|
||||
Підтвердьте, що Gateway бачить вузол і що він рекламує як `googlemeet.chrome`,
|
||||
так і можливість браузера/`browser.proxy`:
|
||||
|
||||
```bash
|
||||
openclaw nodes status
|
||||
@ -192,7 +206,7 @@ openclaw nodes status
|
||||
}
|
||||
```
|
||||
|
||||
Тепер приєднуйтеся як зазвичай із хоста Gateway:
|
||||
Тепер приєднуйтеся звичайним способом із хоста Gateway:
|
||||
|
||||
```bash
|
||||
openclaw googlemeet join https://meet.google.com/abc-defg-hij
|
||||
@ -200,47 +214,77 @@ openclaw googlemeet join https://meet.google.com/abc-defg-hij
|
||||
|
||||
або попросіть агента використати інструмент `google_meet` із `transport: "chrome-node"`.
|
||||
|
||||
Для швидкого тесту однією командою, який створює або повторно використовує сеанс, промовляє відому фразу та виводить стан сеансу:
|
||||
Для димової перевірки однією командою, яка створює або повторно використовує сесію,
|
||||
промовляє відому фразу та виводить стан сесії:
|
||||
|
||||
```bash
|
||||
openclaw googlemeet test-speech https://meet.google.com/abc-defg-hij
|
||||
```
|
||||
|
||||
Якщо `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` і `openclaw plugins enable browser`. Також підтвердьте, що хост Gateway дозволяє обидві команди вузла через `gateway.nodes.allowCommands: ["googlemeet.chrome", "browser.proxy"]`.
|
||||
- `BlackHole 2ch audio device not found on the node`: установіть `blackhole-2ch` у VM і перезавантажте VM.
|
||||
- Chrome відкривається, але не може приєднатися: увійдіть у профіль браузера всередині VM або залиште `chrome.guestName` установленим для гостьового входу. Автоматичне гостьове приєднання використовує автоматизацію браузера OpenClaw через browser proxy вузла; переконайтеся, що конфігурація browser вузла вказує на потрібний профіль, наприклад `browser.defaultProfile: "user"` або профіль named existing-session.
|
||||
- Дубльовані вкладки Meet: залиште `chrome.reuseExistingTab: true` увімкненим. OpenClaw активує наявну вкладку для тієї самої URL-адреси Meet перед відкриттям нової.
|
||||
- Немає аудіо: у Meet спрямовуйте аудіо мікрофона й динаміка через шлях віртуального аудіопристрою, який використовує OpenClaw; використовуйте окремі віртуальні пристрої або маршрутизацію в стилі Loopback для чистого дуплексу.
|
||||
- `No connected Google Meet-capable node`: запустіть `openclaw node run` у VM,
|
||||
схваліть з’єднання та переконайтеся, що у VM були виконані `openclaw plugins enable google-meet` і
|
||||
`openclaw plugins enable browser`. Також підтвердьте, що
|
||||
хост Gateway дозволяє обидві команди вузла через
|
||||
`gateway.nodes.allowCommands: ["googlemeet.chrome", "browser.proxy"]`.
|
||||
- `BlackHole 2ch audio device not found on the node`: установіть `blackhole-2ch`
|
||||
у VM та перезавантажте VM.
|
||||
- Chrome відкривається, але не може приєднатися: увійдіть у профіль браузера всередині VM або
|
||||
залиште `chrome.guestName` встановленим для гостьового входу. Автоприєднання гостя використовує
|
||||
автоматизацію браузера OpenClaw через проксі браузера вузла; переконайтеся, що конфігурація браузера вузла
|
||||
вказує на потрібний профіль, наприклад
|
||||
`browser.defaultProfile: "user"` або іменований профіль наявної сесії.
|
||||
- Дубльовані вкладки Meet: залиште `chrome.reuseExistingTab: true` увімкненим. OpenClaw
|
||||
активує наявну вкладку для того самого URL Meet перед відкриттям нової.
|
||||
- Немає аудіо: у Meet спрямовуйте звук мікрофона та динаміка через шлях
|
||||
віртуального аудіопристрою, який використовує OpenClaw; для чистого двобічного аудіо використовуйте
|
||||
окремі віртуальні пристрої або маршрутизацію на кшталт Loopback.
|
||||
|
||||
## Примітки щодо встановлення
|
||||
|
||||
Типове налаштування realtime для Chrome використовує два зовнішні інструменти:
|
||||
Типовий режим реального часу для Chrome використовує два зовнішні інструменти:
|
||||
|
||||
- `sox`: утиліта аудіо командного рядка. Plugin використовує її команди `rec` і `play` для типового аудіомоста G.711 mu-law 8 кГц.
|
||||
- `blackhole-2ch`: віртуальний аудіодрайвер macOS. Він створює аудіопристрій `BlackHole 2ch`, через який Chrome/Meet може маршрутизувати звук.
|
||||
- `sox`: утиліта командного рядка для роботи з аудіо. Plugin використовує її команди `rec` і `play`
|
||||
для типового аудіомоста 8 кГц 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 в апстрімі або отримайте окрему ліцензію від Existential Audio.
|
||||
OpenClaw не постачає і не розповсюджує жоден із цих пакетів. У документації користувачам
|
||||
пропонується встановити їх як залежності хоста через Homebrew. SoX ліцензовано як
|
||||
`LGPL-2.0-only AND GPL-2.0-only`; BlackHole — GPL-3.0. Якщо ви створюєте інсталятор або
|
||||
пристрій, який постачає BlackHole разом з OpenClaw, перегляньте умови
|
||||
ліцензування BlackHole в першоджерелі або отримайте окрему ліцензію від Existential Audio.
|
||||
|
||||
## Транспорти
|
||||
|
||||
### Chrome
|
||||
|
||||
Транспорт Chrome відкриває URL-адресу Meet у Google Chrome і приєднується як профіль Chrome, у якому виконано вхід. На macOS Plugin перед запуском перевіряє наявність `BlackHole 2ch`. Якщо налаштовано, він також запускає команду перевірки стану аудіомоста та команду запуску перед відкриттям Chrome. Використовуйте `chrome`, коли Chrome/аудіо працюють на хості Gateway; використовуйте `chrome-node`, коли Chrome/аудіо працюють на спареному вузлі, наприклад у macOS VM Parallels.
|
||||
Транспорт Chrome відкриває URL Meet у Google Chrome і приєднується як профіль Chrome
|
||||
із виконаним входом. У macOS Plugin перед запуском перевіряє наявність `BlackHole 2ch`.
|
||||
Якщо налаштовано, він також запускає команду перевірки стану аудіомоста та команду запуску
|
||||
перед відкриттям Chrome. Використовуйте `chrome`, коли Chrome/аудіо працюють на хості Gateway;
|
||||
використовуйте `chrome-node`, коли Chrome/аудіо працюють на з’єднаному вузлі, наприклад у Parallels
|
||||
macOS VM.
|
||||
|
||||
```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 \
|
||||
@ -249,7 +293,7 @@ openclaw googlemeet join https://meet.google.com/abc-defg-hij \
|
||||
--pin 123456
|
||||
```
|
||||
|
||||
Використовуйте `--dtmf-sequence`, коли зустріч потребує спеціальної послідовності:
|
||||
Використовуйте `--dtmf-sequence`, коли зустріч потребує користувацької послідовності:
|
||||
|
||||
```bash
|
||||
openclaw googlemeet join https://meet.google.com/abc-defg-hij \
|
||||
@ -260,13 +304,16 @@ openclaw googlemeet join https://meet.google.com/abc-defg-hij \
|
||||
|
||||
## OAuth і попередня перевірка
|
||||
|
||||
Доступ до 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` з refresh token. Вона використовує PKCE,
|
||||
локальний callback на `http://localhost:8085/oauth2callback` і ручний
|
||||
сценарій копіювання/вставлення з `--manual`.
|
||||
|
||||
Ці змінні середовища приймаються як резервні варіанти:
|
||||
|
||||
@ -279,28 +326,32 @@ 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
|
||||
```
|
||||
|
||||
Запускайте попередню перевірку перед роботою з медіа:
|
||||
Виконайте попередню перевірку перед роботою з медіа:
|
||||
|
||||
```bash
|
||||
openclaw googlemeet preflight --meeting https://meet.google.com/abc-defg-hij
|
||||
```
|
||||
|
||||
Установлюйте `preview.enrollmentAcknowledged: true` лише після підтвердження, що ваш проєкт Cloud, принципал OAuth і учасники зустрічі зареєстровані в Google Workspace Developer Preview Program для Meet media APIs.
|
||||
Установлюйте `preview.enrollmentAcknowledged: true` лише після підтвердження, що ваш Cloud
|
||||
project, OAuth principal і учасники зустрічі зареєстровані в Google
|
||||
Workspace Developer Preview Program для Meet media APIs.
|
||||
|
||||
## Конфігурація
|
||||
|
||||
Поширений шлях Chrome realtime потребує лише ввімкненого Plugin, BlackHole, SoX і ключа бекенд-провайдера голосового зв’язку в реальному часі. OpenAI використовується за замовчуванням; установіть `realtime.provider: "google"` для використання Google Gemini Live:
|
||||
Поширений шлях Chrome для режиму реального часу потребує лише увімкненого Plugin, BlackHole, SoX
|
||||
і ключа бекенд-провайдера голосу реального часу. OpenAI використовується за замовчуванням; установіть
|
||||
`realtime.provider: "google"`, щоб використовувати Google Gemini Live:
|
||||
|
||||
```bash
|
||||
brew install blackhole-2ch sox
|
||||
export OPENAI_API_KEY=sk-...
|
||||
# or
|
||||
# або
|
||||
export GEMINI_API_KEY=...
|
||||
```
|
||||
|
||||
@ -325,16 +376,24 @@ export GEMINI_API_KEY=...
|
||||
- `defaultMode: "realtime"`
|
||||
- `chromeNode.node`: необов’язковий id/ім’я/IP вузла для `chrome-node`
|
||||
- `chrome.audioBackend: "blackhole-2ch"`
|
||||
- `chrome.guestName: "OpenClaw Agent"`: ім’я, що використовується на сторінці гостьового входу Meet без авторизації
|
||||
- `chrome.autoJoin: true`: заповнення гостьового імені та натискання Join Now за принципом best-effort через автоматизацію браузера OpenClaw на `chrome-node`
|
||||
- `chrome.reuseExistingTab: true`: активує наявну вкладку Meet замість відкриття дублікатів
|
||||
- `chrome.waitForInCallMs: 20000`: очікування, доки вкладка Meet повідомить про стан in-call, перш ніж буде ініційовано вступне повідомлення realtime
|
||||
- `chrome.audioInputCommand`: команда SoX `rec`, що записує аудіо G.711 mu-law 8 кГц у stdout
|
||||
- `chrome.audioOutputCommand`: команда SoX `play`, що зчитує аудіо G.711 mu-law 8 кГц із stdin
|
||||
- `chrome.guestName: "OpenClaw Agent"`: ім’я, яке використовується на екрані
|
||||
гостя Meet без виконаного входу
|
||||
- `chrome.autoJoin: true`: найкраща спроба заповнити ім’я гостя та натиснути Join Now
|
||||
через автоматизацію браузера OpenClaw у `chrome-node`
|
||||
- `chrome.reuseExistingTab: true`: активувати наявну вкладку Meet замість
|
||||
відкриття дублікатів
|
||||
- `chrome.waitForInCallMs: 20000`: чекати, поки вкладка Meet повідомить про стан in-call,
|
||||
перш ніж буде запущено вступне повідомлення реального часу
|
||||
- `chrome.audioInputCommand`: команда SoX `rec`, що записує аудіо
|
||||
8 кГц G.711 mu-law у stdout
|
||||
- `chrome.audioOutputCommand`: команда SoX `play`, що читає аудіо
|
||||
8 кГц G.711 mu-law зі stdin
|
||||
- `realtime.provider: "openai"`
|
||||
- `realtime.toolPolicy: "safe-read-only"`
|
||||
- `realtime.instructions`: короткі усні відповіді з `openclaw_agent_consult` для глибших відповідей
|
||||
- `realtime.introMessage`: коротка усна перевірка готовності, коли підключається міст realtime; установіть `""`, щоб приєднуватися беззвучно
|
||||
- `realtime.instructions`: короткі усні відповіді з
|
||||
`openclaw_agent_consult` для глибших відповідей
|
||||
- `realtime.introMessage`: коротка усна перевірка готовності, коли підключається міст
|
||||
реального часу; установіть `""`, щоб приєднатися беззвучно
|
||||
|
||||
Необов’язкові перевизначення:
|
||||
|
||||
@ -354,7 +413,7 @@ export GEMINI_API_KEY=...
|
||||
realtime: {
|
||||
provider: "google",
|
||||
toolPolicy: "owner",
|
||||
introMessage: "Скажи рівно так: Я тут.",
|
||||
introMessage: "Скажи рівно: Я тут.",
|
||||
providers: {
|
||||
google: {
|
||||
model: "gemini-2.5-flash-native-audio-preview-12-2025",
|
||||
@ -393,68 +452,94 @@ export GEMINI_API_KEY=...
|
||||
}
|
||||
```
|
||||
|
||||
Використовуйте `transport: "chrome"`, коли Chrome працює на хості Gateway. Використовуйте `transport: "chrome-node"`, коли Chrome працює на спареному вузлі, наприклад у VM Parallels. В обох випадках модель realtime і `openclaw_agent_consult` працюють на хості Gateway, тому облікові дані моделі залишаються там.
|
||||
Використовуйте `transport: "chrome"`, коли Chrome працює на хості Gateway. Використовуйте
|
||||
`transport: "chrome-node"`, коли Chrome працює на з’єднаному вузлі, наприклад у Parallels
|
||||
VM. В обох випадках модель реального часу та `openclaw_agent_consult` працюють на
|
||||
хості Gateway, тому облікові дані моделі залишаються там.
|
||||
|
||||
Використовуйте `action: "status"`, щоб отримати список активних сеансів або перевірити ідентифікатор сеансу. Використовуйте `action: "speak"` з `sessionId` і `message`, щоб агент realtime почав говорити негайно. Використовуйте `action: "test_speech"`, щоб створити або повторно використати сеанс, запустити відому фразу й повернути стан `inCall`, якщо хост Chrome може його повідомити. Використовуйте `action: "leave"`, щоб позначити сеанс як завершений.
|
||||
Використовуйте `action: "status"`, щоб перелічити активні сесії або перевірити ID сесії. Використовуйте
|
||||
`action: "speak"` із `sessionId` і `message`, щоб агент реального часу
|
||||
почав говорити негайно. Використовуйте `action: "test_speech"`, щоб створити або повторно використати сесію,
|
||||
запустити відому фразу та повернути стан `inCall`, якщо хост Chrome може
|
||||
його повідомити. Використовуйте `action: "leave"`, щоб позначити сесію завершеною.
|
||||
|
||||
`status` містить стан Chrome, коли він доступний:
|
||||
`status` включає стан Chrome, коли він доступний:
|
||||
|
||||
- `inCall`: схоже, що Chrome перебуває всередині виклику Meet
|
||||
- `micMuted`: best-effort стан мікрофона Meet
|
||||
- `providerConnected` / `realtimeReady`: стан голосового моста realtime
|
||||
- `inCall`: Chrome, імовірно, перебуває всередині дзвінка Meet
|
||||
- `micMuted`: найкраща спроба визначити стан мікрофона Meet
|
||||
- `providerConnected` / `realtimeReady`: стан моста голосу реального часу
|
||||
- `lastInputAt` / `lastOutputAt`: час останнього аудіо, отриманого мостом або надісланого до нього
|
||||
|
||||
```json
|
||||
{
|
||||
"action": "speak",
|
||||
"sessionId": "meet_...",
|
||||
"message": "Скажи рівно так: Я тут і слухаю."
|
||||
"message": "Скажи рівно: Я тут і слухаю."
|
||||
}
|
||||
```
|
||||
|
||||
## Консультація агента realtime
|
||||
## Консультація агента реального часу
|
||||
|
||||
Режим Chrome realtime оптимізовано для живого голосового циклу. Провайдер голосового зв’язку realtime чує аудіо зустрічі та говорить через налаштований аудіоміст. Коли моделі realtime потрібні глибші міркування, актуальна інформація або звичайні інструменти OpenClaw, вона може викликати `openclaw_agent_consult`.
|
||||
Режим реального часу Chrome оптимізовано для живого голосового циклу. Провайдер голосу
|
||||
реального часу чує аудіо зустрічі та говорить через налаштований аудіоміст.
|
||||
Коли моделі реального часу потрібні глибші міркування, актуальна інформація або звичайні
|
||||
інструменти OpenClaw, вона може викликати `openclaw_agent_consult`.
|
||||
|
||||
Інструмент консультації запускає звичайного агента OpenClaw у фоновому режимі з контекстом нещодавньої стенограми зустрічі та повертає стислу усну відповідь до голосового сеансу realtime. Потім голосова модель може озвучити цю відповідь назад у зустрічі.
|
||||
Інструмент консультації у фоновому режимі запускає звичайного агента OpenClaw з недавнім
|
||||
контекстом транскрипту зустрічі та повертає стислу усну відповідь до сесії
|
||||
голосу реального часу. Потім голосова модель може озвучити цю відповідь назад у зустріч.
|
||||
|
||||
`realtime.toolPolicy` керує запуском консультації:
|
||||
|
||||
- `safe-read-only`: надає інструмент консультації та обмежує звичайного агента інструментами `read`, `web_search`, `web_fetch`, `x_search`, `memory_search` і `memory_get`.
|
||||
- `owner`: надає інструмент консультації та дозволяє звичайному агенту використовувати звичайну політику інструментів агента.
|
||||
- `none`: не надає інструмент консультації моделі голосового зв’язку realtime.
|
||||
- `safe-read-only`: надає інструмент консультації та обмежує звичайного агента
|
||||
інструментами `read`, `web_search`, `web_fetch`, `x_search`, `memory_search` і
|
||||
`memory_get`.
|
||||
- `owner`: надає інструмент консультації та дозволяє звичайному агенту використовувати звичайну
|
||||
політику інструментів агента.
|
||||
- `none`: не надає інструмент консультації моделі голосу реального часу.
|
||||
|
||||
Ключ сеансу консультації обмежено межами кожного сеансу Meet, тому повторні виклики консультації можуть повторно використовувати попередній контекст консультації протягом тієї самої зустрічі.
|
||||
Ключ сесії консультації має область дії на рівні сесії Meet, тому наступні виклики консультації
|
||||
можуть повторно використовувати попередній контекст консультації протягом тієї самої зустрічі.
|
||||
|
||||
Щоб примусово виконати усну перевірку готовності після того, як Chrome повністю приєднався до виклику:
|
||||
Щоб примусово виконати усну перевірку готовності після того, як Chrome повністю приєднався до дзвінка:
|
||||
|
||||
```bash
|
||||
openclaw googlemeet speak meet_... "Скажи рівно так: Я тут і слухаю."
|
||||
openclaw googlemeet speak meet_... "Say exactly: I'm here and listening."
|
||||
```
|
||||
|
||||
Для повного швидкого тесту приєднання та озвучення:
|
||||
Для повної димової перевірки приєднання та мовлення:
|
||||
|
||||
```bash
|
||||
openclaw googlemeet test-speech https://meet.google.com/abc-defg-hij \
|
||||
--transport chrome-node \
|
||||
--message "Скажи рівно так: Я тут і слухаю."
|
||||
--message "Say exactly: I'm here and listening."
|
||||
```
|
||||
|
||||
## Примітки
|
||||
|
||||
Офіційний медіа-API Google Meet орієнтований на приймання, тому для мовлення у виклик Meet усе ще потрібен шлях учасника. Цей Plugin зберігає цю межу видимою: Chrome відповідає за участь через браузер і локальну маршрутизацію аудіо; Twilio відповідає за участь через телефонний дозвін.
|
||||
Офіційний media API Google Meet орієнтований на прийом, тому мовлення в дзвінок Meet
|
||||
усе ще потребує шляху учасника. Цей Plugin зберігає цю межу видимою:
|
||||
Chrome відповідає за участь через браузер і локальну маршрутизацію аудіо; Twilio відповідає за
|
||||
участь через телефонний набір.
|
||||
|
||||
Режиму Chrome realtime потрібно одне з такого:
|
||||
Режим реального часу Chrome потребує одного з варіантів:
|
||||
|
||||
- `chrome.audioInputCommand` плюс `chrome.audioOutputCommand`: OpenClaw керує мостом моделі realtime і передає аудіо G.711 mu-law 8 кГц між цими командами та вибраним провайдером голосового зв’язку realtime.
|
||||
- `chrome.audioBridgeCommand`: зовнішня команда моста повністю керує локальним аудіошляхом і має завершитися після запуску або перевірки свого демона.
|
||||
- `chrome.audioInputCommand` плюс `chrome.audioOutputCommand`: OpenClaw володіє
|
||||
мостом моделі реального часу та передає аудіо 8 кГц G.711 mu-law між цими
|
||||
командами та вибраним провайдером голосу реального часу.
|
||||
- `chrome.audioBridgeCommand`: зовнішня команда моста повністю керує локальним
|
||||
аудіошляхом і має завершитися після запуску або перевірки свого демона.
|
||||
|
||||
Для чистого дуплексного аудіо маршрутизуйте вихід Meet і мікрофон Meet через окремі віртуальні пристрої або граф віртуальних пристроїв у стилі Loopback. Один спільний пристрій BlackHole може повертати голоси інших учасників назад у виклик.
|
||||
Для чистого двобічного аудіо маршрутизуйте вихід Meet і мікрофон Meet через окремі
|
||||
віртуальні пристрої або граф віртуальних пристроїв на кшталт Loopback. Один спільний
|
||||
пристрій BlackHole може повертати аудіо інших учасників назад у дзвінок.
|
||||
|
||||
`googlemeet speak` запускає активний аудіоміст realtime для сеансу Chrome. `googlemeet leave` зупиняє цей міст. Для сеансів Twilio, делегованих через Plugin Voice Call, `leave` також кладе слухавку базового голосового виклику.
|
||||
`googlemeet speak` запускає активний аудіоміст реального часу для сесії
|
||||
Chrome. `googlemeet leave` зупиняє цей міст. Для сесій Twilio, делегованих через Plugin Voice Call,
|
||||
`leave` також завершує базовий голосовий дзвінок.
|
||||
|
||||
## Пов’язане
|
||||
## Пов’язані матеріали
|
||||
|
||||
- [Plugin Voice call](/uk/plugins/voice-call)
|
||||
- [Режим Talk](/uk/nodes/talk)
|
||||
- [Режим розмови](/uk/nodes/talk)
|
||||
- [Створення Plugin](/uk/plugins/building-plugins)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user