Настройка
Распознавание речи и расходы
Выберите whisper на устройстве (бесплатно), собственный ключ OpenAI или любой OpenAI-совместимый эндпоинт, например свой сервер с GPU. Аудио идёт напрямую с вашего компьютера в выбранный сервис.
#Кто платит и куда идёт трафик
Модель расходов и сетевого трафика
- Разработчик (Japan Marketing LLC) не оплачивает, не проксирует и не выставляет счета за распознавание речи или использование ИИ.
- Запросы идут напрямую с вашего компьютера в OpenAI или на ваш эндпоинт и никогда не проходят через сервер разработчика.
- Использование OpenAI оплачивается с вашего собственного аккаунта OpenAI.
- Обработать использует CLI Claude Code / Codex, в который вы уже вошли, если только вы явно не выбрали исполнителя через API (
organizer.runner: "api:<provider>", см. Настройка через settings.json). Сам по себе он никогда не переключается на API-ключ.
#Способы
Выбор делается в Настройки → Распознавание → Движок. Всплывающее окно Микрофон и распознавание в нижней панели показывает текущий выбор.
| Движок | Куда идёт аудио | Стоимость |
|---|---|---|
| На устройстве (бесплатно) (по умолчанию) | Никуда | Бесплатно |
| OpenAI (ваш ключ) | OpenAI | Ваш счёт OpenAI: gpt-transcribe по $0.0045/мин (около $0.27/час) |
| OpenAI-совместимый (свой GPU, Groq и т. п.) | Ваш Base URL эндпоинта | Зависит от эндпоинта |
Настройки → Распознавание → Язык: Авто, Японский или Английский. Это язык речи, он не зависит от языка интерфейса.
#whisper на устройстве (бесплатно)
Распознавание на устройстве использует whisper.cpp (откроется в новой вкладке): исполняемый файл whisper-cli и модель GGML.
1. Установите whisper-cli. Ferret ищет встроенную копию (resources/whisper/<platform>-<arch>/), затем PATH, затем стандартные места, например Homebrew.
# macOS
brew install whisper-cpp
# Linux: build from source, then add build/bin to PATH
git clone https://github.com/ggml-org/whisper.cpp && cd whisper.cpp
cmake -B build && cmake --build build -j --config Release
# Windows: download the zip from github.com/ggml-org/whisper.cpp/releases
# and add the folder containing whisper-cli.exe to PATH
2. Получите модель. Выбрав На устройстве (бесплатно), укажите Модель и нажмите Скачать модель. Файлы скачиваются напрямую с Hugging Face (ggerganov/whisper.cpp), сверяются с sha256, зафиксированным в приложении (при несовпадении файл удаляется), и сохраняются в <userData>/models/. Скачанная модель выбирается автоматически. Отменить сохраняет частично скачанный файл, а Продолжить загрузку продолжает с того же места.
| Модель | Размер | Примечания |
|---|---|---|
large-v3-turbo | 1.6 GB | Рекомендуется по умолчанию. Быстро работает на Metal / GPU |
large-v3-turbo-q5_0 | 574 MB | Квантованная. Экономит место на диске и память |
small | 488 MB | Для компьютеров только с CPU |
base | 148 MB | Лёгкая. Много ошибок в японском |
tiny | 78 MB | Самая быстрая. Недостаточно точна для японского |
Модель уже есть? Укажите любой ggml-*.bin через Выбрать файл…. Без модели в настройках будет указано, что модель не задана. Записывать всё равно можно: аудио сохраняется, а замечания создаются только по пометкам пером.
whisper-cli не входит в состав приложения. Установите его сами, как показано выше. Если он не найден, в настройках появится сообщение whisper.cpp (whisper-cli) не найден. Установите его и откройте настройки заново.
с теми же инструкциями.
#Собственный ключ OpenAI
- Выберите в поле Движок значение OpenAI (ваш ключ).
- Вставьте ключ, начинающийся с
sk-, в поле API-ключ OpenAI и нажмите Сохранить. - Нажмите Проверить подключение. Будет отправлена 1 секунда тишины (около $0.0001).
Модель зафиксирована: gpt-transcribe. Только при разработке (pnpm dev) также читается OPENAI_API_KEY из игнорируемого файла .env. Собранные версии никогда не читают .env.
#OpenAI-совместимые эндпоинты
Ferret отправляет POST <base>/v1/audio/transcriptions (multipart: file, model, response_format=json, language, prompt), поэтому он рассчитан на серверы, реализующие маршрут распознавания OpenAI.
- Выберите в поле Движок значение OpenAI-совместимый (свой GPU, Groq и т. п.).
- Заполните Base URL эндпоинта и Модель (имя модели на эндпоинте).
- Если серверу нужен ключ, введите API-ключ эндпоинта (необязательно) и нажмите Сохранить.
- Нажмите Проверить подключение. Сообщения об ошибках называют причину, например неверный Base URL (нет
/v1/audio/transcriptions), отклонённый ключ или неизвестное имя модели.
| Сервер | Base URL | Модель (пример) |
|---|---|---|
| speaches (откроется в новой вкладке) (ранее faster-whisper-server) | http://localhost:8000/v1 | Systran/faster-whisper-small |
vLLM (откроется в новой вкладке) (vllm serve openai/whisper-large-v3) | http://localhost:8000/v1 | openai/whisper-large-v3 |
| Groq (откроется в новой вкладке) | https://api.groq.com/openai/v1 | whisper-large-v3-turbo |
Ferret рассчитан на OpenAI-совместимые серверы вроде этих, но с Ferret они ещё не тестировались. URL и имена моделей — это значения по умолчанию из документации самих серверов.
- Завершающий
/v1или вставленный целиком/v1/audio/transcriptionsпри сохранении отбрасывается, поэтому подходит любой вариант. - URL с именем пользователя или паролем отклоняются, чтобы ключи никогда не попали в
settings.json. - Для сервера с GPU в вашей локальной сети или tailnet укажите его адрес, например
http://100.x.y.z:8000/v1.
#Лимит расходов
Для OpenAI и совместимых эндпоинтов задайте Лимит расходов: Нет или от До $0.10 на ревью до $0.50, $1 (по умолчанию), $5 и $20. Для собственного GPU разумно выбрать Нет. Параметр хранится как capture.costLimitUsd (максимум 1000, null означает без лимита). Для совместимых эндпоинтов стоимость оценивается в $0.006/мин.
Если следующий фрагмент превысит лимит, Ferret прекращает отправку и сохраняет аудио. Неудачные вызовы API автоматически не повторяются.
#Где хранятся ключи
Ключи, введённые в Настройки, шифруются через Electron safeStorage и записываются в <userData>/stt-keys.bin. Приложение никогда не записывает их в settings.json. Чтобы вместо этого сослаться на ключ из settings.json (переменная окружения или запись в .env), см. API-ключи.
- macOS: Связка ключей (Keychain)
- Windows: DPAPI
- Linux: libsecret или KWallet. Если доступен только бэкенд
basic_text, ключ хранится в памяти только на текущий сеанс (кнопка называется На этот сеанс).
Удалить ключ удаляет его. Пути <userData> см. в разделе Файлы и окружение.
Помочь с переводом этой страницы на GitHub (откроется в новой вкладке)