Перейти к основному содержанию

openclaw voicecall

voicecall — это команда, предоставляемая Plugin. Она появляется только тогда, когда Plugin голосовых вызовов установлен и включен. Когда Gateway запущен, операционные команды (call, start, continue, speak, dtmf, end, status) маршрутизируются в среду выполнения голосовых вызовов этого Gateway. Если Gateway недоступен, они переключаются на автономную среду выполнения CLI.

Подкоманды

openclaw voicecall setup    [--json]
openclaw voicecall smoke    [-t <phone>] [--message <text>] [--mode <m>] [--yes] [--json]
openclaw voicecall call     -m <text> [-t <phone>] [--mode <m>]
openclaw voicecall start    --to <phone> [--message <text>] [--mode <m>]
openclaw voicecall continue --call-id <id> --message <text>
openclaw voicecall speak    --call-id <id> --message <text>
openclaw voicecall dtmf     --call-id <id> --digits <digits>
openclaw voicecall end      --call-id <id>
openclaw voicecall status   [--call-id <id>] [--json]
openclaw voicecall tail     [--file <path>] [--since <n>] [--poll <ms>]
openclaw voicecall latency  [--file <path>] [--last <n>]
openclaw voicecall expose   [--mode <m>] [--path <p>] [--port <port>] [--serve-path <p>]
ПодкомандаОписание
setupПоказать проверки готовности провайдера и Webhook.
smokeЗапустить проверки готовности; выполнить тестовый вызов в реальном времени только с --yes.
callИнициировать исходящий голосовой вызов.
startПсевдоним для call, где требуется --to, а --message необязателен.
continueПроизнести сообщение и дождаться следующего ответа.
speakПроизнести сообщение без ожидания ответа.
dtmfОтправить DTMF-цифры в активный вызов.
endЗавершить активный вызов.
statusПроверить активные вызовы (или один по --call-id).
tailСледить за calls.jsonl (полезно во время тестов провайдера).
latencyСводка метрик задержки хода из calls.jsonl.
exposeПереключить Tailscale serve/funnel для конечной точки Webhook.

Настройка и smoke-тест

setup

По умолчанию выводит удобочитаемые проверки готовности. Передайте --json для скриптов.
openclaw voicecall setup
openclaw voicecall setup --json

smoke

Запускает те же проверки готовности. Реальный телефонный вызов не будет выполнен, если одновременно не указаны --to и --yes.
ФлагЗначение по умолчаниюОписание
-t, --to <phone>(нет)Номер телефона для live smoke.
--message <text>OpenClaw voice call smoke test.Сообщение, которое произносится во время smoke-вызова.
--mode <mode>notifyРежим вызова: notify или conversation.
--yesfalseФактически выполнить исходящий вызов в реальном времени.
--jsonfalseВывести машиночитаемый JSON.
openclaw voicecall smoke
openclaw voicecall smoke --to "+15555550123"        # dry run
openclaw voicecall smoke --to "+15555550123" --yes  # live notify call
Для внешних провайдеров (twilio, telnyx, plivo) setup и smoke требуют публичный URL Webhook из publicUrl, туннеля или экспозиции Tailscale. Резервный вариант loopback или private serve отклоняется, потому что операторы связи не могут до него достучаться.

Жизненный цикл вызова

call

Инициировать исходящий голосовой вызов.
ФлагОбязательноЗначение по умолчаниюОписание
-m, --message <text>да(нет)Сообщение, которое произносится при соединении вызова.
-t, --to <phone>нетconfig toNumberНомер телефона E.164 для вызова.
--mode <mode>нетconversationРежим вызова: notify (завершить после сообщения) или conversation (оставить открытым).
openclaw voicecall call --to "+15555550123" --message "Hello"
openclaw voicecall call -m "Heads up" --mode notify

start

Псевдоним для call с другой формой флагов по умолчанию.
ФлагОбязательноЗначение по умолчаниюОписание
--to <phone>да(нет)Номер телефона для вызова.
--message <text>нет(нет)Сообщение, которое произносится при соединении вызова.
--mode <mode>нетconversationРежим вызова: notify или conversation.

continue

Произнести сообщение и дождаться ответа.
ФлагОбязательноОписание
--call-id <id>даИдентификатор вызова.
--message <text>даСообщение для произнесения.

speak

Произнести сообщение без ожидания ответа.
ФлагОбязательноОписание
--call-id <id>даИдентификатор вызова.
--message <text>даСообщение для произнесения.

dtmf

Отправить DTMF-цифры в активный вызов.
ФлагОбязательноОписание
--call-id <id>даИдентификатор вызова.
--digits <digits>даDTMF-цифры (например, ww123456# для пауз).

end

Завершить активный вызов.
ФлагОбязательноОписание
--call-id <id>даИдентификатор вызова.

status

Проверить активные вызовы.
ФлагЗначение по умолчаниюОписание
--call-id <id>(нет)Ограничить вывод одним вызовом.
--jsonfalseВывести машиночитаемый JSON.
openclaw voicecall status
openclaw voicecall status --json
openclaw voicecall status --call-id <id>

Журналы и метрики

tail

Следить за журналом JSONL голосовых вызовов. При запуске выводит последние --since строк, затем передает новые строки по мере их записи.
ФлагЗначение по умолчаниюОписание
--file <path>определяется из хранилища PluginПуть к calls.jsonl.
--since <n>25Строки для вывода перед слежением.
--poll <ms>250 (минимум 50)Интервал опроса в миллисекундах.

latency

Сводка метрик задержки хода и ожидания прослушивания из calls.jsonl. Выводится JSON со сводками recordsScanned, turnLatency и listenWait.
ФлагЗначение по умолчаниюОписание
--file <path>определяется из хранилища PluginПуть к calls.jsonl.
--last <n>200 (минимум 1)Количество последних записей для анализа.

Открытие Webhook

expose

Включить, отключить или изменить конфигурацию Tailscale serve/funnel для голосового Webhook.
ФлагЗначение по умолчаниюОписание
--mode <mode>funneloff, serve (tailnet) или funnel (public).
--path <path>config tailscale.path или --serve-pathПуть Tailscale для открытия.
--port <port>config serve.port или 3334Локальный порт Webhook.
--serve-path <path>config serve.path или /voice/webhookЛокальный путь Webhook.
openclaw voicecall expose --mode serve
openclaw voicecall expose --mode funnel
openclaw voicecall expose --mode off
Открывайте конечную точку Webhook только сетям, которым вы доверяете. По возможности предпочитайте Tailscale Serve вместо Funnel.

Связанные материалы