Об этом проекте
Bolo — это приложение для диктовки с нажатием на клавишу для macOS, которое транскрибирует речь и вставляет полученный текст в любое активное текстовое поле, включая Slack, Notion, Gmail, VS Code, терминалы и браузеры. Название происходит от хинди, где «bolo» означает «говори». Оно предназначено для macOS 12+ и Rust 1.88+ и распространяется под лицензией MIT, с веб-сайтом проекта, указанным в README.
Настройка и разрешения: install.sh создает частную среду Python-помощника в ~/.bolo/venv, собирает бинарный файл Rust, ищет существующий API-ключ Telnyx в ~/.codex/.env или в среде (запрашивая и сохраняя в ~/.bolo/env, если его нет), регистрирует Bolo как элемент входа в систему и запускает его. При первом запуске диалог настройки спрашивает, какую клавишу удерживать для диктовки, предлагая такие варианты, как Right Option, Right Control, F19 и Caps Lock; выбор сохраняется в ~/.bolo/env. Затем Bolo требует разрешений macOS на использование микрофона и доступности, последнее предоставляется управляемому интерпретатору Python в ~/.bolo/venv/bin/python3, который выполняет вставку. В README также приводится запрос, который можно передать агенту по кодированию для прохождения установки и предоставления разрешений.
Поток диктовки: удерживайте настроенную горячую клавишу, говорите, и отпустите. Текст вставляется в курсор с помощью буфера обмена, и предыдущее содержимое буфера обмена восстанавливается по умолчанию. Иконка в строке меню предоставляет доступ к недавним транскрипциям для ручного копирования, а также к таким командам, как Очистить историю транскрипций, Запустить проверку работоспособности, Переписать выбранный текст, Добавить термин в словарь, Добавить псевдоним в словарь, Добавить правило исправления и Проверить наличие обновлений.
Конфигурация: настройки считываются из среды или ~/.bolo/env. Опции включают TELNYX_API_KEY; BOLO_HOTKEY для клавиши push-to-talk (right_option, right_control, right_shift, fn, f1–f19, caps_lock); BOLO_PASTE_LAST_HOTKEY для повторной вставки последней транскрипции; BOLO_MICROPHONE; BOLO_MAX_RECORDING_SECONDS, с таймером ожидания по умолчанию 30 секунд, который автоматически отпускает длинные записи; BOLO_STT_MODEL и BOLO_STT_FALLBACK_MODEL; BOLO_STT_LANGUAGE для подсказок по языку или акценту, с откатным вариантом на английский (США), если подсказка не из США оказывается медленной; BOLO_STT_FALLBACKS для цепочки провайдеров, разделенной запятыми, которая может включать telnyx:model, xai и assemblyai; BOLO_STT_STREAMING, который управляет потоковой передачей Deepgram Nova-3 по сравнению с пакетной транскрипцией; BOLO_PRESERVE_CLIPBOARD; BOLO_LLM_CLEANUP; BOLO_AUTO_UPDATE; и BOLO_LOG_TRANSCRIPTS, выключенный по умолчанию, чтобы продиктованный текст был удален из /tmp/bolo.log.
Очистка, словарь и исправления: очистка LLM по умолчанию стоит на auto, пропуская короткие чистые диктовки и включаясь для более длинных или грязных; в README отмечается, что используется Telnyx Qwen/Qwen3-235B-A22B с отключенным мышлением, или Kimi-K2.5, когда настроен LiteLLM, и что MiniMax намеренно не используется для очистки. Очистка может считывать активное приложение и текст рядом с курсором через доступность для определения расстояния между словами и капитализации. Голосовые команды включают «scratch that», «actually ...», «polish that» и «prompt that», защищенные так, чтобы они действовали только тогда, когда предыдущая диктовка все еще находится непосредственно перед курсором и совпадает точно. Личный словарь находится в ~/.bolo_vocabulary.json и поддерживает объекты-псевдонимы для часто неправильно слышимых слов; детерминированные правила замены находятся в ~/.bolo/replacements.json; стили очистки для каждого приложения хранятся в ~/.bolo/prompt_bindings.json с профилями default, email, chat и notes.
Конфиденциальность и история: аудио отправляется в API Telnyx для транскрипции и обрабатывается только в памяти, согласно README, и транскрипции не используются для обучения. Десять последних транскрипций хранятся локально в ~/.bolo/transcripts.json, сохраняя сырые и очищенные варианты, когда очистка изменяет текст, и их можно удалить из меню.
Ограничения и обслуживание: Bolo требует подключения к интернету, короткая диктовка работает хорошо сегодня, в то время как длинная диктовка и задержка все еще улучшаются, и очистка намеренно консервативна, чтобы сохранить буквальный смысл. Обновления проверяются при запуске или по запросу и пропускаются, если локальные файлы имеют некоммиченные изменения, GitHub недоступен, Rust отсутствует или checkout не может быть чисто переведен вперед. Включен небольшой тестовый стенд на основе фраз (eval_dictation.py с командами prompts, init и score), и устранение неполадок сосредоточено на /tmp/bolo.log, наличии API-ключа, разрешениях для управляемого интерпретатора и restart.sh.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.