ringringring — плагин

Плагин дает ИИ-агенту звонить вам голосом через бесплатный SIP: на iPhone достаточно приложения Linphone.

  • 52 ★ репозитория
  • Последний коммит
  • AGPL-3.0
Плагин

Расширенный доступ

Почему такой уровень

  • Плагин хранит пароль SIP и ключи распознавания речи в `~/.config/ringringring/voice.env`.
  • Речь с телефона передается внешним сервисам распознавания и синтеза, а тексты разговоров попадают в журнал.
Все причины и проверки

yanyan1115/ringringring

Установка

Работает в

Ручная установка

/plugin marketplace add yanyan1115/ringringring

Затем `/plugin install ringringring@ringringring` и ввод SIP-данных и ключа распознавания.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Плагин хранит пароль SIP и ключи распознавания речи в `~/.config/ringringring/voice.env`.
  • Речь с телефона передается внешним сервисам распознавания и синтеза, а тексты разговоров попадают в журнал.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

ringringring дает агенту инструменты `call_start`, `converse` и `call_end` и скилл `phone-call` с порядком звонка и правилами приватности. Агент набирает ваш аккаунт Linphone, вы отвечаете на экране блокировки, дальше идет разговор в несколько реплик: речь распознается в текст, ответ агента озвучивается. Если вы начали говорить во время ответа, воспроизведение прерывается, и агент узнает, какая часть прозвучала. Одна линия на хост: повторный звонок во время разговора получает занято. Распознавание и синтез настраиваются. В версии 0.2.0 есть входящие звонки, режим тихого прослушивания (по умолчанию выключен) и удаленная версия по HTTPS для приложений Claude, Gemini и ChatGPT.

Для кого. Тем, кто запускает агента на своем сервере и хочет получать от него голосовой звонок, а не сообщение в чате.

Подходит, если

  • Длинная задача закончилась, и агент звонит сообщить результат на iPhone, даже когда экран выключен.
  • Агенту нужно ваше решение, он звонит с вопросом, а вы отвечаете голосом.
  • Вы сами звоните агенту из Linphone благодаря плагину входящих звонков.
  • Распознавание речи нужно заменить на сервис, совместимый с `/audio/transcriptions`.
  • Несколько агентов на одном хосте должны делить одну телефонную линию.

Не подходит, если

  • Агент запущен в облачном контейнере, где закрыт UDP для SIP: звонилка должна работать на VPS или вашем компьютере.
  • Нужны звонки на чужие номера: плагин звонит на ваш аккаунт Linphone.
  • Нет сервера на Linux с x86_64 и Python 3.11.

Пример запроса к агенту

Когда закончишь миграцию базы, позвони мне через ringringring, коротко скажи результат и спроси, запускать ли выкладку.

Ограничения

Звонилка работает на Linux x86_64 с Python 3.11 и должна стоять на VPS или вашем компьютере, облачный контейнер с закрытым UDP для SIP не подойдет. Нужны бесплатный аккаунт Linphone и ключ распознавания речи (рекомендован ElevenLabs, запасной Groq). Пароль SIP лежит в `~/.config/ringringring/voice.env` с правами 600. Журнал хранит только факты соединения и тексты разговора, сетевой адрес телефона по умолчанию скрыт, но это не строгая изоляция от администратора сервера.

Как отключить. Удалите плагин командой `/plugin` в Claude Code. Каталог `~/.local/share/ringringring` и файл `~/.config/ringringring/voice.env` с паролем SIP и ключами удалите вручную.

Частые вопросы

Как поставить плагин?

В Claude Code выполните `/plugin marketplace add yanyan1115/ringringring` и `/plugin install ringringring@ringringring`. Вручную: клонируйте репозиторий и запустите `plugin-native/bin/install.sh`.

Нужен ли платный номер или приложение?

Нет. Достаточно бесплатных приложения Linphone и аккаунта на subscribe.linphone.org. Распознавание речи работает на бесплатных квотах ElevenLabs или Groq.

Работает ли это в OpenCode?

Да, как любой MCP-клиент: настройте `plugin-native/bin/run-voice-native.sh` как stdio MCP-сервер. При разных хостах скрипт можно запустить по SSH на хосте телефонии.

Нужно ли открывать порты?

Нет. Сервер сначала отправляет звук наружу и проходит NAT через STUN, по умолчанию `stun.linphone.org:3478`.

Можно ли звонить агенту самому?

Да, через плагин входящих звонков, добавленный в 0.2.0. Для него нужен второй аккаунт Linphone, выделенный агенту.

Обсуждение

Вопросов и отзывов пока нет.

Плагины

Голосовая надстройка поверх Claude Code, Codex и OpenCode: агент говорит и слушает, пока фоновые задачи выполняются параллельно

CLIРасширенный доступ3,2 тыс.Звезды репозитория

Локальные ИИ-команды для голоса и текста: диктовка в буфер, правка, озвучка, ассистент и параллельные агенты в worktree

CLIРасширенный доступ239Звезды репозитория

Звуковые и экранные уведомления для агентов: голосовые реплики из игр, когда агент закончил задачу или ждет разрешения

CLIРасширенный доступ5,1 тыс.Звезды репозитория

Скилл, который дает агенту войти в видеовстречу в Google Meet, Teams или Zoom с голосом, аватаром, демонстрацией экрана и живой расшифровкой

СкиллШирокий доступ194Звезды репозитория

echook подает звук, тост или сообщение, когда Claude Code, Cursor или Codex закончили работу или ждут вашего разрешения

ПлагинРасширенный доступ90Звезды репозитория

Голосовое управление сессиями Claude Code и Codex на ваших машинах: агент на каждой машине связывает ее с облаком pitupitu.

CLIШирокий доступ224Звезды репозитория

Коротко о README

Проект звонит владельцу через SIP-аккаунт Linphone и ведет голосовой диалог через распознавание и синтез речи. Плагин ставится в Claude Code, для других клиентов есть скрипт MCP.

Бейдж для README

Сообщить о проблеме