Консольный суфлёр для Linux. Захватывает системный звук (браузер, видеозвонок, запись лекции), локально распознаёт речь и выводит в терминал краткие ответы на прозвучавшие вопросы. Ответы генерирует Claude через Claude Code CLI, поэтому достаточно подписки Claude Pro или Max, API-ключ не нужен.
parecзаписывает монитор устройства вывода по умолчанию (PulseAudio или PipeWire).- Поток нарезается на фразы по паузам и распознаётся локально моделью
faster-whisper
large-v3-turbo. На видеокарте NVIDIA распознавание фразы занимает около 0,2 с, без GPU используется CPU. - Когда в реплике есть вопросительный знак (или по нажатию Enter), последние реплики передаются
в
claude -p. Ответ выводится в терминал по мере генерации.
Claude получает последние реплики разделёнными на уже обработанный контекст и новые фразы. Он отвечает только на новый содержательный вопрос, а риторические вопросы вроде «да?» или «понятно?» пропускает.
- Linux с PulseAudio или PipeWire (утилиты
pactlиparec) - Python 3.10 или новее
- Claude Code с выполненным входом в аккаунт с подпиской
- Видеокарта NVIDIA (необязательно). Устанавливать CUDA Toolkit не требуется: библиотеки CUDA 12 ставятся pip-пакетами в виртуальное окружение.
git clone https://github.com/senshu-dev/sufler.git
cd sufler
python3 -m venv .venv
.venv/bin/pip install -r requirements.txtПри первом запуске модель (около 1,6 ГБ) скачивается с Hugging Face автоматически.
Её можно загрузить заранее в каталог models/large-v3-turbo, скрипт использует его при наличии:
mkdir -p models/large-v3-turbo
cd models/large-v3-turbo
for f in config.json preprocessor_config.json tokenizer.json vocabulary.json model.bin; do
curl -fL -C - -O "https://huggingface.co/mobiuslabsgmbh/faster-whisper-large-v3-turbo/resolve/main/$f"
done.venv/bin/python sufler.pyЗагрузка модели и инициализация GPU занимают около 15 секунд. Распознанные реплики выводятся приглушённым цветом, ответы Claude выделены зелёным. Enter отправляет запрос вручную, Ctrl+C завершает работу.
| Параметр | По умолчанию | Описание |
|---|---|---|
--lang |
ru |
Язык речи. auto включает автоопределение, которое ошибается на коротких фразах |
--claude |
sonnet |
Модель Claude: haiku, sonnet или opus |
--model |
large-v3-turbo |
Модель Whisper: имя (small, medium и др.) или путь к каталогу |
--source |
монитор вывода по умолчанию | Источник звука, список: pactl list short sources |
--silence |
0.01 |
Порог тишины (RMS). Уменьшите, если теряются тихие слова |
--no-auto |
выключен | Отправлять запросы только по Enter |
Если Claude Code работает через прокси, задайте его через переменные окружения:
HTTPS_PROXY=socks5://host:port .venv/bin/python sufler.py- Каждый запрос расходует лимит сообщений подписки. При частых вопросах используйте
--no-autoили--claude haiku. - Фразы определяются по громкости, поэтому на фоне музыки и шума нарезка работает хуже.
- До начала ответа проходит около 5 секунд: на каждый запрос запускается отдельный процесс
claude -p. - Поддерживается только Linux.
Распространяется по лицензии MIT.