whisper-windows-mcp 2.2.1 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/ROADMAP.es.md CHANGED
@@ -1,192 +1,200 @@
1
- # whisper-windows-mcp — Hoja de Ruta
2
-
3
- Versión actual: **v2.2.0**
4
-
5
- ---
6
-
7
- ## Principios de diseño
8
-
9
- Estos principios rigen cada decisión en este proyecto y tienen prioridad sobre la velocidad de adición de funcionalidades.
10
-
11
- **Minimizar el uso de la API de Claude.** Todo el flujo de trabajo de transcripción — escaneo, análisis, cola, ejecución, validación, cambio de modelos — debe ser ejecutable con el menor número posible de interacciones con Claude. Esta herramienta debe funcionar completamente para usuarios de Claude en el plan gratuito que no pagan por suscripciones Pro o Max. Cada llamada a herramienta consume presupuesto de uso. Diseña en consecuencia.
12
-
13
- **Siempre una única instancia de whisper.** Nunca crees un segundo proceso whisper-cli.exe mientras uno esté en ejecución. El bloqueo de proceso es obligatorio e innegociable.
14
-
15
- **Local primero, privado por defecto.** El audio nunca sale de la máquina. No se necesita ninguna API de nube para la funcionalidad principal. Las integraciones opcionales (ej.: descargas de modelos de Hugging Face) deben estar claramente documentadas como opcionales.
16
-
17
- **Control explícito del usuario.** Sin operaciones masivas silenciosas. Las acciones destructivas o irreversibles requieren confirmación. El usuario debe saber siempre qué va a ocurrir antes de que ocurra.
18
-
19
- **Rutas seguras para Unicode.** Toda E/S de archivo debe manejar correctamente nombres de archivo no-ASCII, incluyendo español, japonés, chino, emoji, corchetes y otros caracteres especiales.
20
-
21
- **Modular y combinable.** Las herramientas son independientes. Los usuarios usan lo que necesitan. Ninguna funcionalidad debe requerir otra, a menos que sea inevitable.
22
-
23
- **Optimización antes que funcionalidades.** Cuando haya dudas entre agregar una funcionalidad y reducir la carga del sistema o el número de llamadas a la API, reduce la carga. Las sesiones de optimización grandes son costosas. Diseña la arquitectura correctamente desde el principio.
24
-
25
- ---
26
-
27
- ## Completado
28
-
29
- ### ✅ v1.3.1 — Bloqueo de proceso
30
- Añadida verificación `isWhisperRunning()` usando `tasklist /FI` antes de crear cualquier proceso de transcripción. Devuelve un error claro con instrucciones del Administrador de Tareas en lugar de crear un proceso concurrente.
31
-
32
- ### ✅ v1.4.0 — Aceleración GPU Vulkan
33
- Compilado whisper.cpp desde el código fuente con `-DGGML_VULKAN=ON` usando VS Build Tools 2022 y Vulkan SDK. Binarios Vulkan precompilados distribuidos como `whisper-vulkan-win-x64.zip`.
34
-
35
- **Resultados en AMD Radeon RX Vega 56:** Utilización media de GPU ~16%. Archivo de 58 minutos completado en ~4,5 minutos en GPU vs. ~88 minutos solo en CPU.
36
-
37
- ### ✅ v1.5.0 — Diagnóstico del sistema
38
- Herramienta `check_system`: detección de GPU via `wmic`, verificación de DLL Vulkan, reporte de VRAM, recomendación de tamaño de modelo.
39
-
40
- ### ✅ v1.6.0 — Pre-análisis de archivo
41
- Herramienta `analyze_media` via FFprobe: duración, tamaño, códec, estado de transcripción, estimaciones de tiempo de CPU y GPU. Escaneo de archivo único o carpeta con opciones de ordenación.
42
-
43
- ### ✅ v1.7.0 — Transcripción en segundo plano + Visibilidad del progreso
44
- Arquitectura de proceso desconectado: `transcribe_audio` con `background=true` crea whisper como proceso desconectado y devuelve inmediatamente un ID de tarea. `check_progress` analiza las marcas de tiempo de segmento del stderr de whisper para porcentaje y ETA en tiempo real.
45
-
46
- ### ✅ v1.8.0 — Lote secuencial con validación
47
- `start_batch` y `check_batch_progress`: procesamiento secuencial automático, validación de transcripción (detección de salida vacía/corta), avance automático de cola, marcas de tiempo de progreso por archivo.
48
-
49
- ### ✅ v1.9.0 — Soporte multilingüe y traducción
50
- `generate_subtitles` con detección `language=auto` y salida SRT doble `translate_to_english=true`. Añadido soporte para formatos `.3gp` y `.ts`. `language=auto` también disponible en `transcribe_audio`.
51
-
52
- **Limitación conocida:** La traducción integrada de Whisper solo apunta al inglés. Requiere modelo `large-v3` para idiomas que no sean inglés — los modelos solo inglés (`*.en.bin`) generan `[FOREIGN]` en audio que no sea inglés.
53
-
54
- ### ✅ v2.0.0 — Rutas seguras para Unicode + SRT en segundo plano
55
- **Nombres de archivo Unicode:** Los archivos con caracteres no-ASCII en los nombres causaban fallos silenciosos en la transcripción en segundo plano. Corregido enrutando toda la salida a través de una ruta temporal saneada basada en ID de tarea, luego moviendo el resultado al destino correcto tras completarse.
56
-
57
- **SRT en modo en segundo plano:** `spawnDetached` anteriormente codificaba de forma rígida `-otxt` independientemente del formato solicitado, y `generate_subtitles` bloqueaba de forma síncrona y alcanzaba el timeout de MCP de 4 minutos en archivos más largos. Corregido añadiendo parámetro `outputFormat` a `spawnDetached`, soportando salida `text` y `srt` en modo en segundo plano.
58
-
59
- ### ✅ v2.0.1 — Correcciones de bugs (incluido en v2.2.0)
60
- - `--max-context 0` fijo en `buildArgs` y `spawnDetached` — previene bucles de alucinación en audio largo.
61
- - `--no-speech-thold 0.6` fijo en ambas funciones — segmentos por debajo del umbral de confianza son tratados como silencio.
62
- - Validación de ruta (`validateInputPath`) — rechaza rutas UNC y traversales `..`.
63
- - Guarda de tamaño de archivo `MAX_FILE_SIZE_MB = 10240`.
64
- - Comentario de seguridad de inyección de transcripción en `transcribeSingle`.
65
- - Comando CLI de lote corregido en TROUBLESHOOTING.md.
66
-
67
- ### ✅ v2.1.0 — Suite de gestión de modelos (incluido en v2.2.0)
68
- - `WHISPER_MODEL` cambiado de `const` a `let` (mutable dentro de la sesión).
69
- - `MODEL_REGISTRY` — 16 modelos, variantes de precisión total y cuantizadas, URLs de descarga de Hugging Face.
70
- - `ALLOWED_HF_PREFIXES` — lista de permitidos de URL que limita las descargas a los espacios de nombres `ggerganov/whisper.cpp` y `ggml-org`.
71
- - Herramienta `list_models` — escanea el directorio de modelos, muestra el modelo activo, tamaños, casos de uso, descargas disponibles.
72
- - Herramienta `download_model` — descarga de Hugging Face via `https` integrado de Node.js, renombrado atómico.
73
- - Herramienta `switch_model` — valida extensión `.bin`, restricción de directorio, verificación de bloqueo de proceso.
74
- - `recommendedModel()` actualizado para recomendar `large-v3-turbo` para VRAM de 6GB+.
75
-
76
- ### ✅ v2.2.0 — Expansión de calidad, parámetros y hardware (actual)
77
- - Interfaz `WhisperOptions` reemplazando argumentos posicionales en `buildArgs`.
78
- - Nuevos parámetros en `transcribe_audio`: `temperature`, `prompt`, `condition_on_prev_text`, `no_speech_thold`, `beam_size`, `best_of`, `gpu_device`, `processors`, `word_timestamps`, `max_segment_length`, `split_on_word`, `diarize`, `vad_model`, `offset_t`, `duration`.
79
- - Nuevos parámetros en `generate_subtitles`: `temperature`, `prompt`, `beam_size`, `best_of`, `diarize`, `vad_model`.
80
- - `spawnDetached` refactorizado — todos los flags de calidad ahora se aplican en modo en segundo plano/lote.
81
- - Salida de lote corregida — `readBatchProgress` ahora mueve la salida temporal al destino final antes de validar.
82
-
83
- ---
84
-
85
- ## Bug crítico — Avance automático del lote (confirmado, pendiente de corrección)
86
-
87
- ### El lote no avanza sin polling activo
88
-
89
- `start_batch` no avanza la cola de forma autónoma entre archivos. El lote solo avanza cuando se llama a `check_batch_progress`. Sin polling, el lote se detiene indefinidamente tras cada archivo.
90
-
91
- **Corrección planificada — Opción B (callback de salida):** Adjuntar un handler `on('exit')` al proceso hijo whisper-cli creado. Cuando el proceso salga, llamar inmediatamente a la lógica de avance para validar la salida y crear la siguiente tarea.
92
-
93
- **Solución alternativa (actual):** Llama a `check_batch_progress` repetidamente hasta que el lote se complete.
94
-
95
- ---
96
-
97
- ## Planificado — Arquitectura de Privacidad (antes de la migración a Bun)
98
-
99
- ### Variable de entorno `WHISPER_PRIVACY_MODE`
100
- Añadir `WHISPER_PRIVACY_MODE` como variable de entorno en `claude_desktop_config.json`. Cuando esté activado, todas las respuestas de herramientas solo devuelven metadatos — ningún texto de transcripción incluido en ninguna respuesta.
101
-
102
- ### Gateway de consentimiento para contenido de transcripción
103
- Cuando `WHISPER_PRIVACY_MODE` no está activado (predeterminado), cualquier respuesta de herramienta que incluya texto de transcripción debe estar precedida de una divulgación en el primer uso por sesión.
104
-
105
- ### Documentación `PRIVACY.md`
106
- Crear `PRIVACY.md` en la raíz del repositorio con orientación completa de privacidad y marcos de cumplimiento.
107
-
108
- ### Limpieza automática del directorio temporal
109
- Añadir limpieza automática de archivos de tareas completadas tras un período de retención configurable (predeterminado: 7 días).
110
-
111
- ---
112
-
113
- ## Planificado — Migración a Bun
114
-
115
- Migrar el runtime de Node.js a [Bun](https://bun.sh) tras la conclusión de la arquitectura de privacidad y antes de las adiciones de funcionalidades del v2.3.0. El Bun ejecuta TypeScript nativamente sin paso de compilación, inicia significativamente más rápido que Node y tiene E/S más rápida.
116
-
117
- ---
118
-
119
- ## Planificado — Revisión de licencia (tras la migración a Bun)
120
-
121
- La licencia MIT actual permite uso comercial irrestrito. Se planifica una licencia dual: MIT para uso personal y no comercial, licencia comercial separada para uso empresarial y corporativo.
122
-
123
- ---
124
-
125
- ## Planificado — v2.3.0: Expansión de formatos de salida
126
-
127
- ### Formato de subtítulos VTT
128
- Salida WebVTT (`.vtt`) junto con SRT. Estándar web usado por YouTube, HTML5 `<video>` y la mayoría de los reproductores modernos.
129
-
130
- ### Formato LRC
131
- Salida en formato LRC (`.lrc`) de letras/karaoke via `-olrc`.
132
-
133
- ### Formato CSV
134
- Salida CSV (`.csv`) via `-ocsv`. Datos tabulares estructurados con timing de segmentos.
135
-
136
- ---
137
-
138
- ## Planificado — Releases futuros
139
-
140
- ### TinyDiarize
141
- Soporte al flag `--tinydiarize` con variantes de modelo que soportan `tdrz`. Funciona en grabaciones mono a diferencia del flag `--diarize` estéreo.
142
-
143
- ### Transcripción de URL de YouTube
144
- Transcripción directa desde URLs de YouTube via yt-dlp. Requiere yt-dlp instalado y en el PATH.
145
-
146
- ### Herramientas de flujo de trabajo de proyecto de video
147
- Para usuarios que gestionan proyectos grandes de edición de video con directorios de clips fuente y editados. Los archivos fuente nunca son renombrados ni modificados sin confirmación explícita del usuario.
148
-
149
- ### Diarización de hablantes (pyannote-audio)
150
- Diarización de hablantes mono completa con etiquetas de ID de hablante. Requiere pyannote-audio — biblioteca basada en Python con requisito de token de acceso a modelos de Hugging Face.
151
-
152
- ### Traducción a idiomas que no sean inglés
153
- El flag `--translate` de Whisper solo apunta al inglés. Soportar idiomas de destino arbitrarios requiere una API de traducción externa o modelo de traducción local.
154
-
155
- ### Limpieza y formateo de transcripciones
156
- Pipeline de post-procesamiento: eliminación de muletillas, saltos de párrafo en límites de temas naturales, formateo con conciencia de hablante, exportación a PDF o DOCX.
157
-
158
- ---
159
-
160
- ## Distribución
161
-
162
- Disponible en [npm](https://www.npmjs.com/package/whisper-windows-mcp), [mcpservers.org](https://mcpservers.org) y [Glama](https://glama.ai).
163
-
164
- ---
165
-
166
- ## Documentación multilingüe
167
-
168
- La documentación en japonés, coreano, vietnamita, indonesio, ucraniano, portugués brasileño y español se mantiene en paralelo con el inglés. Los siguientes archivos deben ser actualizados para coincidir con los documentos en inglés tras cada release:
169
-
170
- **Japonés (`*.ja.md`)** — `README.ja.md` / `TROUBLESHOOTING.ja.md` / `ROADMAP.ja.md` / `PRIVACY.ja.md` / `SECURITY.ja.md`
171
-
172
- **Coreano (`*.ko.md`)** — `README.ko.md` / `TROUBLESHOOTING.ko.md` / `ROADMAP.ko.md` / `PRIVACY.ko.md` / `SECURITY.ko.md`
173
-
174
- **Vietnamita (`*.vi.md`)** — `README.vi.md` / `TROUBLESHOOTING.vi.md` / `ROADMAP.vi.md` / `PRIVACY.vi.md` / `SECURITY.vi.md`
175
-
176
- **Indonesio (`*.id.md`)** — `README.id.md` / `TROUBLESHOOTING.id.md` / `ROADMAP.id.md` / `PRIVACY.id.md` / `SECURITY.id.md`
177
-
178
- **Ucraniano (`*.uk.md`)** — `README.uk.md` / `TROUBLESHOOTING.uk.md` / `ROADMAP.uk.md` / `PRIVACY.uk.md` / `SECURITY.uk.md`
179
-
180
- **Portugués Brasileño (`*.pt-BR.md`)** — `README.pt-BR.md` / `TROUBLESHOOTING.pt-BR.md` / `ROADMAP.pt-BR.md` / `PRIVACY.pt-BR.md` / `SECURITY.pt-BR.md`
181
-
182
- **Español (`*.es.md`)** — `README.es.md` / `TROUBLESHOOTING.es.md` / `ROADMAP.es.md` / `PRIVACY.es.md` / `SECURITY.es.md`
183
-
184
- Las contribuciones de la comunidad para otros idiomas son bienvenidas.
185
-
186
- ---
187
-
188
- ## Contribuciones
189
-
190
- Los pull requests son bienvenidos. Revisa las issues existentes antes de comenzar a trabajar.
191
-
192
- Si has probado la aceleración por GPU en hardware no listado arriba, abre una issue con el modelo de GPU, VRAM, tamaño de modelo y throughput observado.
1
+ # whisper-windows-mcp — Hoja de Ruta
2
+
3
+ Versión actual: **v2.2.0**
4
+
5
+ ---
6
+
7
+ ## Principios de diseño
8
+
9
+ Estos principios rigen cada decisión en este proyecto y tienen prioridad sobre la velocidad de adición de funcionalidades.
10
+
11
+ **Minimizar el uso de la API de Claude.** Todo el flujo de trabajo de transcripción — escaneo, análisis, cola, ejecución, validación, cambio de modelos — debe ser ejecutable con el menor número posible de interacciones con Claude. Esta herramienta debe funcionar completamente para usuarios de Claude en el plan gratuito que no pagan por suscripciones Pro o Max. Cada llamada a herramienta consume presupuesto de uso. Diseña en consecuencia.
12
+
13
+ **Siempre una única instancia de whisper.** Nunca crees un segundo proceso whisper-cli.exe mientras uno esté en ejecución. El bloqueo de proceso es obligatorio e innegociable.
14
+
15
+ **Local primero, privado por defecto.** El audio nunca sale de la máquina. No se necesita ninguna API de nube para la funcionalidad principal. Las integraciones opcionales (ej.: descargas de modelos de Hugging Face) deben estar claramente documentadas como opcionales.
16
+
17
+ **Control explícito del usuario.** Sin operaciones masivas silenciosas. Las acciones destructivas o irreversibles requieren confirmación. El usuario debe saber siempre qué va a ocurrir antes de que ocurra.
18
+
19
+ **Rutas seguras para Unicode.** Toda E/S de archivo debe manejar correctamente nombres de archivo no-ASCII, incluyendo español, japonés, chino, emoji, corchetes y otros caracteres especiales.
20
+
21
+ **Modular y combinable.** Las herramientas son independientes. Los usuarios usan lo que necesitan. Ninguna funcionalidad debe requerir otra, a menos que sea inevitable.
22
+
23
+ **Optimización antes que funcionalidades.** Cuando haya dudas entre agregar una funcionalidad y reducir la carga del sistema o el número de llamadas a la API, reduce la carga. Las sesiones de optimización grandes son costosas. Diseña la arquitectura correctamente desde el principio.
24
+
25
+ ---
26
+
27
+ ## Completado
28
+
29
+ ### ✅ v1.3.1 — Bloqueo de proceso
30
+ Añadida verificación `isWhisperRunning()` usando `tasklist /FI` antes de crear cualquier proceso de transcripción. Devuelve un error claro con instrucciones del Administrador de Tareas en lugar de crear un proceso concurrente.
31
+
32
+ ### ✅ v1.4.0 — Aceleración GPU Vulkan
33
+ Compilado whisper.cpp desde el código fuente con `-DGGML_VULKAN=ON` usando VS Build Tools 2022 y Vulkan SDK. Binarios Vulkan precompilados distribuidos como `whisper-vulkan-win-x64.zip`.
34
+
35
+ **Resultados en AMD Radeon RX Vega 56:** Utilización media de GPU ~16%. Archivo de 58 minutos completado en ~4,5 minutos en GPU vs. ~88 minutos solo en CPU.
36
+
37
+ ### ✅ v1.5.0 — Diagnóstico del sistema
38
+ Herramienta `check_system`: detección de GPU via `wmic`, verificación de DLL Vulkan, reporte de VRAM, recomendación de tamaño de modelo.
39
+
40
+ ### ✅ v1.6.0 — Pre-análisis de archivo
41
+ Herramienta `analyze_media` via FFprobe: duración, tamaño, códec, estado de transcripción, estimaciones de tiempo de CPU y GPU. Escaneo de archivo único o carpeta con opciones de ordenación.
42
+
43
+ ### ✅ v1.7.0 — Transcripción en segundo plano + Visibilidad del progreso
44
+ Arquitectura de proceso desconectado: `transcribe_audio` con `background=true` crea whisper como proceso desconectado y devuelve inmediatamente un ID de tarea. `check_progress` analiza las marcas de tiempo de segmento del stderr de whisper para porcentaje y ETA en tiempo real.
45
+
46
+ ### ✅ v1.8.0 — Lote secuencial con validación
47
+ `start_batch` y `check_batch_progress`: procesamiento secuencial automático, validación de transcripción (detección de salida vacía/corta), avance automático de cola, marcas de tiempo de progreso por archivo.
48
+
49
+ ### ✅ v1.9.0 — Soporte multilingüe y traducción
50
+ `generate_subtitles` con detección `language=auto` y salida SRT doble `translate_to_english=true`. Añadido soporte para formatos `.3gp` y `.ts`. `language=auto` también disponible en `transcribe_audio`.
51
+
52
+ **Limitación conocida:** La traducción integrada de Whisper solo apunta al inglés. Requiere modelo `large-v3` para idiomas que no sean inglés — los modelos solo inglés (`*.en.bin`) generan `[FOREIGN]` en audio que no sea inglés.
53
+
54
+ ### ✅ v2.0.0 — Rutas seguras para Unicode + SRT en segundo plano
55
+ **Nombres de archivo Unicode:** Los archivos con caracteres no-ASCII en los nombres causaban fallos silenciosos en la transcripción en segundo plano. Corregido enrutando toda la salida a través de una ruta temporal saneada basada en ID de tarea, luego moviendo el resultado al destino correcto tras completarse.
56
+
57
+ **SRT en modo en segundo plano:** `spawnDetached` anteriormente codificaba de forma rígida `-otxt` independientemente del formato solicitado, y `generate_subtitles` bloqueaba de forma síncrona y alcanzaba el timeout de MCP de 4 minutos en archivos más largos. Corregido añadiendo parámetro `outputFormat` a `spawnDetached`, soportando salida `text` y `srt` en modo en segundo plano.
58
+
59
+ ### ✅ v2.0.1 — Correcciones de bugs (incluido en v2.2.0)
60
+ - `--max-context 0` fijo en `buildArgs` y `spawnDetached` — previene bucles de alucinación en audio largo.
61
+ - `--no-speech-thold 0.6` fijo en ambas funciones — segmentos por debajo del umbral de confianza son tratados como silencio.
62
+ - Validación de ruta (`validateInputPath`) — rechaza rutas UNC y traversales `..`.
63
+ - Guarda de tamaño de archivo `MAX_FILE_SIZE_MB = 10240`.
64
+ - Comentario de seguridad de inyección de transcripción en `transcribeSingle`.
65
+ - Comando CLI de lote corregido en TROUBLESHOOTING.md.
66
+
67
+ ### ✅ v2.1.0 — Suite de gestión de modelos (incluido en v2.2.0)
68
+ - `WHISPER_MODEL` cambiado de `const` a `let` (mutable dentro de la sesión).
69
+ - `MODEL_REGISTRY` — 16 modelos, variantes de precisión total y cuantizadas, URLs de descarga de Hugging Face.
70
+ - `ALLOWED_HF_PREFIXES` — lista de permitidos de URL que limita las descargas a los espacios de nombres `ggerganov/whisper.cpp` y `ggml-org`.
71
+ - Herramienta `list_models` — escanea el directorio de modelos, muestra el modelo activo, tamaños, casos de uso, descargas disponibles.
72
+ - Herramienta `download_model` — descarga de Hugging Face via `https` integrado de Node.js, renombrado atómico.
73
+ - Herramienta `switch_model` — valida extensión `.bin`, restricción de directorio, verificación de bloqueo de proceso.
74
+ - `recommendedModel()` actualizado para recomendar `large-v3-turbo` para VRAM de 6GB+.
75
+
76
+ ### ✅ v2.2.0 — Expansión de calidad, parámetros y hardware (actual)
77
+ - Interfaz `WhisperOptions` reemplazando argumentos posicionales en `buildArgs`.
78
+ - Nuevos parámetros en `transcribe_audio`: `temperature`, `prompt`, `condition_on_prev_text`, `no_speech_thold`, `beam_size`, `best_of`, `gpu_device`, `processors`, `word_timestamps`, `max_segment_length`, `split_on_word`, `diarize`, `vad_model`, `offset_t`, `duration`.
79
+ - Nuevos parámetros en `generate_subtitles`: `temperature`, `prompt`, `beam_size`, `best_of`, `diarize`, `vad_model`.
80
+ - `spawnDetached` refactorizado — todos los flags de calidad ahora se aplican en modo en segundo plano/lote.
81
+ - Salida de lote corregida — `readBatchProgress` ahora mueve la salida temporal al destino final antes de validar.
82
+
83
+ ---
84
+
85
+ ## Bug crítico — Avance automático del lote (confirmado, pendiente de corrección)
86
+
87
+ ### El lote no avanza sin polling activo
88
+
89
+ `start_batch` no avanza la cola de forma autónoma entre archivos. El lote solo avanza cuando se llama a `check_batch_progress`. Sin polling, el lote se detiene indefinidamente tras cada archivo.
90
+
91
+ **Corrección planificada — Opción B (callback de salida):** Adjuntar un handler `on('exit')` al proceso hijo whisper-cli creado. Cuando el proceso salga, llamar inmediatamente a la lógica de avance para validar la salida y crear la siguiente tarea.
92
+
93
+ **Solución alternativa (actual):** Llama a `check_batch_progress` repetidamente hasta que el lote se complete.
94
+
95
+ ---
96
+
97
+ ## Planificado — Arquitectura de Privacidad (antes de la migración a Bun)
98
+
99
+ ### Variable de entorno `WHISPER_PRIVACY_MODE`
100
+ Añadir `WHISPER_PRIVACY_MODE` como variable de entorno en `claude_desktop_config.json`. Cuando esté activado, todas las respuestas de herramientas solo devuelven metadatos — ningún texto de transcripción incluido en ninguna respuesta.
101
+
102
+ ### Gateway de consentimiento para contenido de transcripción
103
+ Cuando `WHISPER_PRIVACY_MODE` no está activado (predeterminado), cualquier respuesta de herramienta que incluya texto de transcripción debe estar precedida de una divulgación en el primer uso por sesión.
104
+
105
+ ### Documentación `PRIVACY.md`
106
+ Crear `PRIVACY.md` en la raíz del repositorio con orientación completa de privacidad y marcos de cumplimiento.
107
+
108
+ ### Limpieza automática del directorio temporal
109
+ Añadir limpieza automática de archivos de tareas completadas tras un período de retención configurable (predeterminado: 7 días).
110
+
111
+ ---
112
+
113
+ ## Planificado — Migración a Bun
114
+
115
+ Migrar el runtime de Node.js a [Bun](https://bun.sh) tras la conclusión de la arquitectura de privacidad y antes de las adiciones de funcionalidades del v2.3.0. El Bun ejecuta TypeScript nativamente sin paso de compilación, inicia significativamente más rápido que Node y tiene E/S más rápida.
116
+
117
+ ---
118
+
119
+ ## Licenciamiento
120
+
121
+ whisper-windows-mcp usa licencia dual.
122
+
123
+ **Uso no comercial:** MIT — gratuito para uso personal, educativo y no comercial. Ver [LICENSE](LICENSE).
124
+
125
+ **Uso comercial:** Se requiere un acuerdo de licencia comercial separado. Ver [LICENSE-COMMERCIAL.md](LICENSE-COMMERCIAL.md).
126
+
127
+ `WHISPER_PRIVACY_MODE` para implementaciones en sectores regulados está en desarrollo y planificado para una versión futura. Ver [PRIVACY.md](PRIVACY.md) para orientación actual.
128
+
129
+ ## Planificado — v2.3.0: Expansión de formatos de salida
130
+
131
+ ### Formato de subtítulos VTT
132
+ Salida WebVTT (`.vtt`) junto con SRT. Estándar web usado por YouTube, HTML5 `<video>` y la mayoría de los reproductores modernos.
133
+
134
+ ### Formato LRC
135
+ Salida en formato LRC (`.lrc`) de letras/karaoke via `-olrc`.
136
+
137
+ ### Formato CSV
138
+ Salida CSV (`.csv`) via `-ocsv`. Datos tabulares estructurados con timing de segmentos.
139
+
140
+ ---
141
+
142
+ ## Planificado — Releases futuros
143
+
144
+ ### TinyDiarize
145
+ Soporte al flag `--tinydiarize` con variantes de modelo que soportan `tdrz`. Funciona en grabaciones mono a diferencia del flag `--diarize` estéreo.
146
+
147
+ ### Transcripción de URL de YouTube
148
+ Transcripción directa desde URLs de YouTube via yt-dlp. Requiere yt-dlp instalado y en el PATH.
149
+
150
+ ### Herramientas de flujo de trabajo de proyecto de video
151
+ Para usuarios que gestionan proyectos grandes de edición de video con directorios de clips fuente y editados. Los archivos fuente nunca son renombrados ni modificados sin confirmación explícita del usuario.
152
+
153
+ ### Diarización de hablantes (pyannote-audio)
154
+ Diarización de hablantes mono completa con etiquetas de ID de hablante. Requiere pyannote-audio — biblioteca basada en Python con requisito de token de acceso a modelos de Hugging Face.
155
+
156
+ ### Traducción a idiomas que no sean inglés
157
+ El flag `--translate` de Whisper solo apunta al inglés. Soportar idiomas de destino arbitrarios requiere una API de traducción externa o modelo de traducción local.
158
+
159
+ ### Limpieza y formateo de transcripciones
160
+ Pipeline de post-procesamiento: eliminación de muletillas, saltos de párrafo en límites de temas naturales, formateo con conciencia de hablante, exportación a PDF o DOCX.
161
+
162
+ ---
163
+
164
+ ## Distribución
165
+
166
+ Disponible en [npm](https://www.npmjs.com/package/whisper-windows-mcp), [mcpservers.org](https://mcpservers.org) y [Glama](https://glama.ai).
167
+
168
+ ---
169
+
170
+ ## Documentación multilingüe
171
+
172
+ La documentación en japonés, coreano, vietnamita, indonesio, ucraniano, portugués brasileño y español se mantiene en paralelo con el inglés. Los siguientes archivos deben ser actualizados para coincidir con los documentos en inglés tras cada release:
173
+
174
+ **Japonés (`*.ja.md`)** — `README.ja.md` / `TROUBLESHOOTING.ja.md` / `ROADMAP.ja.md` / `PRIVACY.ja.md` / `SECURITY.ja.md`
175
+
176
+ **Coreano (`*.ko.md`)** — `README.ko.md` / `TROUBLESHOOTING.ko.md` / `ROADMAP.ko.md` / `PRIVACY.ko.md` / `SECURITY.ko.md`
177
+
178
+ **Vietnamita (`*.vi.md`)** — `README.vi.md` / `TROUBLESHOOTING.vi.md` / `ROADMAP.vi.md` / `PRIVACY.vi.md` / `SECURITY.vi.md`
179
+
180
+ **Indonesio (`*.id.md`)** — `README.id.md` / `TROUBLESHOOTING.id.md` / `ROADMAP.id.md` / `PRIVACY.id.md` / `SECURITY.id.md`
181
+
182
+ **Ucraniano (`*.uk.md`)** — `README.uk.md` / `TROUBLESHOOTING.uk.md` / `ROADMAP.uk.md` / `PRIVACY.uk.md` / `SECURITY.uk.md`
183
+
184
+ **Portugués Brasileño (`*.pt-BR.md`)** — `README.pt-BR.md` / `TROUBLESHOOTING.pt-BR.md` / `ROADMAP.pt-BR.md` / `PRIVACY.pt-BR.md` / `SECURITY.pt-BR.md`
185
+
186
+ **Español (`*.es.md`)** — `README.es.md` / `TROUBLESHOOTING.es.md` / `ROADMAP.es.md` / `PRIVACY.es.md` / `SECURITY.es.md`
187
+
188
+ **Polish (`*.pl.md`)** — `README.pl.md` / `TROUBLESHOOTING.pl.md` / `ROADMAP.pl.md` / `PRIVACY.pl.md` / `SECURITY.pl.md`
189
+
190
+ **Romanian (`*.ro.md`)** — `README.ro.md` / `TROUBLESHOOTING.ro.md` / `ROADMAP.ro.md` / `PRIVACY.ro.md` / `SECURITY.ro.md`
191
+
192
+ Las contribuciones de la comunidad para otros idiomas son bienvenidas.
193
+
194
+ ---
195
+
196
+ ## Contribuciones
197
+
198
+ Los pull requests son bienvenidos. Revisa las issues existentes antes de comenzar a trabajar.
199
+
200
+ Si has probado la aceleración por GPU en hardware no listado arriba, abre una issue con el modelo de GPU, VRAM, tamaño de modelo y throughput observado.