chore(i18n): refresh uk translations
This commit is contained in:
parent
777f0e1b8f
commit
bcc4ba3ccf
@ -1,35 +1,34 @@
|
||||
---
|
||||
read_when:
|
||||
- Ви хочете використовувати моделі Xiaomi MiMo в OpenClaw
|
||||
- Ви хочете моделі Xiaomi MiMo в OpenClaw
|
||||
- Вам потрібно налаштувати `XIAOMI_API_KEY`
|
||||
summary: Використання моделей Xiaomi MiMo з OpenClaw
|
||||
summary: Використовуйте моделі Xiaomi MiMo з OpenClaw
|
||||
title: Xiaomi MiMo
|
||||
x-i18n:
|
||||
generated_at: "2026-04-23T23:06:06Z"
|
||||
generated_at: "2026-04-25T08:51:56Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: ae61547fa5864f0cd3e19465a8a7d6ff843f9534ab9c2dd39a86a3593cafaa8d
|
||||
source_hash: 7781973c3a1d14101cdb0a8d1affe3fd076a968552ed2a8630a91a8947daeb3a
|
||||
source_path: providers/xiaomi.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
Xiaomi MiMo — це API-платформа для моделей **MiMo**. OpenClaw використовує endpoint Xiaomi,
|
||||
сумісний з OpenAI, з автентифікацією через API key.
|
||||
Xiaomi MiMo — це API-платформа для моделей **MiMo**. OpenClaw використовує сумісний з OpenAI endpoint Xiaomi з автентифікацією за API-ключем.
|
||||
|
||||
| Властивість | Значення |
|
||||
| ----------- | ------------------------------- |
|
||||
| Провайдер | `xiaomi` |
|
||||
| Auth | `XIAOMI_API_KEY` |
|
||||
| API | Сумісний з OpenAI |
|
||||
| Base URL | `https://api.xiaomimimo.com/v1` |
|
||||
| Властивість | Значення |
|
||||
| ----------- | ------------------------------ |
|
||||
| Постачальник | `xiaomi` |
|
||||
| Автентифікація | `XIAOMI_API_KEY` |
|
||||
| API | Сумісне з OpenAI |
|
||||
| Базова URL-адреса | `https://api.xiaomimimo.com/v1` |
|
||||
|
||||
## Початок роботи
|
||||
|
||||
<Steps>
|
||||
<Step title="Отримайте API key">
|
||||
Створіть API key у [консолі Xiaomi MiMo](https://platform.xiaomimimo.com/#/console/api-keys).
|
||||
<Step title="Отримайте API-ключ">
|
||||
Створіть API-ключ у [консолі Xiaomi MiMo](https://platform.xiaomimimo.com/#/console/api-keys).
|
||||
</Step>
|
||||
<Step title="Запустіть onboarding">
|
||||
<Step title="Запустіть онбординг">
|
||||
```bash
|
||||
openclaw onboard --auth-choice xiaomi-api-key
|
||||
```
|
||||
@ -48,19 +47,53 @@ Xiaomi MiMo — це API-платформа для моделей **MiMo**. Open
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Вбудований catalog
|
||||
## Вбудований каталог
|
||||
|
||||
| Посилання на модель | Вхід | Контекст | Макс. вивід | Reasoning | Примітки |
|
||||
| ---------------------- | ----------- | --------- | ----------- | --------- | -------------- |
|
||||
| `xiaomi/mimo-v2-flash` | text | 262,144 | 8,192 | Ні | Типова модель |
|
||||
| `xiaomi/mimo-v2-pro` | text | 1,048,576 | 32,000 | Так | Великий контекст |
|
||||
| `xiaomi/mimo-v2-omni` | text, image | 262,144 | 32,000 | Так | Мультимодальна |
|
||||
| Посилання на модель | Вхідні дані | Контекст | Макс. вивід | Міркування | Примітки |
|
||||
| ----------------------- | ----------- | --------- | ----------- | ---------- | ------------- |
|
||||
| `xiaomi/mimo-v2-flash` | текст | 262,144 | 8,192 | Ні | Модель за замовчуванням |
|
||||
| `xiaomi/mimo-v2-pro` | текст | 1,048,576 | 32,000 | Так | Великий контекст |
|
||||
| `xiaomi/mimo-v2-omni` | текст, зображення | 262,144 | 32,000 | Так | Мультимодальна |
|
||||
|
||||
<Tip>
|
||||
Типове посилання на модель — `xiaomi/mimo-v2-flash`. Провайдер автоматично додається, коли задано `XIAOMI_API_KEY` або існує auth profile.
|
||||
Посилання на модель за замовчуванням — `xiaomi/mimo-v2-flash`. Постачальник додається автоматично, коли встановлено `XIAOMI_API_KEY` або існує профіль автентифікації.
|
||||
</Tip>
|
||||
|
||||
## Приклад config
|
||||
## Text-to-speech
|
||||
|
||||
У комплектний plugin `xiaomi` також входить реєстрація Xiaomi MiMo як постачальника мовлення для `messages.tts`. Він викликає TTS-контракт chat-completions Xiaomi з текстом як повідомленням `assistant` і необов’язковими вказівками щодо стилю як повідомленням `user`.
|
||||
|
||||
| Властивість | Значення |
|
||||
| ----------- | -------------------------------------- |
|
||||
| Ідентифікатор TTS | `xiaomi` (`mimo` alias) |
|
||||
| Автентифікація | `XIAOMI_API_KEY` |
|
||||
| API | `POST /v1/chat/completions` з `audio` |
|
||||
| За замовчуванням | `mimo-v2.5-tts`, голос `mimo_default` |
|
||||
| Вивід | MP3 за замовчуванням; WAV, якщо налаштовано |
|
||||
|
||||
```json5
|
||||
{
|
||||
messages: {
|
||||
tts: {
|
||||
auto: "always",
|
||||
provider: "xiaomi",
|
||||
providers: {
|
||||
xiaomi: {
|
||||
apiKey: "xiaomi_api_key",
|
||||
model: "mimo-v2.5-tts",
|
||||
voice: "mimo_default",
|
||||
format: "mp3",
|
||||
style: "Bright, natural, conversational tone.",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Серед підтримуваних вбудованих голосів: `mimo_default`, `default_zh`, `default_en`, `Mia`, `Chloe`, `Milo` і `Dean`. `mimo-v2-tts` підтримується для старіших облікових записів MiMo TTS; за замовчуванням використовується поточна модель MiMo-V2.5 TTS. Для цілей голосових повідомлень, таких як Feishu і Telegram, OpenClaw перекодовує вивід Xiaomi у 48 кГц Opus за допомогою `ffmpeg` перед доставкою.
|
||||
|
||||
## Приклад конфігурації
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -109,27 +142,27 @@ Xiaomi MiMo — це API-платформа для моделей **MiMo**. Open
|
||||
```
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Поведінка автоін’єкції">
|
||||
Провайдер `xiaomi` автоматично додається, коли `XIAOMI_API_KEY` задано у вашому середовищі або існує auth profile. Вам не потрібно вручну налаштовувати провайдера, якщо тільки ви не хочете перевизначити метадані моделі або base URL.
|
||||
<Accordion title="Поведінка автоматичного додавання">
|
||||
Постачальник `xiaomi` додається автоматично, коли `XIAOMI_API_KEY` встановлено у вашому середовищі або існує профіль автентифікації. Вам не потрібно вручну налаштовувати постачальника, якщо тільки ви не хочете перевизначити метадані моделі або базову URL-адресу.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Докладніше про моделі">
|
||||
- **mimo-v2-flash** — легка й швидка, ідеальна для загальних текстових завдань. Підтримка reasoning відсутня.
|
||||
- **mimo-v2-pro** — підтримує reasoning з контекстним вікном на 1M токенів для роботи з довгими документами.
|
||||
- **mimo-v2-omni** — мультимодальна модель із підтримкою reasoning, яка приймає і текст, і зображення.
|
||||
<Accordion title="Відомості про моделі">
|
||||
- **mimo-v2-flash** — легка й швидка модель, ідеальна для текстових завдань загального призначення. Підтримка міркування відсутня.
|
||||
- **mimo-v2-pro** — підтримує міркування з контекстним вікном на 1M токенів для навантажень із довгими документами.
|
||||
- **mimo-v2-omni** — мультимодальна модель із підтримкою міркування, яка приймає як текстові, так і графічні вхідні дані.
|
||||
|
||||
<Note>
|
||||
Усі моделі використовують префікс `xiaomi/` (наприклад `xiaomi/mimo-v2-pro`).
|
||||
Усі моделі використовують префікс `xiaomi/` (наприклад, `xiaomi/mimo-v2-pro`).
|
||||
</Note>
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Усунення проблем">
|
||||
- Якщо моделі не з’являються, переконайтеся, що `XIAOMI_API_KEY` задано й він валідний.
|
||||
- Коли Gateway працює як daemon, переконайтеся, що ключ доступний цьому процесу (наприклад у `~/.openclaw/.env` або через `env.shellEnv`).
|
||||
<Accordion title="Усунення несправностей">
|
||||
- Якщо моделі не з’являються, переконайтеся, що `XIAOMI_API_KEY` встановлено й він дійсний.
|
||||
- Коли Gateway працює як демон, переконайтеся, що ключ доступний для цього процесу (наприклад, у `~/.openclaw/.env` або через `env.shellEnv`).
|
||||
|
||||
<Warning>
|
||||
Ключі, задані лише в інтерактивному shell, не видимі процесам gateway, якими керує daemon. Для постійної доступності використовуйте `~/.openclaw/.env` або config `env.shellEnv`.
|
||||
Ключі, встановлені лише у вашій інтерактивній оболонці, не видимі для процесів Gateway, якими керує демон. Для постійної доступності використовуйте `~/.openclaw/.env` або конфігурацію `env.shellEnv`.
|
||||
</Warning>
|
||||
|
||||
</Accordion>
|
||||
@ -139,12 +172,12 @@ Xiaomi MiMo — це API-платформа для моделей **MiMo**. Open
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Вибір моделі" href="/uk/concepts/model-providers" icon="layers">
|
||||
Вибір провайдерів, посилань на моделі та поведінки failover.
|
||||
Вибір постачальників, посилань на моделі та поведінки резервного перемикання.
|
||||
</Card>
|
||||
<Card title="Довідник конфігурації" href="/uk/gateway/configuration-reference" icon="gear">
|
||||
Повний довідник конфігурації OpenClaw.
|
||||
</Card>
|
||||
<Card title="Консоль Xiaomi MiMo" href="https://platform.xiaomimimo.com" icon="arrow-up-right-from-square">
|
||||
Панель Xiaomi MiMo і керування API key.
|
||||
Панель керування Xiaomi MiMo та керування API-ключами.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -6,44 +6,45 @@ read_when:
|
||||
summary: Перетворення тексту на мовлення (TTS) для вихідних відповідей
|
||||
title: Перетворення тексту на мовлення
|
||||
x-i18n:
|
||||
generated_at: "2026-04-25T08:32:13Z"
|
||||
generated_at: "2026-04-25T08:51:54Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: b63be2c606754b3ed334c394fb2ea8da3698ca8bfcbe8c136a5b710cb9c52768
|
||||
source_hash: 14a2d014850395add532faef86659acae7fd6a8a5757f9dd7dac606c0780d278
|
||||
source_path: tools/tts.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
OpenClaw може перетворювати вихідні відповіді на аудіо за допомогою ElevenLabs, Google Gemini, Gradium, Microsoft, MiniMax, OpenAI, Vydra або xAI.
|
||||
OpenClaw може перетворювати вихідні відповіді на аудіо за допомогою ElevenLabs, Google Gemini, Gradium, Microsoft, MiniMax, OpenAI, Vydra, xAI або Xiaomi MiMo.
|
||||
Це працює всюди, де OpenClaw може надсилати аудіо.
|
||||
|
||||
## Підтримувані сервіси
|
||||
|
||||
- **ElevenLabs** (основний або резервний постачальник)
|
||||
- **Google Gemini** (основний або резервний постачальник; використовує Gemini API TTS)
|
||||
- **Gradium** (основний або резервний постачальник; підтримує вихід у форматі голосових повідомлень і телефонії)
|
||||
- **Gradium** (основний або резервний постачальник; підтримує вихід voice-note і telephony)
|
||||
- **Microsoft** (основний або резервний постачальник; поточна вбудована реалізація використовує `node-edge-tts`)
|
||||
- **MiniMax** (основний або резервний постачальник; використовує API T2A v2)
|
||||
- **OpenAI** (основний або резервний постачальник; також використовується для зведень)
|
||||
- **OpenAI** (основний або резервний постачальник; також використовується для підсумків)
|
||||
- **Vydra** (основний або резервний постачальник; спільний постачальник зображень, відео та мовлення)
|
||||
- **xAI** (основний або резервний постачальник; використовує xAI TTS API)
|
||||
- **Xiaomi MiMo** (основний або резервний постачальник; використовує MiMo TTS через chat completions Xiaomi)
|
||||
|
||||
### Примітки щодо мовлення Microsoft
|
||||
|
||||
Поточний вбудований постачальник мовлення Microsoft використовує онлайн-службу
|
||||
Поточний вбудований постачальник мовлення Microsoft використовує онлайн-сервіс
|
||||
нейронного TTS Microsoft Edge через бібліотеку `node-edge-tts`. Це хостинговий сервіс (не
|
||||
локальний), він використовує кінцеві точки Microsoft і не потребує API-ключа.
|
||||
`node-edge-tts` надає параметри конфігурації мовлення та формати виводу, але
|
||||
сервіс підтримує не всі параметри. Старі конфігурації та вхідні директиви
|
||||
з `edge` усе ще працюють і нормалізуються до `microsoft`.
|
||||
`node-edge-tts` надає параметри конфігурації мовлення та вихідні формати, але
|
||||
сервіс підтримує не всі параметри. Застаріла конфігурація та вхідні директиви
|
||||
з використанням `edge` усе ще працюють і нормалізуються до `microsoft`.
|
||||
|
||||
Оскільки цей шлях використовує публічний вебсервіс без опублікованої SLA або квоти,
|
||||
ставтеся до нього як до best-effort. Якщо вам потрібні гарантовані ліміти й підтримка, використовуйте OpenAI
|
||||
Оскільки цей шлях використовує загальнодоступний вебсервіс без опублікованих SLA або квот,
|
||||
вважайте його best-effort. Якщо вам потрібні гарантовані ліміти та підтримка, використовуйте OpenAI
|
||||
або ElevenLabs.
|
||||
|
||||
## Необов’язкові ключі
|
||||
|
||||
Якщо ви хочете використовувати OpenAI, ElevenLabs, Google Gemini, Gradium, MiniMax, Vydra або xAI:
|
||||
Якщо ви хочете використовувати OpenAI, ElevenLabs, Google Gemini, Gradium, MiniMax, Vydra, xAI або Xiaomi MiMo:
|
||||
|
||||
- `ELEVENLABS_API_KEY` (або `XI_API_KEY`)
|
||||
- `GEMINI_API_KEY` (або `GOOGLE_API_KEY`)
|
||||
@ -52,23 +53,25 @@ OpenClaw може перетворювати вихідні відповіді
|
||||
- `OPENAI_API_KEY`
|
||||
- `VYDRA_API_KEY`
|
||||
- `XAI_API_KEY`
|
||||
- `XIAOMI_API_KEY`
|
||||
|
||||
Для мовлення Microsoft API-ключ **не** потрібен.
|
||||
Мовлення Microsoft **не** потребує API-ключа.
|
||||
|
||||
Якщо налаштовано кілька постачальників, спочатку використовується вибраний постачальник, а решта слугують резервними варіантами.
|
||||
Автозведення використовує налаштовану `summaryModel` (або `agents.defaults.model.primary`),
|
||||
тому, якщо ви вмикаєте зведення, цей постачальник також має бути автентифікований.
|
||||
Автоматичний підсумок використовує налаштований `summaryModel` (або `agents.defaults.model.primary`),
|
||||
тому якщо ви вмикаєте підсумки, цей постачальник також має бути автентифікований.
|
||||
|
||||
## Посилання на сервіси
|
||||
|
||||
- [Посібник OpenAI Text-to-Speech](https://platform.openai.com/docs/guides/text-to-speech)
|
||||
- [Довідник API OpenAI Audio](https://platform.openai.com/docs/api-reference/audio)
|
||||
- [Довідник OpenAI Audio API](https://platform.openai.com/docs/api-reference/audio)
|
||||
- [ElevenLabs Text to Speech](https://elevenlabs.io/docs/api-reference/text-to-speech)
|
||||
- [Автентифікація ElevenLabs](https://elevenlabs.io/docs/api-reference/authentication)
|
||||
- [Gradium](/uk/providers/gradium)
|
||||
- [API MiniMax T2A v2](https://platform.minimaxi.com/document/T2A%20V2)
|
||||
- [Синтез мовлення Xiaomi MiMo](/uk/providers/xiaomi#text-to-speech)
|
||||
- [node-edge-tts](https://github.com/SchneeHertz/node-edge-tts)
|
||||
- [Формати виводу Microsoft Speech](https://learn.microsoft.com/azure/ai-services/speech-service/rest-text-to-speech#audio-outputs)
|
||||
- [Вихідні формати Microsoft Speech](https://learn.microsoft.com/azure/ai-services/speech-service/rest-text-to-speech#audio-outputs)
|
||||
- [xAI Text to Speech](https://docs.x.ai/developers/rest-api-reference/inference/voice#text-to-speech-rest)
|
||||
|
||||
## Чи ввімкнено це за замовчуванням?
|
||||
@ -76,13 +79,13 @@ OpenClaw може перетворювати вихідні відповіді
|
||||
Ні. Автоматичний TTS **вимкнено** за замовчуванням. Увімкніть його в конфігурації через
|
||||
`messages.tts.auto` або локально через `/tts on`.
|
||||
|
||||
Якщо `messages.tts.provider` не задано, OpenClaw вибирає першого налаштованого
|
||||
постачальника мовлення в порядку авто-вибору реєстру.
|
||||
Коли `messages.tts.provider` не задано, OpenClaw вибирає першого налаштованого
|
||||
постачальника мовлення в порядку автоматичного вибору реєстру.
|
||||
|
||||
## Конфігурація
|
||||
|
||||
Конфігурація TTS розміщена в `messages.tts` у `openclaw.json`.
|
||||
Повна схема наведена в [Конфігурації Gateway](/uk/gateway/configuration).
|
||||
Конфігурація TTS розміщується в `messages.tts` у `openclaw.json`.
|
||||
Повна схема наведена в [Конфігурація Gateway](/uk/gateway/configuration).
|
||||
|
||||
### Мінімальна конфігурація (увімкнення + постачальник)
|
||||
|
||||
@ -97,7 +100,7 @@ OpenClaw може перетворювати вихідні відповіді
|
||||
}
|
||||
```
|
||||
|
||||
### OpenAI як основний, ElevenLabs як резервний
|
||||
### OpenAI як основний з ElevenLabs як резервним
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -205,8 +208,8 @@ OpenClaw може перетворювати вихідні відповіді
|
||||
}
|
||||
```
|
||||
|
||||
Google Gemini TTS використовує шлях API-ключа Gemini. Ключ API Google Cloud Console,
|
||||
обмежений Gemini API, тут є дійсним, і це той самий тип ключа, який використовується
|
||||
Google Gemini TTS використовує шлях API-ключа Gemini. Тут дійсний API-ключ Google Cloud Console,
|
||||
обмежений Gemini API, і це той самий тип ключа, який використовується
|
||||
вбудованим постачальником генерації зображень Google. Порядок визначення:
|
||||
`messages.tts.providers.google.apiKey` -> `models.providers.google.apiKey` ->
|
||||
`GEMINI_API_KEY` -> `GOOGLE_API_KEY`.
|
||||
@ -236,7 +239,35 @@ Google Gemini TTS використовує шлях API-ключа Gemini. Кл
|
||||
xAI TTS використовує той самий шлях `XAI_API_KEY`, що й вбудований постачальник моделей Grok.
|
||||
Порядок визначення: `messages.tts.providers.xai.apiKey` -> `XAI_API_KEY`.
|
||||
Поточні доступні голоси: `ara`, `eve`, `leo`, `rex`, `sal` і `una`; `eve` —
|
||||
голос за замовчуванням. `language` приймає тег BCP-47 або `auto`.
|
||||
значення за замовчуванням. `language` приймає тег BCP-47 або `auto`.
|
||||
|
||||
### Xiaomi MiMo як основний
|
||||
|
||||
```json5
|
||||
{
|
||||
messages: {
|
||||
tts: {
|
||||
auto: "always",
|
||||
provider: "xiaomi",
|
||||
providers: {
|
||||
xiaomi: {
|
||||
apiKey: "xiaomi_api_key",
|
||||
baseUrl: "https://api.xiaomimimo.com/v1",
|
||||
model: "mimo-v2.5-tts",
|
||||
voice: "mimo_default",
|
||||
format: "mp3",
|
||||
style: "Bright, natural, conversational tone.",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Xiaomi MiMo TTS використовує той самий шлях `XIAOMI_API_KEY`, що й вбудований постачальник моделей Xiaomi.
|
||||
Ідентифікатор постачальника мовлення — `xiaomi`; `mimo` також приймається як псевдонім.
|
||||
Цільовий текст надсилається як повідомлення асистента відповідно до контракту TTS Xiaomi.
|
||||
Необов’язковий `style` надсилається як інструкція користувача і не озвучується.
|
||||
|
||||
### OpenRouter як основний
|
||||
|
||||
@ -327,7 +358,7 @@ OpenRouter TTS використовує той самий шлях `OPENROUTER_A
|
||||
}
|
||||
```
|
||||
|
||||
### Вимкнення автозведення для довгих відповідей
|
||||
### Вимкнення автоматичного підсумку для довгих відповідей
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -350,46 +381,46 @@ OpenRouter TTS використовує той самий шлях `OPENROUTER_A
|
||||
- `auto`: режим автоматичного TTS (`off`, `always`, `inbound`, `tagged`).
|
||||
- `inbound` надсилає аудіо лише після вхідного голосового повідомлення.
|
||||
- `tagged` надсилає аудіо лише тоді, коли відповідь містить директиви `[[tts:key=value]]` або блок `[[tts:text]]...[[/tts:text]]`.
|
||||
- `enabled`: застарілий перемикач (doctor переносить його до `auto`).
|
||||
- `enabled`: застарілий перемикач (doctor мігрує його до `auto`).
|
||||
- `mode`: `"final"` (за замовчуванням) або `"all"` (включає відповіді інструментів/блоків).
|
||||
- `provider`: ідентифікатор постачальника мовлення, наприклад `"elevenlabs"`, `"google"`, `"gradium"`, `"microsoft"`, `"minimax"`, `"openai"`, `"vydra"` або `"xai"` (резервне перемикання відбувається автоматично).
|
||||
- Якщо `provider` **не задано**, OpenClaw використовує першого налаштованого постачальника мовлення в порядку авто-вибору реєстру.
|
||||
- Застарілу конфігурацію `provider: "edge"` виправляє `openclaw doctor --fix`, переписуючи її на
|
||||
`provider: "microsoft"`.
|
||||
- `summaryModel`: необов’язкова недорога модель для автозведення; за замовчуванням використовується `agents.defaults.model.primary`.
|
||||
- `provider`: ідентифікатор постачальника мовлення, наприклад `"elevenlabs"`, `"google"`, `"gradium"`, `"microsoft"`, `"minimax"`, `"openai"`, `"vydra"`, `"xai"` або `"xiaomi"` (резервне перемикання відбувається автоматично).
|
||||
- Якщо `provider` **не задано**, OpenClaw використовує першого налаштованого постачальника мовлення в порядку автоматичного вибору реєстру.
|
||||
- Застаріла конфігурація `provider: "edge"` виправляється командою `openclaw doctor --fix` і
|
||||
переписується на `provider: "microsoft"`.
|
||||
- `summaryModel`: необов’язкова недорога модель для автоматичного підсумку; за замовчуванням використовується `agents.defaults.model.primary`.
|
||||
- Приймає `provider/model` або псевдонім налаштованої моделі.
|
||||
- `modelOverrides`: дозволяє моделі видавати директиви TTS (увімкнено за замовчуванням).
|
||||
- `modelOverrides`: дозволяє моделі виводити директиви TTS (увімкнено за замовчуванням).
|
||||
- `allowProvider` за замовчуванням має значення `false` (перемикання постачальника вмикається явно).
|
||||
- `providers.<id>`: параметри, що належать постачальнику, з ключем за ідентифікатором постачальника мовлення.
|
||||
- Застарілі прямі блоки постачальників (`messages.tts.openai`, `messages.tts.elevenlabs`, `messages.tts.microsoft`, `messages.tts.edge`) виправляються через `openclaw doctor --fix`; у збереженій конфігурації слід використовувати `messages.tts.providers.<id>`.
|
||||
- Застарілий `messages.tts.providers.edge` також виправляється через `openclaw doctor --fix`; у збереженій конфігурації слід використовувати `messages.tts.providers.microsoft`.
|
||||
- `maxTextLength`: жорстке обмеження для вхідного тексту TTS (символи). Якщо його перевищено, `/tts audio` завершується з помилкою.
|
||||
- `providers.<id>`: налаштування, що належать постачальнику, із ключем за ідентифікатором постачальника мовлення.
|
||||
- Застарілі прямі блоки постачальників (`messages.tts.openai`, `messages.tts.elevenlabs`, `messages.tts.microsoft`, `messages.tts.edge`) виправляються командою `openclaw doctor --fix`; у збереженій конфігурації слід використовувати `messages.tts.providers.<id>`.
|
||||
- Застарілий `messages.tts.providers.edge` також виправляється командою `openclaw doctor --fix`; у збереженій конфігурації слід використовувати `messages.tts.providers.microsoft`.
|
||||
- `maxTextLength`: жорстке обмеження для вхідного тексту TTS (символи). `/tts audio` завершується помилкою, якщо ліміт перевищено.
|
||||
- `timeoutMs`: тайм-аут запиту (мс).
|
||||
- `prefsPath`: перевизначає локальний шлях до JSON-файлу налаштувань (постачальник/ліміт/зведення).
|
||||
- Значення `apiKey` можуть братися зі змінних середовища (`ELEVENLABS_API_KEY`/`XI_API_KEY`, `GEMINI_API_KEY`/`GOOGLE_API_KEY`, `GRADIUM_API_KEY`, `MINIMAX_API_KEY`, `OPENAI_API_KEY`, `VYDRA_API_KEY`, `XAI_API_KEY`).
|
||||
- `prefsPath`: перевизначає локальний шлях до JSON-файлу prefs (постачальник/ліміт/підсумок).
|
||||
- Значення `apiKey` беруться з env vars (`ELEVENLABS_API_KEY`/`XI_API_KEY`, `GEMINI_API_KEY`/`GOOGLE_API_KEY`, `GRADIUM_API_KEY`, `MINIMAX_API_KEY`, `OPENAI_API_KEY`, `VYDRA_API_KEY`, `XAI_API_KEY`, `XIAOMI_API_KEY`), якщо не задані явно.
|
||||
- `providers.elevenlabs.baseUrl`: перевизначає базовий URL API ElevenLabs.
|
||||
- `providers.openai.baseUrl`: перевизначає кінцеву точку OpenAI TTS.
|
||||
- Порядок визначення: `messages.tts.providers.openai.baseUrl` -> `OPENAI_TTS_BASE_URL` -> `https://api.openai.com/v1`
|
||||
- Значення, відмінні від стандартного, розглядаються як OpenAI-сумісні кінцеві точки TTS, тому допускаються власні назви моделей і голосів.
|
||||
- Значення, відмінні від типових, розглядаються як OpenAI-сумісні кінцеві точки TTS, тому допускаються власні назви моделей і голосів.
|
||||
- `providers.elevenlabs.voiceSettings`:
|
||||
- `stability`, `similarityBoost`, `style`: `0..1`
|
||||
- `useSpeakerBoost`: `true|false`
|
||||
- `speed`: `0.5..2.0` (1.0 = звичайна швидкість)
|
||||
- `speed`: `0.5..2.0` (1.0 = нормально)
|
||||
- `providers.elevenlabs.applyTextNormalization`: `auto|on|off`
|
||||
- `providers.elevenlabs.languageCode`: дволітерний ISO 639-1 (наприклад, `en`, `de`)
|
||||
- `providers.elevenlabs.seed`: ціле число `0..4294967295` (best-effort детермінізм)
|
||||
- `providers.elevenlabs.languageCode`: 2-літерний ISO 639-1 (наприклад, `en`, `de`)
|
||||
- `providers.elevenlabs.seed`: ціле число `0..4294967295` (best-effort determinism)
|
||||
- `providers.minimax.baseUrl`: перевизначає базовий URL API MiniMax (за замовчуванням `https://api.minimax.io`, env: `MINIMAX_API_HOST`).
|
||||
- `providers.minimax.model`: модель TTS (за замовчуванням `speech-2.8-hd`, env: `MINIMAX_TTS_MODEL`).
|
||||
- `providers.minimax.voiceId`: ідентифікатор голосу (за замовчуванням `English_expressive_narrator`, env: `MINIMAX_TTS_VOICE_ID`).
|
||||
- `providers.minimax.speed`: швидкість відтворення `0.5..2.0` (за замовчуванням 1.0).
|
||||
- `providers.minimax.vol`: гучність `(0, 10]` (за замовчуванням 1.0; має бути більшою за 0).
|
||||
- `providers.minimax.pitch`: ціле зміщення тону `-12..12` (за замовчуванням 0). Дробові значення обрізаються перед викликом MiniMax T2A, оскільки API відхиляє нецілі значення тону.
|
||||
- `providers.minimax.pitch`: цілочисельне зміщення тону `-12..12` (за замовчуванням 0). Дробові значення відкидаються перед викликом MiniMax T2A, оскільки API не приймає нецілі значення тону.
|
||||
- `providers.google.model`: модель Gemini TTS (за замовчуванням `gemini-3.1-flash-tts-preview`).
|
||||
- `providers.google.voiceName`: назва вбудованого голосу Gemini (за замовчуванням `Kore`; також приймається `voice`).
|
||||
- `providers.google.audioProfile`: підказка стилю природною мовою, що додається перед озвучуваним текстом.
|
||||
- `providers.google.speakerName`: необов’язкова мітка мовця, яка додається перед озвучуваним текстом, коли ваш запит TTS використовує іменованого мовця.
|
||||
- `providers.google.baseUrl`: перевизначає базовий URL Gemini API. Дозволено лише `https://generativelanguage.googleapis.com`.
|
||||
- Якщо `messages.tts.providers.google.apiKey` пропущено, TTS може повторно використовувати `models.providers.google.apiKey` до переходу на резерв через env.
|
||||
- `providers.google.audioProfile`: підказка зі стилем природною мовою, що додається перед озвучуваним текстом.
|
||||
- `providers.google.speakerName`: необов’язкова мітка мовця, що додається перед озвучуваним текстом, коли ваш TTS prompt використовує іменованого мовця.
|
||||
- `providers.google.baseUrl`: перевизначає базовий URL Gemini API. Приймається лише `https://generativelanguage.googleapis.com`.
|
||||
- Якщо `messages.tts.providers.google.apiKey` пропущено, TTS може повторно використати `models.providers.google.apiKey` перед переходом до env.
|
||||
- `providers.gradium.baseUrl`: перевизначає базовий URL API Gradium (за замовчуванням `https://api.gradium.ai`).
|
||||
- `providers.gradium.voiceId`: ідентифікатор голосу Gradium (за замовчуванням Emma, `YTpq7expH9539ERJ`).
|
||||
- `providers.xai.apiKey`: API-ключ xAI TTS (env: `XAI_API_KEY`).
|
||||
@ -397,38 +428,44 @@ OpenRouter TTS використовує той самий шлях `OPENROUTER_A
|
||||
- `providers.xai.voiceId`: ідентифікатор голосу xAI (за замовчуванням `eve`; поточні доступні голоси: `ara`, `eve`, `leo`, `rex`, `sal`, `una`).
|
||||
- `providers.xai.language`: код мови BCP-47 або `auto` (за замовчуванням `en`).
|
||||
- `providers.xai.responseFormat`: `mp3`, `wav`, `pcm`, `mulaw` або `alaw` (за замовчуванням `mp3`).
|
||||
- `providers.xai.speed`: перевизначення швидкості, специфічне для постачальника.
|
||||
- `providers.xai.speed`: перевизначення швидкості на рівні постачальника.
|
||||
- `providers.xiaomi.apiKey`: API-ключ Xiaomi MiMo (env: `XIAOMI_API_KEY`).
|
||||
- `providers.xiaomi.baseUrl`: перевизначає базовий URL API Xiaomi MiMo (за замовчуванням `https://api.xiaomimimo.com/v1`, env: `XIAOMI_BASE_URL`).
|
||||
- `providers.xiaomi.model`: модель TTS (за замовчуванням `mimo-v2.5-tts`, env: `XIAOMI_TTS_MODEL`; також підтримується `mimo-v2-tts`).
|
||||
- `providers.xiaomi.voice`: ідентифікатор голосу MiMo (за замовчуванням `mimo_default`, env: `XIAOMI_TTS_VOICE`).
|
||||
- `providers.xiaomi.format`: `mp3` або `wav` (за замовчуванням `mp3`, env: `XIAOMI_TTS_FORMAT`).
|
||||
- `providers.xiaomi.style`: необов’язкова інструкція щодо стилю природною мовою, яка надсилається як повідомлення користувача; вона не озвучується.
|
||||
- `providers.openrouter.apiKey`: API-ключ OpenRouter (env: `OPENROUTER_API_KEY`; може повторно використовувати `models.providers.openrouter.apiKey`).
|
||||
- `providers.openrouter.baseUrl`: перевизначає базовий URL OpenRouter TTS (за замовчуванням `https://openrouter.ai/api/v1`; застарілий `https://openrouter.ai/v1` нормалізується).
|
||||
- `providers.openrouter.model`: ідентифікатор моделі OpenRouter TTS (за замовчуванням `hexgrad/kokoro-82m`; також приймається `modelId`).
|
||||
- `providers.openrouter.voice`: ідентифікатор голосу, специфічний для постачальника (за замовчуванням `af_alloy`; також приймається `voiceId`).
|
||||
- `providers.openrouter.responseFormat`: `mp3` або `pcm` (за замовчуванням `mp3`).
|
||||
- `providers.openrouter.speed`: перевизначення швидкості, специфічне для постачальника.
|
||||
- `providers.openrouter.speed`: перевизначення швидкості на рівні постачальника.
|
||||
- `providers.microsoft.enabled`: дозволяє використання мовлення Microsoft (за замовчуванням `true`; без API-ключа).
|
||||
- `providers.microsoft.voice`: назва нейронного голосу Microsoft (наприклад, `en-US-MichelleNeural`).
|
||||
- `providers.microsoft.lang`: код мови (наприклад, `en-US`).
|
||||
- `providers.microsoft.outputFormat`: формат виводу Microsoft (наприклад, `audio-24khz-48kbitrate-mono-mp3`).
|
||||
- Дійсні значення див. у форматах виводу Microsoft Speech; не всі формати підтримуються вбудованим транспортом на базі Edge.
|
||||
- `providers.microsoft.rate` / `providers.microsoft.pitch` / `providers.microsoft.volume`: рядки з відсотками (наприклад, `+10%`, `-5%`).
|
||||
- `providers.microsoft.outputFormat`: вихідний формат Microsoft (наприклад, `audio-24khz-48kbitrate-mono-mp3`).
|
||||
- Дійсні значення див. у Microsoft Speech output formats; не всі формати підтримуються вбудованим транспортом на базі Edge.
|
||||
- `providers.microsoft.rate` / `providers.microsoft.pitch` / `providers.microsoft.volume`: рядки у відсотках (наприклад, `+10%`, `-5%`).
|
||||
- `providers.microsoft.saveSubtitles`: записує JSON-субтитри поруч з аудіофайлом.
|
||||
- `providers.microsoft.proxy`: URL проксі для запитів мовлення Microsoft.
|
||||
- `providers.microsoft.proxy`: URL проксі для запитів до мовлення Microsoft.
|
||||
- `providers.microsoft.timeoutMs`: перевизначення тайм-ауту запиту (мс).
|
||||
- `edge.*`: застарілий псевдонім для тих самих параметрів Microsoft. Виконайте
|
||||
- `edge.*`: застарілий псевдонім для тих самих налаштувань Microsoft. Виконайте
|
||||
`openclaw doctor --fix`, щоб переписати збережену конфігурацію на `providers.microsoft`.
|
||||
|
||||
## Керовані моделлю перевизначення (увімкнено за замовчуванням)
|
||||
## Перевизначення, керовані моделлю (увімкнено за замовчуванням)
|
||||
|
||||
За замовчуванням модель **може** видавати директиви TTS для однієї відповіді.
|
||||
За замовчуванням модель **може** виводити директиви TTS для однієї відповіді.
|
||||
Коли `messages.tts.auto` має значення `tagged`, ці директиви потрібні для запуску аудіо.
|
||||
|
||||
Коли це ввімкнено, модель може видавати директиви `[[tts:...]]` для перевизначення голосу
|
||||
Коли цю функцію ввімкнено, модель може виводити директиви `[[tts:...]]` для перевизначення голосу
|
||||
для однієї відповіді, а також необов’язковий блок `[[tts:text]]...[[/tts:text]]`, щоб
|
||||
надати виразні теги (сміх, підказки для співу тощо), які мають з’являтися лише в
|
||||
додати виразні теги (сміх, підказки для співу тощо), які мають з’являтися лише в
|
||||
аудіо.
|
||||
|
||||
Директиви `provider=...` ігноруються, якщо не задано `modelOverrides.allowProvider: true`.
|
||||
Директиви `provider=...` ігноруються, якщо `modelOverrides.allowProvider: true` не встановлено.
|
||||
|
||||
Приклад корисного навантаження відповіді:
|
||||
Приклад payload відповіді:
|
||||
|
||||
```
|
||||
Here you go.
|
||||
@ -439,17 +476,17 @@ Here you go.
|
||||
|
||||
Доступні ключі директив (коли ввімкнено):
|
||||
|
||||
- `provider` (ідентифікатор зареєстрованого постачальника мовлення, наприклад `openai`, `elevenlabs`, `google`, `gradium`, `minimax`, `microsoft`, `vydra` або `xai`; потребує `allowProvider: true`)
|
||||
- `voice` (голос OpenAI або Gradium), `voiceName` / `voice_name` / `google_voice` (голос Google) або `voiceId` (ElevenLabs / Gradium / MiniMax / xAI)
|
||||
- `model` (модель OpenAI TTS, ідентифікатор моделі ElevenLabs або модель MiniMax) або `google_model` (модель Google TTS)
|
||||
- `provider` (ідентифікатор зареєстрованого постачальника мовлення, наприклад `openai`, `elevenlabs`, `google`, `gradium`, `minimax`, `microsoft`, `vydra`, `xai` або `xiaomi`; потребує `allowProvider: true`)
|
||||
- `voice` (голос OpenAI, Gradium або Xiaomi), `voiceName` / `voice_name` / `google_voice` (голос Google) або `voiceId` (ElevenLabs / Gradium / MiniMax / xAI)
|
||||
- `model` (модель OpenAI TTS, ідентифікатор моделі ElevenLabs, модель MiniMax або модель Xiaomi MiMo TTS) або `google_model` (модель Google TTS)
|
||||
- `stability`, `similarityBoost`, `style`, `speed`, `useSpeakerBoost`
|
||||
- `vol` / `volume` (гучність MiniMax, 0-10)
|
||||
- `pitch` (цілий тон MiniMax, від -12 до 12; дробові значення обрізаються перед запитом до MiniMax)
|
||||
- `pitch` (цілочисельний тон MiniMax, від -12 до 12; дробові значення відкидаються перед запитом MiniMax)
|
||||
- `applyTextNormalization` (`auto|on|off`)
|
||||
- `languageCode` (ISO 639-1)
|
||||
- `seed`
|
||||
|
||||
Вимкнення всіх перевизначень моделі:
|
||||
Вимкнути всі перевизначення моделі:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -463,7 +500,7 @@ Here you go.
|
||||
}
|
||||
```
|
||||
|
||||
Необов’язковий список дозволів (увімкнення перемикання постачальника зі збереженням можливості налаштовувати інші параметри):
|
||||
Необов’язковий allowlist (увімкнути перемикання постачальника, зберігши можливість налаштовувати інші параметри):
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -479,79 +516,80 @@ Here you go.
|
||||
}
|
||||
```
|
||||
|
||||
## Налаштування для окремого користувача
|
||||
## Налаштування для окремих користувачів
|
||||
|
||||
Команди зі слешем записують локальні перевизначення до `prefsPath` (за замовчуванням:
|
||||
`~/.openclaw/settings/tts.json`, можна перевизначити через `OPENCLAW_TTS_PREFS` або
|
||||
`messages.tts.prefsPath`).
|
||||
|
||||
Збережені поля:
|
||||
Поля, що зберігаються:
|
||||
|
||||
- `enabled`
|
||||
- `provider`
|
||||
- `maxLength` (поріг зведення; за замовчуванням 1500 символів)
|
||||
- `maxLength` (поріг підсумку; за замовчуванням 1500 символів)
|
||||
- `summarize` (за замовчуванням `true`)
|
||||
|
||||
Вони перевизначають `messages.tts.*` для цього хоста.
|
||||
|
||||
## Формати виводу (фіксовані)
|
||||
## Вихідні формати (фіксовані)
|
||||
|
||||
- **Feishu / Matrix / Telegram / WhatsApp**: відповіді голосовими повідомленнями віддають перевагу Opus (`opus_48000_64` від ElevenLabs, `opus` від OpenAI).
|
||||
- **Feishu / Matrix / Telegram / WhatsApp**: для відповідей voice-note перевага надається Opus (`opus_48000_64` від ElevenLabs, `opus` від OpenAI).
|
||||
- 48 кГц / 64 кбіт/с — хороший компроміс для голосових повідомлень.
|
||||
- **Feishu**: коли відповідь голосовим повідомленням створюється як MP3/WAV/M4A або в іншому
|
||||
імовірному форматі аудіофайлу, плагін Feishu перекодовує її в 48 кГц Ogg/Opus за допомогою
|
||||
- **Feishu**: коли відповідь voice-note створюється як MP3/WAV/M4A або інший
|
||||
імовірний аудіофайл, плагін Feishu перекодовує її в 48 кГц Ogg/Opus за допомогою
|
||||
`ffmpeg` перед надсиланням нативної бульбашки `audio`. Якщо перетворення не вдається, Feishu
|
||||
отримує оригінальний файл як вкладення.
|
||||
- **Інші канали**: MP3 (`mp3_44100_128` від ElevenLabs, `mp3` від OpenAI).
|
||||
- 44,1 кГц / 128 кбіт/с — стандартний баланс для чіткості мовлення.
|
||||
- **MiniMax**: MP3 (модель `speech-2.8-hd`, частота дискретизації 32 кГц) для звичайних аудіовкладень. Для цілей голосових повідомлень, таких як Feishu і Telegram, OpenClaw перекодовує MP3 від MiniMax у 48 кГц Opus за допомогою `ffmpeg` перед доставкою.
|
||||
- **Google Gemini**: Gemini API TTS повертає необроблений 24 кГц PCM. OpenClaw обгортає його у WAV для аудіовкладень і повертає PCM напряму для Talk/телефонії. Нативний формат голосових повідомлень Opus цим шляхом не підтримується.
|
||||
- **Gradium**: WAV для аудіовкладень, Opus для цілей голосових повідомлень і `ulaw_8000` на 8 кГц для телефонії.
|
||||
- **xAI**: MP3 за замовчуванням; `responseFormat` може бути `mp3`, `wav`, `pcm`, `mulaw` або `alaw`. OpenClaw використовує пакетну REST-кінцеву точку xAI TTS і повертає завершене аудіовкладення; потоковий TTS WebSocket xAI цим шляхом постачальника не використовується. Нативний формат голосових повідомлень Opus цим шляхом не підтримується.
|
||||
- 44,1 кГц / 128 кбіт/с — типовий баланс для чіткості мовлення.
|
||||
- **MiniMax**: MP3 (модель `speech-2.8-hd`, частота дискретизації 32 кГц) для звичайних аудіовкладень. Для цілей voice-note, таких як Feishu і Telegram, OpenClaw перекодовує MP3 від MiniMax у 48 кГц Opus за допомогою `ffmpeg` перед доставленням.
|
||||
- **Xiaomi MiMo**: MP3 за замовчуванням або WAV, якщо налаштовано. Для цілей voice-note, таких як Feishu і Telegram, OpenClaw перекодовує вихід Xiaomi у 48 кГц Opus за допомогою `ffmpeg` перед доставленням.
|
||||
- **Google Gemini**: Gemini API TTS повертає необроблений PCM 24 кГц. OpenClaw обгортає його у WAV для аудіовкладень і повертає PCM безпосередньо для Talk/telephony. Нативний формат voice-note Opus цим шляхом не підтримується.
|
||||
- **Gradium**: WAV для аудіовкладень, Opus для цілей voice-note і `ulaw_8000` на 8 кГц для telephony.
|
||||
- **xAI**: MP3 за замовчуванням; `responseFormat` може бути `mp3`, `wav`, `pcm`, `mulaw` або `alaw`. OpenClaw використовує пакетну REST-кінцеву точку TTS від xAI і повертає завершене аудіовкладення; потоковий TTS WebSocket від xAI не використовується цим шляхом постачальника. Нативний формат voice-note Opus цим шляхом не підтримується.
|
||||
- **Microsoft**: використовує `microsoft.outputFormat` (за замовчуванням `audio-24khz-48kbitrate-mono-mp3`).
|
||||
- Вбудований транспорт приймає `outputFormat`, але сервіс підтримує не всі формати.
|
||||
- Значення формату виводу відповідають форматам виводу Microsoft Speech (включно з Ogg/WebM Opus).
|
||||
- Значення вихідного формату відповідають Microsoft Speech output formats (включно з Ogg/WebM Opus).
|
||||
- Telegram `sendVoice` приймає OGG/MP3/M4A; використовуйте OpenAI/ElevenLabs, якщо вам
|
||||
потрібні гарантовані голосові повідомлення Opus.
|
||||
- Якщо налаштований формат виводу Microsoft не спрацьовує, OpenClaw повторює спробу з MP3.
|
||||
- Якщо налаштований вихідний формат Microsoft не спрацьовує, OpenClaw повторює спробу з MP3.
|
||||
|
||||
Формати виводу OpenAI/ElevenLabs фіксовані для кожного каналу (див. вище).
|
||||
Вихідні формати OpenAI/ElevenLabs фіксовані для кожного каналу (див. вище).
|
||||
|
||||
## Поведінка автоматичного TTS
|
||||
|
||||
Коли цю функцію ввімкнено, OpenClaw:
|
||||
Коли функцію ввімкнено, OpenClaw:
|
||||
|
||||
- пропускає TTS, якщо відповідь уже містить медіа або директиву `MEDIA:`.
|
||||
- пропускає дуже короткі відповіді (< 10 символів).
|
||||
- створює зведення для довгих відповідей, якщо це ввімкнено, за допомогою `agents.defaults.model.primary` (або `summaryModel`).
|
||||
- підсумовує довгі відповіді, коли це ввімкнено, за допомогою `agents.defaults.model.primary` (або `summaryModel`).
|
||||
- додає згенероване аудіо до відповіді.
|
||||
|
||||
Якщо відповідь перевищує `maxLength`, а зведення вимкнене (або немає API-ключа для
|
||||
моделі зведення), аудіо
|
||||
пропускається і надсилається звичайна текстова відповідь.
|
||||
Якщо відповідь перевищує `maxLength`, а підсумок вимкнено (або немає API-ключа для
|
||||
моделі підсумку), аудіо
|
||||
пропускається, і надсилається звичайна текстова відповідь.
|
||||
|
||||
## Схема потоку
|
||||
|
||||
```
|
||||
Reply -> TTS enabled?
|
||||
no -> send text
|
||||
yes -> has media / MEDIA: / short?
|
||||
yes -> send text
|
||||
no -> length > limit?
|
||||
no -> TTS -> attach audio
|
||||
yes -> summary enabled?
|
||||
no -> send text
|
||||
yes -> summarize (summaryModel or agents.defaults.model.primary)
|
||||
-> TTS -> attach audio
|
||||
Відповідь -> TTS увімкнено?
|
||||
ні -> надіслати текст
|
||||
так -> є медіа / MEDIA: / коротко?
|
||||
так -> надіслати текст
|
||||
ні -> довжина > ліміт?
|
||||
ні -> TTS -> прикріпити аудіо
|
||||
так -> підсумок увімкнено?
|
||||
ні -> надіслати текст
|
||||
так -> підсумувати (`summaryModel` або `agents.defaults.model.primary`)
|
||||
-> TTS -> прикріпити аудіо
|
||||
```
|
||||
|
||||
## Використання команд зі слешем
|
||||
|
||||
Є одна команда: `/tts`.
|
||||
Докладніше про ввімкнення див. у [Командах зі слешем](/uk/tools/slash-commands).
|
||||
Деталі ввімкнення див. у [Команди зі слешем](/uk/tools/slash-commands).
|
||||
|
||||
Примітка для Discord: `/tts` — це вбудована команда Discord, тому OpenClaw реєструє
|
||||
там `/voice` як нативну команду. Текстовий формат `/tts ...` усе одно працює.
|
||||
Примітка щодо Discord: `/tts` — це вбудована команда Discord, тому OpenClaw реєструє
|
||||
там `/voice` як нативну команду. Текстова команда `/tts ...` усе одно працює.
|
||||
|
||||
```
|
||||
/tts off
|
||||
@ -565,28 +603,28 @@ Reply -> TTS enabled?
|
||||
|
||||
Примітки:
|
||||
|
||||
- Команди вимагають авторизованого відправника (правила allowlist/owner усе ще застосовуються).
|
||||
- Команди потребують авторизованого відправника (правила allowlist/owner також застосовуються).
|
||||
- Має бути ввімкнено `commands.text` або реєстрацію нативних команд.
|
||||
- Конфігурація `messages.tts.auto` приймає `off|always|inbound|tagged`.
|
||||
- `/tts on` записує локальну перевагу TTS як `always`; `/tts off` записує її як `off`.
|
||||
- Використовуйте конфігурацію, якщо вам потрібні типові значення `inbound` або `tagged`.
|
||||
- `limit` і `summary` зберігаються в локальних налаштуваннях, а не в основній конфігурації.
|
||||
- `/tts on` записує локальне налаштування TTS як `always`; `/tts off` записує його як `off`.
|
||||
- Використовуйте конфігурацію, якщо потрібні типові значення `inbound` або `tagged`.
|
||||
- `limit` і `summary` зберігаються в локальних prefs, а не в основній конфігурації.
|
||||
- `/tts audio` генерує одноразову аудіовідповідь (не вмикає TTS).
|
||||
- `/tts status` містить інформацію про резервне перемикання для останньої спроби:
|
||||
- `/tts status` містить видимість резервного перемикання для останньої спроби:
|
||||
- успішне резервне перемикання: `Fallback: <primary> -> <used>` плюс `Attempts: ...`
|
||||
- помилка: `Error: ...` плюс `Attempts: ...`
|
||||
- докладна діагностика: `Attempt details: provider:outcome(reasonCode) latency`
|
||||
- Збої API OpenAI та ElevenLabs тепер включають розібрані деталі помилки постачальника та ідентифікатор запиту (коли його повертає постачальник), що відображається в помилках/журналах TTS.
|
||||
- детальна діагностика: `Attempt details: provider:outcome(reasonCode) latency`
|
||||
- Збої API OpenAI і ElevenLabs тепер включають розібрані деталі помилки постачальника та request id (коли постачальник його повертає), які відображаються в помилках/журналах TTS.
|
||||
|
||||
## Інструмент агента
|
||||
|
||||
Інструмент `tts` перетворює текст на мовлення і повертає аудіовкладення для
|
||||
доставки у відповіді. Коли канал — це Feishu, Matrix, Telegram або WhatsApp,
|
||||
аудіо доставляється як голосове повідомлення, а не як вкладення файлу.
|
||||
Feishu може перекодовувати не-Opus вивід TTS на цьому шляху, якщо доступний
|
||||
Інструмент `tts` перетворює текст на мовлення та повертає аудіовкладення для
|
||||
доставлення у відповіді. Коли каналом є Feishu, Matrix, Telegram або WhatsApp,
|
||||
аудіо доставляється як голосове повідомлення, а не як файлове вкладення.
|
||||
Feishu може перекодовувати не-Opus вихід TTS на цьому шляху, коли доступний
|
||||
`ffmpeg`.
|
||||
Він приймає необов’язкові поля `channel` і `timeoutMs`; `timeoutMs` —
|
||||
це тайм-аут запиту до постачальника для одного виклику в мілісекундах.
|
||||
Він приймає необов’язкові поля `channel` і `timeoutMs`; `timeoutMs` — це
|
||||
тайм-аут запиту до постачальника для окремого виклику в мілісекундах.
|
||||
|
||||
## Gateway RPC
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user