La tua dettatura non dovrebbe sparire e basta
Detti un pensiero lungo, l’inserimento fallisce, il testo sparisce. Perché le app perdono le tue parole e la cronologia locale solo testuale di Keebye.
Novanta secondi di esattamente-come-lo-intendevo — una descrizione di PR completa, una risposta curata a un cliente — e poi qualcosa di piccolo va storto nel momento dell'inserimento. La finestra di destinazione non aveva il focus. L'incolla non ha attecchito. L'app ha avuto un singhiozzo. E il testo è semplicemente sparito. Non salvato da qualche parte. Non fermo in un buffer. Sparito. Qualsiasi pipeline di dettatura che tratti l'inserimento come unica copia della trascrizione ha questa modalità di fallimento.
Quello che segue è una rabbia specifica e sproporzionata, e credo sia giustificata. I secondi persi non sono il punto. Il punto è che il lavoro l'hai fatto — hai composto il pensiero, l'hai detto bene, la macchina l'ha pure trascritto correttamente — e lo strumento ha distrutto il risultato per un problema di consegna. La seconda ripresa non è mai buona come la prima. Chiunque abbia ridettato un paragrafo a memoria sa che non lo riproduci; ne produci un cugino più piatto.
Ho perso dettature così anche io, con altri strumenti, prima che Keebye esistesse. È una delle piccole emergenze attorno a cui l'app è stata costruita.
Perché il testo dettato sparisce e basta?
Non è il bug di un fornitore. È una scelta di progetto a livello di categoria, e vale la pena capire perché la categoria l'ha fatta.
Un'app di dettatura è un tubo, non un editor. Il parlato entra da un capo; il testo esce dall'altro, dentro la finestra di qualcun altro — un terminale, una casella di Slack, un Google Doc. Non c'è un documento proprio, ed è esattamente ciò che rende questi strumenti invisibili e veloci. Ma significa che la trascrizione spesso esiste per un solo istante: l'inserimento. E l'inserimento è il passaggio più fragile di tutta la pipeline. Dipende da quale finestra ha il focus nel millisecondo della consegna, dal fatto che gli appunti non siano contesi da un'altra app, dal fatto che i permessi di accessibilità siano dell'umore giusto, dal fatto che l'applicazione di destinazione accetti input sintetico. Quando una di quelle cose fallisce, un tubo puro non ha niente dietro. L'acqua è per terra.
C'è anche una ragione di principio per cui gli strumenti sono stati restii a tenere copie: un registro di tutto ciò che hai dettato è sensibile. Le tue dettature sono i tuoi messaggi, i tuoi prompt, le tue decisioni mezze formate. Un fornitore che le conserva — soprattutto vicino a un cloud — ha creato una responsabilità, e il modo facile di evitarla è non conservare niente. Gli utenti ereditano quella prudenza sotto forma di effimerità: la dettatura più sicura, dal punto di vista del fornitore, è quella che non è mai esistita.
Capisco la logica. Penso soltanto che ottimizzi per la parte sbagliata. La modalità di fallimento del tenere una cronologia locale è un file sul tuo disco. La modalità di fallimento del non tenere niente è il tuo lavoro che evapora perché una finestra ha perso il focus.
Cosa conserva Keebye, e dove
Quindi Keebye conserva una cronologia, attiva per impostazione predefinita, ed ecco con precisione cosa significa — né più né meno.
Con la cronologia abilitata, ogni dettatura completata viene scritta in un database SQLite locale sul tuo Mac (rusqlite, modalità WAL, per chi tiene alla meccanica). Il file vive nella cartella di supporto dell'app — com.keebye.app/keebye.db — e non lascia mai la macchina. Non c'è sincronizzazione, non c'è upload, non c'è un account a cui sia collegato. È un file, sul tuo disco, di tua proprietà.
Il recupero è progettato attorno ai due modi in cui perdi davvero il testo. Il caso comune — l'inserimento è appena fallito, un secondo fa — ha il percorso più rapido: il menu nella barra dei menu ha la voce Copia ultima dettatura. Un clic, la tua dettatura più recente è negli appunti, la incolli dove doveva andare e vai avanti. Il caso più raro — «ho dettato una cosa martedì e mi serve indietro» — passa da Cronologia dettature…, una finestra con l'elenco completo: ricercabile, con eliminazione per voce e una cancellazione totale per quando vuoi fare tabula rasa.
La conservazione è di 30 giorni, applicata automaticamente. La pulizia parte all'apertura del database e di nuovo dopo ogni inserimento, quindi la finestra è davvero di 30 giorni, non «30 giorni all'incirca, quando ci pensiamo». E se vuoi il vecchio comportamento effimero — qualcuno dovrebbe, e ci arrivo — la cronologia è un'impostazione (history_enabled), e disattivarla significa che non viene scritto proprio niente.
Solo testo. Mai audio.
La parte a cui tengo di più è ciò che la cronologia non è. È solo testo. Lo schema della cronologia di Keebye non ha una colonna per l'audio — non un'impostazione di conservazione dell'audio disattivata per default: proprio nessuna colonna. Le registrazioni non vengono mai conservate. È strutturale, per progetto: una trascrizione di «rispondi ad Andrei che la migrazione slitta di una settimana» è già abbastanza sensibile; il suono della tua voce che la pronuncia, con tanto di orario, è un artefatto di un altro ordine, e non volevo che l'app fosse in grado di accumularlo.
Un'altra sfumatura che conta più delle parole che occupa: se detti in un campo protetto — un input di tipo password — la cronologia non lo registra. L'unico posto in cui anche una traccia testuale sarebbe sbagliata è l'unico posto in cui non ne teniamo una.
È la stessa postura del resto dell'app — lo speech-to-text gira on-device, e ne abbiamo scritto nel contesto del dettare nella propria lingua — ma è nella cronologia che la postura viene messa alla prova, perché la cronologia è l'unico posto in cui Keebye conserva le tue parole. Locale, solo testo, che si cancella da sola: mi è sembrata la forma che si guadagna l'attivazione predefinita.
I limiti onesti
Sezione onestà, come sempre.
Non puoi riascoltare. Il solo testo taglia da entrambe le parti. Se la trascrizione era sbagliata — il modello ha sentito male un nome, ha storpiato un numero — la cronologia preserva fedelmente il testo sbagliato, e l'audio che potrebbe risolvere la disputa è perso per progetto. Nella maggior parte dei casi di recupero non conta; il fallimento era l'inserimento, non la trascrizione. Ma se volevi la cronologia delle dettature come archivio di memo vocali, non è questo, di proposito.
Trenta giorni sono trenta giorni. La cronologia è una rete di sicurezza, non un archivio. Se una dettatura conta oltre il mese, la sua casa è il documento in cui l'hai dettata, non il database dell'app. La pulizia non chiede il permesso.
Solo locale significa solo locale. La tua cronologia non ti segue tra le macchine. La dettatura fatta sul desktop non è recuperabile dal portatile. La presento come una funzione di privacy, e lo è — niente si sincronizza perché niente viene trasmesso — ma non farò finta che non sia anche un limite. È entrambe le cose. Dovresti sapere quale delle due è per te prima di farci affidamento.
E il caso limite: se sei la persona il cui modello di minaccia dice nessuna traccia, disattiva la cronologia. È un'impostazione sola, e l'app la rispetta completamente. L'attivazione predefinita è la scelta giusta per la maggior parte degli utenti, che preferiscono riavere il paragrafo di martedì scorso; non dovrebbe essere una trappola per gli altri.
Il lavoro non dovrebbe avere un unico punto di rottura
La ragione più profonda per cui questa funzione esiste: gestisco la mia giornata come corsie parallele — agenti che costruiscono in alcune finestre, persone che aspettano in altre — e la voce è il canale che le alimenta tutte. Quel flusso è tutta la premessa di Guidare Claude Code con la voce. Un canale che ogni tanto distrugge il proprio carico non è un canale su cui costruire una giornata di lavoro. Gli sviluppatori si aspettano percorsi di recupero — undo, log, reflog, cestino — eppure molti flussi di dettatura non espongono niente di equivalente quando un inserimento fallisce.
Se stai soppesando strumenti di questa categoria, i nostri confronti sono onesti su dove brillano anche gli altri: Keebye vs Superwhisper e Keebye vs Wispr Flow. E il testo che sparisce ha una lamentela sorella — la prima parola della tua dettatura mangiata prima che il microfono si svegli — che abbiamo raccontato in perché le app di dettatura si mangiano la tua prima parola.
Keebye è in accesso anticipato per macOS. Inizia la prova gratuita qui sotto, detta un paragrafo, sbaglia deliberatamente la finestra di destinazione, poi usa Copia ultima dettatura per recuperare il testo. Il focus sbagliato costa comunque un passaggio di recupero; non deve più costarti il pensiero.
Rendi recuperabile la prossima dettatura lunga
Inizia la prova gratuita e prova Copia ultima dettatura prima di affidare alla voce la descrizione di una PR lunga.
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.
Continua a leggere
Perché le app di dettatura si mangiano la tua prima parola
Premi la hotkey, parli e la prima parola si taglia. Perché succede all’avvio a freddo e come aiutano un microfono caldo e 500 ms di pre-roll.
Dettare prompt ad agenti paralleli, corsia per corsia
Due o tre agenti di coding insieme rendono il prompt il collo di bottiglia. Un flusso vocale per alimentare le corsie parallele senza lasciare la tua.
Claude Code con la voce: costruire a corsie parallele
Gli agenti AI rendono la digitazione un collo di bottiglia. Un flusso per dettare prompt, review e cambi di rotta su corsie parallele di agenti in macOS.