Tu dictado no debería esfumarse sin más
Dictas una idea larga, falla la inserción y el texto desaparece. Por qué las apps pierden tus palabras y el historial local solo de texto que guarda Keebye.
Noventa segundos de exactamente-como-yo-lo-quería — una descripción completa de PR, una respuesta cuidadosa a un cliente — y entonces algo pequeño sale mal en el momento de la inserción. La ventana de destino no tenía el foco. El pegado no cuajó. La app tuvo un hipo. Y el texto simplemente ya no está. No guardado en algún sitio. No esperando en un búfer. Desaparecido. Cualquier pipeline de dictado que trate la inserción como la única copia de la transcripción tiene este modo de fallo.
Lo que viene después es un tipo de enfado específico y desproporcionado, y creo que está justificado. Los segundos perdidos no son el asunto. El asunto es que tú hiciste el trabajo — compusiste el pensamiento, lo dijiste bien, la máquina incluso lo transcribió correctamente — y la herramienta destruyó el resultado por un problema de entrega. La segunda toma nunca es tan buena como la primera. Quien haya vuelto a dictar un párrafo de memoria sabe que no lo reproduces; produces un primo más plano de él.
Yo he perdido dictados así, con otras herramientas, antes de que Keebye existiera. Es una de las pequeñas emergencias alrededor de las que se construyó la app.
¿Por qué desaparece sin más el texto dictado?
Esto no es el bug de un proveedor. Es una decisión de diseño a nivel de categoría, y merece la pena entender por qué la categoría la tomó.
Una app de dictado es una tubería, no un editor. El habla entra por un extremo; el texto sale por el otro, hacia la ventana de otro — una terminal, una caja de Slack, un Google Doc. No hay un documento propio, que es exactamente lo que hace a estas herramientas invisibles y rápidas. Pero significa que la transcripción a menudo existe durante un solo momento: la inserción. Y la inserción es el paso más frágil de todo el pipeline. Depende de qué ventana tenga el foco en el milisegundo de la entrega, de que el portapapeles no esté siendo disputado por otra app, de que los permisos de accesibilidad estén de humor, de que la aplicación de destino acepte siquiera entrada sintética. Cuando cualquiera de esas cosas falla, una tubería pura no tiene nada detrás. El agua está en el suelo.
También hay una razón de principios por la que las herramientas han sido tímidas al guardar copias: un registro de todo lo que has dictado es sensible. Tus dictados son tus mensajes, tus prompts, tus decisiones a medio formar. Un proveedor que los almacena — sobre todo en cualquier lugar cercano a la nube — ha creado una responsabilidad, y la forma fácil de evitar esa responsabilidad es no guardar nada. Los usuarios heredan esa cautela en forma de efimeridad: el dictado más seguro, desde la perspectiva del proveedor, es el que nunca existió.
Entiendo la lógica. Solo creo que optimiza para la parte equivocada. El modo de fallo de guardar historial local es un archivo en tu propio disco. El modo de fallo de no guardar nada es que tu trabajo se evapore porque una ventana perdió el foco.
Qué guarda Keebye, y dónde
Así que Keebye guarda un historial, activado por defecto, y esto es exactamente lo que significa — ni más, ni menos.
Con el historial activado, cada dictado completado se escribe en una base de datos SQLite local en tu Mac (rusqlite, modo WAL, para quien le importe la fontanería). El archivo vive en el directorio de soporte de la app — com.keebye.app/keebye.db — y nunca sale de la máquina. No hay sincronización, ni subida, ni cuenta a la que esté vinculado. Es un archivo, en tu disco, tuyo.
La recuperación está diseñada en torno a las dos formas en que pierdes texto de verdad. El caso común — la inserción acaba de fallar, hace un segundo — tiene la ruta más rápida: el menú de la bandeja tiene un elemento Copiar último dictado. Haz clic, tu dictado más reciente está en el portapapeles, pégalo donde tenía que ir y sigue. El caso más raro — «dicté algo el martes y lo necesito de vuelta» — pasa por Historial de dictado…, una ventana con la lista completa: con búsqueda, borrado por entrada y un borrar todo para cuando quieras dejar la pizarra limpia.
La retención es de 30 días, aplicada automáticamente. La poda se ejecuta cuando se abre la base de datos y otra vez después de cada inserción, así que la ventana es genuinamente de 30 días, no «30 días, más o menos, cuando nos dé por hacerlo». Y si quieres el viejo comportamiento efímero — hay gente que debería, y llegaré a quién —, el historial es un ajuste (history_enabled), y desactivarlo significa que no se escribe nada en absoluto.
Solo texto. Nunca audio.
La parte que más me importa es lo que el historial no es. Es solo texto. El esquema del historial de Keebye no tiene columna de audio — no es un ajuste de retención de audio desactivado por defecto, no hay columna. Las grabaciones en sí no se almacenan nunca. Eso es estructural, por diseño: una transcripción de «responde a Andrei que la migración se retrasa una semana» ya es lo bastante sensible; el sonido de tu voz diciéndolo, con marca de tiempo, es un artefacto de otro orden, y no quería que la app fuera siquiera capaz de acumularlo.
Un matiz más que importa más de lo que ocupa: si dictas en un campo seguro — una entrada de tipo contraseña —, el historial no lo registra. El único sitio donde incluso un rastro de texto está mal es el único sitio donde no guardamos ninguno.
Esta es la misma postura que el resto de la app — la voz a texto se ejecuta on-device, algo sobre lo que hemos escrito en el contexto de dictar en tu propio idioma —, pero el historial es donde la postura se pone a prueba, porque el historial es el único sitio donde Keebye persiste tus palabras. Local, solo texto y con autoborrado nos pareció la forma que se gana el estar activado por defecto.
Los límites honestos
Sección de honestidad, como siempre.
No puedes volver a escuchar. Solo texto corta por los dos lados. Si la transcripción estaba mal — el modelo oyó mal un nombre, destrozó un número —, el historial preserva fielmente el texto erróneo, y el audio que podría zanjar la discusión ya no está, por diseño. Para la mayoría de los casos de recuperación esto no importa; el fallo fue la inserción, no la transcripción. Pero si querías el historial de dictado como un archivo de notas de voz, esto no es eso, a propósito.
Treinta días son treinta días. El historial es una red de seguridad, no un archivo histórico. Si un dictado importa más allá de un mes, su casa es el documento en el que lo dictaste, no la base de datos de la app. La poda no pregunta.
Solo local significa solo local. Tu historial no te sigue entre máquinas. El dictado que hiciste en el sobremesa no es recuperable desde el portátil. Lo presento como una función de privacidad, y lo es — nada se sincroniza porque nada se transmite —, pero no voy a fingir que no sea también una limitación. Es las dos cosas. Deberías saber cuál de ellas es para ti antes de depender de ello.
Y el caso frontera: si eres la persona cuyo modelo de amenazas dice ningún rastro en absoluto, desactiva el historial. Es un solo ajuste, y la app lo respeta por completo. Activado por defecto es la decisión correcta para la mayoría, que preferiría recuperar el párrafo del martes pasado; no debería ser una trampa para el resto.
El trabajo no debería tener un único punto de fallo
La razón más profunda por la que existe esta función: llevo mi día como carriles en paralelo — agentes construyendo en unas ventanas, humanos esperando en otras — y la voz es el canal que los alimenta a todos. Ese flujo de trabajo es toda la premisa de dirigir Claude Code con tu voz. Un canal que de vez en cuando destruye su propia carga no es un canal sobre el que construyas una jornada de trabajo. Los desarrolladores esperan rutas de recuperación — deshacer, logs, reflogs, papelera — y sin embargo muchos flujos de dictado no exponen ningún equivalente cuando falla una inserción.
Si estás sopesando herramientas de esta categoría, nuestras comparaciones son honestas también sobre dónde brillan otras: Keebye vs Superwhisper y Keebye vs Wispr Flow. Y el texto que se esfuma tiene una queja hermana — que la primera palabra de tu dictado se la coman antes de que el micro despierte —, que contamos en por qué las apps de dictado se comen tu primera palabra.
Keebye está en acceso anticipado para macOS. Empieza tu prueba gratuita abajo, dicta un párrafo, falla el objetivo a propósito y luego usa Copiar último dictado para recuperar el texto. Equivocarte de foco sigue costando un paso de recuperación; ya no tiene por qué costarte el pensamiento.
Haz recuperable el próximo dictado largo
Empieza tu prueba gratuita y prueba Copiar último dictado antes de confiarle a la voz una descripción larga de 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.
Sigue leyendo
Por qué las apps de dictado se comen tu primera palabra
Pulsas la hotkey, hablas y se corta la primera palabra. Por qué ocurre al arrancar en frío y cómo ayudan un micro caliente y un pre-roll de 500 ms.
Dictar prompts a agentes en paralelo, carril a carril
Ejecutar dos o tres agentes de programación a la vez convierte el prompt en el cuello de botella. Un flujo de voz para alimentar carriles sin salir del tuyo.
Claude Code con tu voz: construir en carriles paralelos
Con agentes de código IA, teclear es el cuello de botella. Un flujo práctico para dictar prompts, revisiones y cambios de rumbo en paralelo en macOS.