Tavo diktavimas neturėtų tiesiog dingti

Padiktuoji ilgą mintį, įterpimas žlunga, teksto nebėra. Kodėl diktavimo programos pameta žodžius ir kokią vietinę, tik tekstinę istoriją laiko Keebye.

Teodor Deleanu2026 m. liepos 10 d.Skaitymo laikas: 6 min.

Devyniasdešimt sekundžių būtent taip, kaip norėjai pasakyti — visas PR aprašymas, kruopštus atsakymas klientui — ir tada įterpimo momentu kažkas smulkaus nueina ne taip. Tikslinis langas neturėjo fokuso. Įklijavimas nesuveikė. Programa žagtelėjo. Ir teksto tiesiog nebėra. Ne kur nors išsaugotas. Ne buferyje. Nebėra. Bet kuris diktavimo kelias, kuriam įterpimas yra vienintelė transkripcijos kopija, turi šį gedimo būdą.

Toliau seka labai konkretus, neproporcingas pyktis, ir manau, kad jis pagrįstas. Prarastos sekundės nėra esmė. Esmė ta, kad tu atlikai darbą — sudėliojai mintį, gerai ją pasakei, mašina net teisingai transkribavo — o įrankis sunaikino rezultatą dėl pristatymo problemos. Antras dublis niekada nebūna toks geras kaip pirmas. Kas nors kartą iš atminties perdiktavo pastraipą, žino, kad jos neatkuri; pagamini plokštesnį jos pusbrolį.

Aš pats esu taip praradęs diktavimų, kituose įrankiuose, dar prieš egzistuojant Keebye. Tai viena tų smulkių nelaimių, aplink kurias ši programa ir buvo sukurta.

Kodėl padiktuotas tekstas tiesiog dingsta?

Tai ne vieno tiekėjo klaida. Tai kategorijos lygio dizaino sprendimas, ir verta suprasti, kodėl kategorija jį priėmė.

Diktavimo programa yra vamzdis, o ne redaktorius. Šneka įeina vienu galu; tekstas išeina kitu, į kažkieno kito langą — terminalą, Slack laukelį, Google Docs. Savo dokumento nėra, ir būtent tai daro šiuos įrankius nematomus bei greitus. Bet tai reiškia, kad transkripcija dažnai egzistuoja lygiai vieną akimirką: įterpimo. O įterpimas yra pats trapiausias viso kelio žingsnis. Jis priklauso nuo to, kuris langas turi fokusą pristatymo milisekundę, nuo to, kad dėl iškarpinės nesivaržo kita programa, nuo to, ar Prieinamumo leidimai šiandien nusiteikę, ir nuo to, ar tikslinė programa apskritai priima sintetinę įvestį. Kai bet kas iš to nepavyksta, grynas vamzdis už savęs neturi nieko. Vanduo ant grindų.

Yra ir principinė priežastis, kodėl įrankiai vengia laikyti kopijas: visko, ką kada nors padiktavai, žurnalas yra jautrus. Tavo diktavimai yra tavo žinutės, tavo promptai, tavo pusiau suformuluoti sprendimai. Tiekėjas, kuris juos saugo — ypač kur nors netoli debesies — susikūrė riziką, o lengvas būdas jos išvengti yra nesaugoti nieko. Naudotojai tą atsargumą paveldi kaip trumpaamžiškumą: saugiausias diktavimas, tiekėjo požiūriu, yra tas, kurio niekada nebuvo.

Logiką suprantu. Tiesiog manau, kad ji optimizuoja ne tai pusei. Lokalios istorijos laikymo gedimo būdas yra failas tavo paties diske. Nieko nelaikymo gedimo būdas yra tavo darbo išgaravimas, nes langas prarado fokusą.

Ką Keebye laiko ir kur

Taigi Keebye laiko istoriją, įjungtą pagal nutylėjimą, ir štai ką tiksliai tai reiškia — ne daugiau ir ne mažiau.

Kai istorija įjungta, kiekvienas baigtas diktavimas įrašomas į lokalią SQLite duomenų bazę tavo Mac kompiuteryje (rusqlite, WAL režimas — tiems, kam rūpi vidus). Failas gyvena app-support kataloge — com.keebye.app/keebye.db — ir niekada nepalieka mašinos. Nėra jokios sinchronizacijos, jokio įkėlimo, jokios paskyros, prie kurios jis būtų prisegtas. Tai failas tavo diske, priklausantis tau.

Atkūrimas suprojektuotas pagal du būdus, kuriais iš tikrųjų prarandi tekstą. Įprastas atvejis — įterpimas ką tik nepavyko, prieš sekundę — turi greičiausią kelią: meniu juostos meniu turi punktą Copy Last Dictation. Spustelėk jį, naujausias tavo diktavimas atsiduria iškarpinėje, įklijuok jį ten, kur turėjo nusileisti, ir judėk toliau. Retesnis atvejis — „padiktavau kai ką antradienį ir man to reikia atgal“ — eina per Dictation History…, langą su pilnu sąrašu: su paieška, atskirų įrašų trynimu ir visko išvalymu, kai nori nušluostyti lentą.

Saugojimo trukmė yra 30 dienų, taikoma automatiškai. Valymas paleidžiamas atveriant duomenų bazę ir dar kartą po kiekvieno įterpimo, tad langas iš tikrųjų yra 30 dienų, o ne „maždaug 30 dienų, kai tik susiruošime“. O jei nori senosios trumpaamžės elgsenos — kai kuriems ir reikėtų, prie to prieisiu — istorija yra nustatymas (history_enabled), ir jį išjungus neįrašoma visiškai nieko.

Tik tekstas. Niekada garsas.

Labiausiai man rūpi tai, kuo istorija nėra. Ji tik tekstinė. Keebye istorijos schema neturi garso stulpelio — ne garso saugojimo nustatymo, išjungto pagal nutylėjimą, o būtent stulpelio. Patys įrašai niekada nesaugomi. Tai struktūriška, taip sumanyta: transkripcija „atsakyk Andrejui, kad migracija vėluoja savaitę“ ir taip pakankamai jautri; tavo balso garsas, tai sakantis, su laiko žyma, yra kitos eilės artefaktas, ir nenorėjau, kad programa apskritai būtų pajėgi jį kaupti.

Dar vienas niuansas, svarbesnis nei jo ilgis: jei diktuoji į saugų lauką — slaptažodžio tipo įvestį — istorija to neįrašo. Vienintelė vieta, kur net tekstinis pėdsakas būtų neteisingas, yra ta vienintelė vieta, kur jo nelaikome.

Tai ta pati laikysena kaip ir visoje programoje — kalbos atpažinimas veikia įrenginyje, apie ką rašėme kalbėdami apie diktavimą savo kalba — bet istorija yra ten, kur ta laikysena išbandoma, nes istorija yra vienintelė vieta, kur Keebye apskritai išsaugo tavo žodžius. Lokali, tik tekstinė ir pati save trinanti atrodė kaip forma, pelnanti įjungimą pagal nutylėjimą.

Sąžiningos ribos

Sąžiningumo skyrius, kaip visada.

Perklausyti negalėsi. Tik tekstinė istorija pjauna į abi puses. Jei transkripcija buvo klaidinga — modelis neišgirdo vardo, sujaukė skaičių — istorija ištikimai išsaugo klaidingą tekstą, o garsas, kuris ginčą išspręstų, dingęs pagal sumanymą. Daugumai atkūrimo atvejų tai nesvarbu; gedo įterpimas, o ne transkripcija. Bet jei diktavimo istorijos norėjai kaip balso įrašų archyvo, tai ne jis, ir tai sąmoninga.

Trisdešimt dienų yra trisdešimt dienų. Istorija yra apsauginis tinklas, o ne archyvas. Jei diktavimas svarbus ilgiau nei mėnesį, jo namai yra dokumentas, į kurį jį padiktavai, o ne programos duomenų bazė. Valymas neklausia.

Tik lokaliai reiškia tik lokaliai. Tavo istorija nekeliauja paskui tave tarp mašinų. Diktavimo, kurį atlikai staliniame kompiuteryje, iš nešiojamojo neatkursi. Pateikiu tai kaip privatumo funkciją, ir ji tokia yra — niekas nesinchronizuojama, nes niekas nesiunčiama — bet neapsimetinėsiu, kad tai kartu nėra apribojimas. Tai ir viena, ir kita. Prieš pasikliaudamas tuo, turėtum žinoti, kas tai yra tau.

Ir ribinis atvejis: jei esi tas žmogus, kurio grėsmių modelis sako jokio pėdsako, išjunk istoriją. Tai vienas nustatymas, ir programa jo laikosi visiškai. Įjungta pagal nutylėjimą yra teisingas sprendimas daugumai naudotojų, kurie verčiau atgautų praėjusio antradienio pastraipą; likusiems tai neturėtų būti spąstai.

Darbas neturėtų turėti vieno gedimo taško

Gilesnė priežastis, kodėl ši funkcija egzistuoja: savo dieną varau lygiagrečiomis juostomis — agentai stato vienuose languose, žmonės laukia kituose — o balsas yra kanalas, maitinantis juos visus. Ta darbo eiga yra visa straipsnio Claude Code valdymas balsu prielaida. Kanalas, kuris retkarčiais sunaikina savo paties krovinį, nėra kanalas, ant kurio stato darbo dieną. Kūrėjai tikisi atkūrimo kelių — undo, žurnalų, reflog, šiukšlinės — tačiau daugelis diktavimo eigų, kai įterpimas nepavyksta, nesiūlo jokio atitikmens.

Jei sveri šios kategorijos įrankius, mūsų palyginimai sąžiningai nurodo ir tai, kur kiti spindi: Keebye vs Superwhisper ir Keebye vs Wispr Flow. O dingstantis tekstas turi brolį — pirmo diktavimo žodžio suvalgymą, kol mikrofonas dar nepabudo — apie kurį rašėme straipsnyje kodėl diktavimo programos suvalgo tavo pirmą žodį.

Keebye yra ankstyvojoje prieigoje macOS sistemai. Pradėk nemokamą bandomąjį laikotarpį žemiau, padiktuok pastraipą, sąmoningai nepataikyk į tikslinį langą, tada tekstui atkurti panaudok Copy Last Dictation. Neteisingas fokusas vis dar kainuoja atkūrimo žingsnį; jam nebeprivalu kainuoti minties.

Padaryk kitą ilgą diktavimą atkuriamą

Pradėk nemokamą bandomąjį laikotarpį ir išbandyk Copy Last Dictation prieš patikėdamas balsui ilgą PR aprašymą.

Start free trial

Early access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.

Skaityti toliau