Logotipo de Bitdoze

Hex: dictado por voz local y gratuito para Mac, Windows y Linux

Hex es una app de dictado gratuita con licencia MIT del equipo de OpenCode. Modelos de voz locales en Mac, Windows y Linux, vocabulario personalizado, comandos de voz, reuniones y una CLI que tus agentes pueden manejar.

Dragos

20 min de lectura

Hex: dictado por voz local y gratuito para Mac, Windows y Linux

El equipo detrás de OpenCode ha lanzado una app de dictado. Hex es una herramienta gratuita con licencia MIT para escribir con la voz en macOS, Windows y Linux: mantén pulsada una tecla, habla, suéltala y el texto aparece donde esté el cursor. La transcripción se ejecuta íntegramente en tu equipo, y pasó de cero a más de 5.100 estrellas en GitHub en unos cuatro meses.

Ya hablé de FluidVoice, la app de dictado gratuita que hizo que los 15 $/mes de Wispr Flow parecieran ridículos en Mac. Hex aborda el mismo problema desde otro ángulo. Está escrita en Rust, trata la voz como una interfaz para agentes y no solo como un sustituto del teclado, y es la única opción gratuita que ofrece builds equivalentes para las tres plataformas de escritorio desde el primer día.

Descargar Hex Ver en GitHub

¿Qué es Hex?

Hex es una app de dictado por voz local creada por Anomaly, la empresa detrás de OpenCode. Todo está escrito en Rust, la interfaz usa su propio framework Rune y la conversión de voz a texto funciona mediante un fork de transcribe.cpp sobre Metal (macOS) o Vulkan (Windows y Linux). La versión actual en el momento de escribir esto es la v3.3.0.

El flujo de trabajo tiene tres pasos:

  1. Mantén pulsado tu atajo (Option en macOS por defecto), habla y suelta.
  2. Hex transcribe el audio en tu dispositivo.
  3. El texto se pega en la app que tuviera el foco.

La primera ejecución descarga un modelo de voz (el recomendado ocupa ~731 MB). A partir de ahí, nada sale de tu equipo para la transcripción. Sin cuenta, sin suscripción, sin límite de palabras.

El historial del repositorio merece un vistazo si te interesa cómo está construida: más de 1.500 commits desde julio de 2026, y el proyecto no acepta pull requests en absoluto. Abres una issue y sus agentes de programación se encargan. Es una app construida por agentes que, en parte, está diseñada para hablar con agentes.

Cómo instalar Hex

macOS

Requisitos: Apple silicon y macOS 15 o posterior. No hay build para Intel.

Homebrew es la instalación más limpia:

bash
brew install --cask anomalyco/tap/hex

O descarga el DMG desde anoma.ly/hex. El sitio detecta tu plataforma y muestra la descarga correcta, incluido un aviso de “needs Apple silicon” si estás en Intel.

En el primer arranque macOS pedirá acceso al micrófono y permisos de accesibilidad (para que Hex pueda pegar en otras apps). Concede ambos o nada funcionará.

¿Vienes de la app Swift original (releases hasta la 2.3.1, bundle id com.kitlangton.hex2)? Instala esta manualmente y configúrala de nuevo: los ajustes y el historial no se transfieren, y conviene cerrar la app antigua para que los dos atajos no compitan.

Windows

Hay instaladores x64 y ARM64 en el sitio y en GitHub Releases. Es una instalación por usuario, así que no necesitas derechos de administrador. Puede que SmartScreen te muestre un aviso con una descarga reciente (el instalador aún no está firmado; elige Más información → Ejecutar de todos modos). Los equipos x64 necesitan una CPU de 2013 o posterior con AVX2 — Intel Haswell o AMD Excavator en adelante — y en cualquier equipo más antiguo Hex muestra un mensaje y se cierra. Las builds ARM64 transcriben en la CPU.

Apunte: si Discord empieza a mostrar “Playing HEX: Shards of Fate” mientras Hex está en ejecución, es que Discord asocia hex.exe con un juego de cartas. Ocúltalo en Settings › Registered Games de Discord.

El comando de una línea para PowerShell:

powershell
powershell -ExecutionPolicy Bypass -Command "iwr https://anoma.ly/hex/install-windows.ps1 -OutFile install-windows.ps1; ./install-windows.ps1"

Comprueba tu driver de Vulkan

Windows necesita un driver Vulkan 1.2 para la transcripción acelerada por GPU. Hex se instala sin problemas sin él, pero recurre a la inferencia en CPU y muestra un aviso en Ajustes. En un equipo reciente con drivers de GPU actualizados no tendrás problemas; en Windows antiguos o virtualizados, la transcripción será más lenta.

Linux

El script de instalación cubre x64 y ARM64:

bash
curl -fsSL https://anoma.ly/hex/install-linux.sh | sh

O instala un paquete directamente:

bash
# Debian/Ubuntu
curl -fLo /tmp/hex.deb https://anoma.ly/hex/download/linux-x64-deb && sudo apt install /tmp/hex.deb

# Fedora/openSUSE: swap -deb for -rpm in the URL

# Arch (AUR)
yay -S hex-bin

# Nix
nix profile add github:anomalyco/hex

X11 y Wayland nativo están soportados, pero pegan de forma distinta. En X11, Hex usa key grabs y wtype. En Wayland con GNOME/KDE pasa por el portal RemoteDesktop, lo que significa que el escritorio muestra un diálogo de permiso que dice literalmente “remote desktop” antes del primer pegado. Es solo la redacción del portal. Hex solo envía pulsaciones de teclas; nunca lee tu pantalla.

Algunos detalles de Linux que conviene conocer:

  • Los paquetes requieren glibc 2.36+ (Debian 12, Ubuntu 24.04, Fedora 37 o más reciente), y x86_64 necesita la misma CPU de la era AVX2 que en Windows.
  • En Arch, el paquete de AUR es hex-bin — hex a secas es una herramienta de volcado hexadecimal que instala hx.
  • En compositores wlroots instala wl-clipboard y wtype para el pegado; si el pegado no se puede entregar, la transcripción se queda en tu portapapeles para un Ctrl+V manual.
  • En Hyprland, Sway y GNOME ≤46 sin portal de atajos, las teclas se asignan en la configuración del compositor/escritorio, p. ej. bindsym F9 exec hex dictation start más bindsym --release F9 exec hex dictation stop.
  • Auriculares Bluetooth en Linux: al grabar, el auricular cambia a su perfil de manos libres y la calidad de audio cae en picado. La opción avoid_bluetooth_microphone de Hex (activada por defecto) ayuda, pero un micrófono integrado o USB es mejor entrada.

Existen dos canales de release: stable (la versión actual) y dev (la build más reciente de la rama dev, que se actualiza sola). Los scripts de instalación aceptan HEX_INSTALL_CHANNEL=dev si quieres vivir al límite, y el actualizador sigue el canal que hayas instalado.

Primera ejecución y configuración

El asistente inicial te guía por los permisos, te deja practicar un dictado y descarga el modelo recomendado en segundo plano. Un detalle interesante: antes de descargar nada, Hex escanea tu caché de Hugging Face (~/.cache/huggingface/hub) buscando modelos de voz GGUF que otras apps ya hayan descargado. Si encuentra un archivo compatible, lo ofrece como “Found on this computer” y lo usa en su lugar en vez de descargar una segunda copia. Si has usado Handy u otra herramienta basada en whisper.cpp, hay bastantes probabilidades de que tu primera ejecución no necesite descargar nada.

También puedes importar tu propio archivo GGUF con el botón “Add model file” del selector. Hex comprueba la cabecera (arquitectura, tipos de tensores, códigos de idioma) antes de aceptarlo y guarda su propia copia verificada.

Qué cubre el catálogo de modelos

Hex no te ata a un único motor. El catálogo reúne varias familias de modelos de voz, todas convertidas a GGUF para su fork de transcribe.cpp:

  • Familia Parakeet (NVIDIA): variantes RNN-T y TDT, además de Underdog Bark y Nemotron 3.5 ASR. Rápida, fuerte en inglés y la única familia que admite sesgo de vocabulario en tiempo de decodificación (un interruptor de Labs).
  • Whisper: varios tamaños, incluidas builds comunitarias como ivrit.ai (hebreo) y NB-Whisper (noruego). La cobertura de idiomas más amplia, hasta 99.
  • Qwen3-ASR (incl. QwenCleo): detecta el idioma automáticamente y lee el vocabulario a través de su prompt de sistema.
  • Cohere ASR, SenseVoice, GigaAM, Granite, Apple Speech: arquitecturas soportadas, con la salvedad de que algunas no aceptan pistas de vocabulario.

Cada tarjeta de modelo en el selector muestra idiomas, tamaño y (tras un interruptor de Labs) las cifras brutas de WER/CER de los benchmarks con el dataset y las condiciones de prueba. Esto último es raro: la mayoría de apps de dictado solo te dicen que un modelo es “rápido” o “preciso” sin números.

Dos modelos del catálogo — Parakeet Unified English (la opción por defecto de ~731 MB para sistemas en inglés) y Nemotron 3.5 ASR — hacen streaming: en una GPU transcriben mientras aún mantienes la tecla, así que al soltar solo queda terminar el último segundo o dos. En dispositivos solo con CPU (incluido Windows ARM64) todos los modelos transcriben el clip entero tras soltar, y si un stream falla Hex recurre silenciosamente a la transcripción del clip completo. Cada modelo además recuerda el último idioma que usaste con él, y en macOS el icono de la barra de menú tiene un selector de modelos para que no tengas que abrir Ajustes para cambiar.

Para inglés en Apple silicon, Parakeet Unified English es un buen valor por defecto. Si dictas en otro idioma a diario, revisa los detalles del benchmark antes de elegir.

Funciones que importan

Atajos que se adaptan a tu forma de trabajar

Los valores por defecto varían por plataforma: Option en macOS, Ctrl+Espacio en Windows, Alt+Espacio en Linux — salvo en instalaciones nuevas de GNOME y KDE, que reciben Ctrl+Alt+Espacio porque GNOME reserva Alt+Espacio para el menú de ventana y Plasma para KRunner. Más allá de los valores por defecto, el sistema es inusualmente flexible. Cada atajo es una combinación: solo modificadores, modificador más tecla, las dos teclas Option a la vez (en una ventana de 80 ms), Fn/Globe en solitario, teclas de función simples, y en Windows y Linux incluso botones del ratón (ideal para un botón del pulgar en un ratón gaming). Los atajos de ratón en macOS están detrás de un interruptor de Labs.

Hay tres modos de dictado:

  • Hold: mantén pulsado para hablar, suelta para transcribir y pegar. El modo por defecto — y ojo, Escape no puede abortar una captura en modo Hold una vez iniciada.
  • Bloqueo por doble pulsación: toca la tecla dos veces para seguir grabando con las manos libres, tócala una vez más para terminar.
  • Toggle: pulsa una vez para empezar, otra para parar, y es el único modo con cancelación real (Escape por defecto, reasignable).

Una combinación integrada más: Paste Last (Option-Shift-V en macOS, Ctrl+Alt+V en Windows y Linux) vuelve a pegar tu dictado más reciente.

Vocabulario: enséñale tus nombres

General › Vocabulary es una lista compartida de términos (personas, proyectos, productos) con grafías opcionales tipo “sounds like”. Añade “Bitdoze” con grafías como “bit dose, bitdoze” y la transcripción dejará de masacrarlo. En los modelos de la familia Parakeet el sesgo ocurre dentro del decodificador (tras el interruptor de Labs); en Whisper y Qwen3-ASR los términos entran como prompt de contexto. En cualquier caso también alimenta la reescritura, las notas de reuniones y la búsqueda en transcripciones, así que tus nombres personalizados sobreviven a todo el pipeline. Límite: 500 términos, 64 caracteres cada uno, 16 grafías por término.

Esta es la función que importa si tu dictado está lleno de nombres propios. Todas las apps de dictado destrozan los nombres; casi ninguna te deja arreglarlo. La CLI también refleja la lista: hex vocabulary añade, lista y elimina términos contra la app en ejecución.

Modos y procesado de texto

La pestaña Output es donde Hex se acerca al Write Mode de FluidVoice. Puedes definir modos vinculados a apps concretas o a hosts del navegador. Cada modo tiene sus propias correcciones, un paso opcional de reescritura con IA y transformaciones personalizadas. El modo Global se aplica en todas partes; un modo más específico lo anula para su app o sitio — aunque según la documentación, la detección por sitio web actualmente requiere un navegador de la familia Chromium (Brave es el que mencionan). Un modo incluso puede llevar su propia lista de vocabulario en macOS.

El paso de reescritura con IA se enruta a través de una instancia de OpenCode en ejecución, no de un modelo integrado. Es el mismo patrón que usa Meetily con Ollama: potente si ya tienes ese stack montado, configuración extra si no.

Ajustes de Modes de Hex: un modo Chat limitado a Firefox y Slack con correcciones y una transformación de OpenCode

Voice Action y comandos personales

Más allá de pegar texto, Hex puede actuar sobre lo que dices. Un atajo dedicado de Voice Action trata la voz como un comando en lugar de dictado. Luego están los comandos personales, definidos en ~/.config/hex/hex.config.ts:

ts
import { defineHexConfig, openUrl } from "@hex/commands"

export default defineHexConfig({
  commands: {
    "open-repo": {
      phrases: ["open repo"],
      group: "Work",
      description: "Open the project repository",
      action: openUrl("https://github.com/anomalyco/hex"),
    },
  },
})

Los comandos se ejecutan en un sandbox QuickJS integrado sin acceso al sistema de archivos ni a la red. Acciones disponibles: openUrl, openApplication, openPath, press, typeText. Puedes capturar argumentos ("open issue {name}"), definir frases de control del dictado personalizadas y registrar transformaciones de texto que se conectan a los modos. hex commands init genera la carpeta de configuración, y aquí viene lo divertido: la carpeta incluye su propio AGENTS.md, así que puedes apuntar un agente de programación a ella y dejar que el agente escriba tus comandos de voz por ti.

Reuniones (beta, en Labs)

Activa el interruptor Meetings en Labs y Hex se convierte en una grabadora de reuniones local y ligera. Captura el audio del sistema y tu micrófono como pistas separadas, detecta llamadas en Zoom, Google Meet, Teams, Slack huddles, FaceTime, WhatsApp, Gather y Discord, y guarda transcripciones en Markdown con turnos You/Them en ~/Documents/Hex Meetings. Los resúmenes vienen de Apple Intelligence en macOS o de OpenCode en el resto de plataformas.

Es beta y la diarización es de dos vías (You frente a Them), no un etiquetado real de múltiples interlocutores. Para notas de reuniones serias, Meetily sigue siendo la opción open source más madura, pero para capturar una llamada rápida sin que se una un bot, cumple su función.

Annotate y el pipeline de agentes

Annotate graba tu pantalla mientras dibujas sobre ella y hablas, y luego envía la grabación a un agente. Está activado por defecto en macOS y Linux (Option-Shift-S y F9 respectivamente), aún no en Windows, y mientras una sesión de Annotate graba, el atajo de dictado no hace nada. Combinado con el servidor MCP de solo lectura (hex mcp), la API HTTP local y el SDK de TypeScript, la dirección está clara: Hex quiere ser el front-end de voz para flujos de trabajo con agentes. hex dictation start, hex paste-last, hex history --search, hex meetings search y la gestión de hex model funcionan desde el terminal, lo que también significa que puedes vincularlos al sistema de atajos que tu SO ya tenga.

Privacidad e historial

El audio del dictado no se guarda por defecto. El historial conserva el texto pegado correctamente durante siete días (límite de 10.000 entradas o 16 MiB, las más antiguas se eliminan primero), guardando la transcripción local, el texto final pegado y metadatos limitados de app/tiempo — sin audio, sin URLs completas, sin títulos de ventana. History › Keep: Off detiene las nuevas entradas; Clear all borra las que ya tienes.

Para diagnóstico existe HEX_RETAIN_DICTATION_AUDIO, que conserva un conjunto acotado de archivos WAV, y los logs locales pueden contener texto de transcripciones y nombres de apps en primer plano. Los logs viven en ~/Library/Application Support/hex/logs/ (macOS), %APPDATA%\hex\logs\ (Windows) o ~/.local/share/hex/logs/ (Linux), y no se suben. Las excepciones deliberadas de red: descargas de modelos (Hugging Face), actualizaciones de la app y la reescritura opcional con OpenCode, que envía la transcripción más el contexto de la app en primer plano al proveedor de modelos que hayas configurado. Así que no dictes tokens, contraseñas ni contenidos de .env en un chat con un agente: una transcripción local igualmente acaba en un prompt que puede ir a un modelo alojado.

Hex frente a FluidVoice, Handy y Wispr Flow

Hex FluidVoice Handy Wispr Flow
Precio Gratis Gratis Gratis Nivel gratis (2.000 palabras/sem), Pro 15 $/mes
Licencia MIT GPL-3.0 MIT Propietaria
Plataformas macOS, Windows, Linux macOS (Win/iOS beta) macOS, Windows, Linux macOS, Windows, iOS, Android
Transcripción Local, catálogo multimodelo + GGUF propio Local (Parakeet, Whisper, Nemotron, más) Local (Whisper, Parakeet v3) Nube
Limpieza con IA Vía OpenCode (tu propio stack) Fluid-1 integrado, local Opcional con tu clave/Ollama Nube, integrada
Vocabulario personalizado Sí, con grafías “sounds like” Palabras entrenadas (Fluid Speech Pro) Lista de correcciones Limitado
Comandos de voz Voice Action + comandos personales programables Command Mode No Sí (Pro)
Reuniones Beta en Labs FluidMeet No No
Superficie de agente/CLI CLI, servidor MCP, API local, SDK de TS Integraciones de agente vía FluidMeet Flags de CLI, Raycast No
Móvil No (prototipo de iOS en el repo) iOS TestFlight No iOS, Android

La versión corta:

  • FluidVoice es la experiencia más pulida en Mac y la única con un modelo de limpieza local integrado (Fluid-1). Si estás en Apple silicon y quieres cero configuración extra, sigue siendo mi recomendación por defecto. Todos los detalles en la guía de FluidVoice.
  • Handy es la minimalista. Pulsa para hablar, pega, listo. Licencia MIT, ~33k estrellas, sin limpieza con IA salvo que conectes tu propia clave. Si quieres dictado y literalmente nada más, es difícil de superar.
  • Hex es la más extensible. Paridad multiplataforma, modelos personalizados, vocabulario, comandos programables, una CLI y un servidor MCP. La contrapartida es que sus funciones más inteligentes dependen de OpenCode, y buena parte aún está marcada como Labs.
  • Wispr Flow es la referencia en pulido y soporte móvil, no en precio. Si dictas sobre todo en un teléfono, sigue siendo la opción realista.

Limitaciones honestas

  1. Solo Apple silicon en Mac, macOS 15+. Los Mac Intel quedan totalmente fuera; el sitio desactiva el botón de descarga para ellos.
  2. Windows necesita Vulkan 1.2 para la inferencia en GPU. Recurre a la CPU, pero eso significa una transcripción más lenta en equipos con drivers antiguos.
  3. Sin modelo de limpieza integrado. FluidVoice incluye Fluid-1; Hex espera un OpenCode en ejecución para reescrituras y resúmenes. Si no vives ya en ese ecosistema, la función está efectivamente ausente.
  4. La mitad de lo interesante es Labs. Reuniones, captura de pantalla, sesgo de vocabulario, atajos de ratón en macOS, benchmarks de modelos — incluso frases habladas de formato como “new line” pasaron detrás de un interruptor de Labs en la 3.1.0. Labs viene activado por defecto, pero todo lo que hay dentro está explícitamente sin terminar.
  5. Sin pull requests. No puedes contribuir código, solo issues. Sus agentes hacen las correcciones. Eso mantiene un control de calidad estricto pero convierte el proyecto en una caja negra para trabajar en él, aunque el código sea abierto para leer.
  6. Fricción con Wayland. El permiso del portal RemoteDesktop muestra un diálogo de “remote desktop” que da miedo, y algunas configuraciones wlroots necesitan wtype instalado.
  7. Diarización de dos vías en reuniones. Solo You y Them, sin separación real de interlocutores en llamadas de grupo.
  8. Código base joven. Cuatro meses, releases constantes, 146 issues abiertas. Espera cambios.

Mantenida por agentes, orientada a agentes

Lo mismo que hace interesante a Hex es el riesgo: la mantienen en gran parte los propios agentes del equipo. Las releases llegan rápido (v3.3.0 días antes de escribir esto), pero si quieres una herramienta lenta y estable que cambie dos veces al año, esta no es.

Quién debería usar Hex

Hex encaja bien si:

  • Quieres dictado local y gratuito en Windows o Linux, no solo en Mac
  • Ya usas OpenCode o quieres el dictado integrado en flujos de trabajo con agentes
  • Dictas contenido técnico con nombres y términos que necesitan un vocabulario personalizado
  • Te gusta manejar las cosas desde un terminal (hex dictation start, hex model use)
  • Te importa el código abierto que puedes leer (MIT), aunque no puedas enviar PRs

Elige otra cosa si:

  • Estás en un Mac Intel o en macOS 14 y anteriores (no existe build)
  • Quieres el push-to-talk más simple posible con cero configuración (esa es Handy)
  • Quieres limpieza con IA integrada sin dependencias externas (esa es FluidVoice)
  • Dictas sobre todo en un teléfono (Wispr Flow, o espera al prototipo de iOS de Hex)
Preguntas frecuentes

¿Es Hex realmente gratuita? Sí. Licencia MIT, sin nivel de pago, sin límites de palabras, sin cuenta. El único coste es espacio en disco para el modelo de voz (~731 MB el recomendado).

¿Funciona Hex sin conexión? Completamente. El modelo se descarga una vez desde Hugging Face en la primera ejecución (o se recoge de tu caché de HF existente). Todo lo demás es local: captura, transcripción, pegado. La reescritura opcional con OpenCode y los resúmenes de reuniones también permanecen locales si tu OpenCode ejecuta modelos locales.

¿Qué idiomas soporta Hex? Depende del modelo que elijas. Los modelos basados en Whisper cubren hasta 99 idiomas, Parakeet TDT v3 cubre 25, Qwen3-ASR detecta automáticamente su conjunto. El inglés obtiene los mejores resultados en general. La interfaz de la app se distribuye en inglés más portugués, francés, ruso y chino simplificado/tradicional, aunque las traducciones advierten de que no han pasado revisión de hablantes nativos.

¿Puedo usar mi propio modelo Whisper? Sí. Cualquier archivo GGUF compatible (arquitecturas Parakeet, Whisper, Qwen3-ASR, Cohere, SenseVoice, GigaAM) se importa mediante “Add model file”, y Hex detecta automáticamente archivos compatibles que ya estén en tu caché de Hugging Face.

¿Graba Hex las reuniones? En Labs, sí. Captura el audio del sistema más tu micrófono, detecta llamadas en Zoom/Meet/Teams/Slack/FaceTime/WhatsApp/Gather/Discord y guarda transcripciones en Markdown. Es beta con diarización básica You/Them. Para notas de reuniones en producción, Meetily está más avanzada.

¿Cómo se compara con el dictado integrado del sistema? macOS y Windows tienen dictado gratuito integrado, y funciona bien para una frase rápida. Hex te da elección de modelo, vocabulario personalizado, modos por app, comandos de voz y programabilidad. Si dictas más de unas pocas líneas al día, la diferencia es evidente.

Veredicto final

Hex es la app de dictado gratuita más interesante lanzada este año. No es la más simple (esa es Handy) ni la más autocontenida en Mac (esa es FluidVoice), pero es la única que es genuinamente multiplataforma, genuinamente hackeable y construida asumiendo que lo que escucha tu voz puede ser un agente, no solo un campo de texto.

También tiene cuatro meses y se mueve rápido. Instálala, mantén Option y háblale durante una semana. Si la calidad del modelo aguanta con tu voz e idiomas, acabas de sustituir una suscripción de 144 $/año por un binario con licencia MIT.

Para más opciones en las tres plataformas, consulta la comparativa completa de apps de dictado gratuitas.

Descargar Hex Dar una estrella en GitHub