Skip to content

voice-ink: локальная диктовка в чат вместо микрофона codex #14

Description

@xMinor-1

Штатная кнопка микрофона в bb не работает: BB_TRANSCRIPTION=codex/gpt-transcribe, а плагин provider-codex выключен → voiceTranscriptionEnabled: false.

Делаем свой плагин voice-ink — локальное распознавание речи на сервере, по мотивам MyInk (форк VoiceInk).

Устройство

  • server.ts — регистрация AI-сервиса myink (kind voice) + настройки.
  • src/host.ts — обработчик ai.voice.transcribe.
  • Python-воркер с резидентной моделью faster-whisper (модель не выгружается между запросами).
  • Своя кнопка микрофона в композере (composer.customize({ actions })) с потоковой обработкой чанков во время записи — обходит лимит ядра в 10 секунд на запрос.

Модель
Замеры на сервере (15 секунд русской речи, 4 ядра Xeon, прогретая модель): medium int8 + батч — 7.6 с (лучший текст), small — 3.0 с (теряет слова), large-v3-turbo — 10–12 с и деградация от int8-квантизации. Берём medium с батч-режимом; опционально движок Groq по ключу.

Готово, когда

  • Кнопка в композере пишет и вставляет распознанный текст, задержка после «стоп» не больше 3 секунд на типичной фразе.
  • Штатная кнопка bb тоже работает (BB_TRANSCRIPTION=myink/...).
  • Модель качается сама при первом запуске, в git не лежит.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestreviewВ работе: идёт проверка кода

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions