Ваша диктовка не должна просто исчезать
Диктуете длинную мысль, вставка срывается, текст исчезает. Почему приложения теряют слова и какую локальную историю только из текста хранит Keebye.
Полторы минуты ровно того, что вы имели в виду, — полное описание PR, выверенный ответ клиенту, — а потом в момент вставки что-то мелкое идёт не так. Целевое окно не было в фокусе. Вставка не прошла. Приложение икнуло. И текста просто нет. Не сохранён где-то. Не лежит в буфере. Нет. Любой конвейер диктовки, для которого вставка — единственная копия расшифровки, имеет этот режим отказа.
Дальше следует особая, несоразмерная злость, и я считаю её оправданной. Дело не в потерянных секундах. Дело в том, что работу вы сделали: сформулировали мысль, произнесли её хорошо, машина даже расшифровала её правильно — а инструмент уничтожил результат из-за проблемы с доставкой. Второй дубль никогда не бывает так же хорош, как первый. Кто хоть раз передиктовывал абзац по памяти, знает: вы его не воспроизводите, вы производите его блёклого родственника.
Я и сам терял диктовки таким образом, в других инструментах, ещё до появления Keebye. Это одна из тех маленьких аварий, вокруг которых построено приложение.
Почему продиктованный текст просто исчезает
Это не баг одного вендора. Это проектное решение уровня категории, и стоит понять, почему категория его приняла.
Приложение диктовки — это труба, а не редактор. С одного конца входит речь, с другого выходит текст — в чужое окно: в терминал, в поле Slack, в Google Docs. Собственного документа нет, и именно поэтому такие инструменты незаметны и быстры. Но это значит, что расшифровка часто существует ровно один миг — момент вставки. А вставка — самый хрупкий шаг во всём конвейере. Она зависит от того, какое окно в фокусе в ту самую миллисекунду доставки, от того, что за буфер обмена не борется другое приложение, от настроения разрешений Универсального доступа, от того, принимает ли целевое приложение синтетический ввод вообще. Когда что-то из этого срывается, за чистой трубой ничего нет. Вода на полу.
Есть и принципиальная причина, по которой инструменты стеснялись хранить копии: журнал всего, что вы продиктовали, — чувствительная вещь. Ваши диктовки — это ваши сообщения, ваши промпты, ваши наполовину принятые решения. Вендор, который их хранит — особенно где-то рядом с облаком, — создал себе обязательство, а простой способ избежать обязательства — не хранить ничего. Пользователи наследуют эту осторожность в виде эфемерности: самая безопасная диктовка, с точки зрения вендора, та, которой никогда не было.
Логику я понимаю. Просто, по-моему, она оптимизирует не ту сторону. Режим отказа при хранении локальной истории — это файл на вашем собственном диске. Режим отказа при отсутствии хранения — испарившаяся работа из-за того, что окно потеряло фокус.
Что Keebye хранит и где
Итак, Keebye ведёт историю, включённую по умолчанию, и вот что именно это значит — ни больше ни меньше.
С включённой историей каждая завершённая диктовка записывается в локальную базу SQLite на вашем Mac (rusqlite, режим WAL — для тех, кому интересна сантехника). Файл лежит в каталоге поддержки приложения — com.keebye.app/keebye.db — и никогда не покидает машину. Нет ни синхронизации, ни выгрузки, ни аккаунта, к которому он привязан. Это файл на вашем диске, принадлежащий вам.
Восстановление спроектировано вокруг двух реальных способов потерять текст. У частого случая — вставка только что сорвалась, секунду назад — самый быстрый путь: в меню в строке состояния есть пункт Copy Last Dictation. Кликнули — и последняя диктовка в буфере обмена; вставьте её туда, куда она должна была попасть, и двигайтесь дальше. Более редкий случай — «я что-то продиктовал во вторник, и мне это нужно обратно» — идёт через Dictation History…, окно с полным списком: с поиском, с удалением отдельных записей и с очисткой всего, когда вы хотите чистого листа.
Срок хранения — 30 дней, соблюдается автоматически. Очистка запускается при открытии базы и снова после каждой вставки, так что окно действительно составляет 30 дней, а не «примерно 30 дней, когда у нас дойдут руки». А если вам нужно прежнее эфемерное поведение — некоторым оно нужно, и я скажу кому, — история является настройкой (history_enabled), и её отключение означает, что не записывается вообще ничего.
Только текст. Никогда — звук.
Больше всего меня заботит то, чем история не является. Она содержит только текст. В схеме истории Keebye нет колонки для звука — не «настройка хранения аудио, выключенная по умолчанию», а именно нет колонки. Сами записи не сохраняются никогда. Это структурное решение: расшифровка «ответь Андрею, что миграция сдвигается на неделю» уже достаточно чувствительна; звук вашего голоса, произносящего это, с отметкой времени — артефакт другого порядка, и я не хотел, чтобы приложение вообще было способно его накапливать.
Ещё один нюанс, который важнее своего объёма: если вы диктуете в защищённое поле — ввод в стиле пароля, — история этого не запишет. Единственное место, где неверен даже текстовый след, — единственное место, где мы его не оставляем.
Это та же позиция, что и во всём остальном приложении: распознавание речи работает на устройстве, о чём мы писали в контексте диктовки на собственном языке. Но именно на истории эта позиция проходит проверку, потому что история — единственное место, где Keebye вообще сохраняет ваши слова. Локально, только текст, с самоудалением — эта форма показалась той, что заслуживает включения по умолчанию.
Честные ограничения
Раздел честности, как всегда.
Переслушать нельзя. У «только текста» две стороны. Если расшифровка была неверной — модель недослышала имя, покорёжила число, — история добросовестно сохранит неверный текст, а звук, который разрешил бы спор, отсутствует по замыслу. Для большинства случаев восстановления это неважно: сбой был во вставке, а не в расшифровке. Но если вам нужна была история диктовок как архив голосовых заметок — это не она, и намеренно.
Тридцать дней — это тридцать дней. История — страховочная сетка, а не архив. Если диктовка важна дольше месяца, её дом — тот документ, куда вы её надиктовали, а не база приложения. Очистка не спрашивает.
Только локально значит только локально. Ваша история не следует за вами между машинами. Диктовку, сделанную на десктопе, с ноутбука не восстановить. Я подаю это как функцию приватности, и это так и есть — ничего не синхронизируется, потому что ничего не передаётся, — но не стану делать вид, что это не ограничение. Это и то и другое. Стоит понять, чем именно это является для вас, прежде чем на это полагаться.
И граничный случай: если вы тот человек, чья модель угроз говорит никакого следа вообще, отключите историю. Это одна настройка, и приложение уважает её полностью. Включение по умолчанию — правильное решение для большинства пользователей, которые предпочтут вернуть абзац прошлого вторника; оно не должно быть ловушкой для остальных.
У работы не должно быть единственной точки отказа
Более глубокая причина существования этой функции: я веду свой день параллельными дорожками — в одних окнах строят агенты, в других ждут люди, — а голос кормит их все. Этот рабочий процесс — вся посылка статьи управление Claude Code голосом. Канал, который время от времени уничтожает собственную полезную нагрузку, — не тот канал, на котором строят рабочий день. Разработчики привыкли к путям восстановления: отмена, логи, reflog, корзина, — а многие сценарии диктовки не предлагают ничего похожего, когда вставка срывается.
Если вы взвешиваете инструменты в этой категории, наши сравнения честны и насчёт того, в чём хороши другие: Keebye vs Superwhisper и Keebye vs Wispr Flow. А у исчезающего текста есть родственная жалоба — первое слово диктовки, съеденное до того, как проснулся микрофон, — о ней мы написали в статье почему приложения диктовки съедают ваше первое слово.
Keebye находится в раннем доступе для macOS. Начните бесплатный пробный период ниже, продиктуйте абзац, намеренно промахнитесь мимо целевого окна, а затем восстановите текст через Copy Last Dictation. Неверный фокус по-прежнему стоит одного шага восстановления; он больше не обязан стоить самой мысли.
Сделайте следующую длинную диктовку восстановимой
Начните бесплатный пробный период и проверьте Copy Last Dictation, прежде чем доверять голосу длинное описание PR.
Start free trialEarly access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.
Читать дальше
Почему приложения диктовки съедают ваше первое слово
Жмёте горячую клавишу, говорите, первое слово обрезано. Почему холодный старт режет слова и как помогают прогретый микрофон и предзапись в 500 мс.
Диктовать промпты параллельным агентам: дорожка за дорожкой
Два-три кодовых агента сразу — и узким местом становится сам промпт. Голосовой процесс: кормить параллельные дорожки, не покидая текущую.
Claude Code голосом: работа в параллельных дорожках
ИИ-агенты сделали набор текста узким местом. Практический процесс диктовки промптов, ревью и корректировок в параллельных дорожках агентов на macOS.