Диктовката ви никога не бива просто да изчезва
Диктувате дълга мисъл, вмъкването се проваля и текстът изчезва. Защо приложенията губят думите ви и каква локална, само текстова история пази 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 с глас. Канал, който от време на време унищожава собствения си товар, не е канал, върху който се строи работен ден. Разработчиците очакват пътища за възстановяване — undo, логове, reflog, кошче — а много потоци за диктовка не предлагат нищо равностойно, когато вмъкването се провали.
Ако мерите инструменти в тази категория, сравненията ни са честни и за това къде другите блестят: Keebye срещу Superwhisper и Keebye срещу 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 ms преднина.
Диктуване на промпти към паралелни агенти, линия по линия
Два-три агента за код наведнъж и промптът се превръща в тясното място. Гласов процес за захранване на паралелни линии, без да напускате текущата.
Управление на Claude Code с глас: строене по паралелни линии
AI агентите за код направиха писането тясното място. Практичен процес за диктуване на промпти, ревюта и пренасочвания в паралелни агентски линии на macOS.