ringringring — плагин
Плагин дает ИИ-агенту звонить вам голосом через бесплатный SIP: на iPhone достаточно приложения Linphone.
- 52 ★ репозитория
- Последний коммит
- AGPL-3.0
Расширенный доступ
Почему такой уровень
- Плагин хранит пароль SIP и ключи распознавания речи в `~/.config/ringringring/voice.env`.
- Речь с телефона передается внешним сервисам распознавания и синтеза, а тексты разговоров попадают в журнал.
Установка
- Работает в
Ручная установка
/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: агент говорит и слушает, пока фоновые задачи выполняются параллельно
Локальные ИИ-команды для голоса и текста: диктовка в буфер, правка, озвучка, ассистент и параллельные агенты в worktree
Звуковые и экранные уведомления для агентов: голосовые реплики из игр, когда агент закончил задачу или ждет разрешения
Скилл, который дает агенту войти в видеовстречу в Google Meet, Teams или Zoom с голосом, аватаром, демонстрацией экрана и живой расшифровкой
echook подает звук, тост или сообщение, когда Claude Code, Cursor или Codex закончили работу или ждут вашего разрешения
Голосовое управление сессиями Claude Code и Codex на ваших машинах: агент на каждой машине связывает ее с облаком pitupitu.
Коротко о README
Проект звонит владельцу через SIP-аккаунт Linphone и ведет голосовой диалог через распознавание и синтез речи. Плагин ставится в Claude Code, для других клиентов есть скрипт MCP.