whisper-windows-mcp 2.2.2 → 2.3.0

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.
Files changed (53) hide show
  1. package/{LICENSE-COMMERCIAL.md → COMMERCIAL-LICENSE.md} +58 -58
  2. package/LICENSE +40 -40
  3. package/PRIVACY.es.md +192 -135
  4. package/PRIVACY.id.md +192 -135
  5. package/PRIVACY.ja.md +192 -135
  6. package/PRIVACY.ko.md +192 -135
  7. package/PRIVACY.md +192 -135
  8. package/PRIVACY.pl.md +192 -135
  9. package/PRIVACY.pt-BR.md +192 -135
  10. package/PRIVACY.ro.md +192 -135
  11. package/PRIVACY.uk.md +192 -135
  12. package/PRIVACY.vi.md +192 -135
  13. package/README.es.md +74 -48
  14. package/README.id.md +77 -40
  15. package/README.ja.md +100 -72
  16. package/README.ko.md +63 -37
  17. package/README.md +76 -39
  18. package/README.pl.md +77 -40
  19. package/README.pt-BR.md +71 -45
  20. package/README.ro.md +78 -41
  21. package/README.uk.md +77 -40
  22. package/README.vi.md +67 -41
  23. package/ROADMAP.es.md +110 -48
  24. package/ROADMAP.id.md +77 -104
  25. package/ROADMAP.ja.md +84 -123
  26. package/ROADMAP.ko.md +73 -97
  27. package/ROADMAP.pl.md +104 -44
  28. package/ROADMAP.pt-BR.md +78 -102
  29. package/ROADMAP.ro.md +102 -44
  30. package/ROADMAP.uk.md +65 -97
  31. package/ROADMAP.vi.md +78 -102
  32. package/SECURITY.es.md +64 -47
  33. package/SECURITY.id.md +64 -47
  34. package/SECURITY.ja.md +64 -47
  35. package/SECURITY.ko.md +64 -47
  36. package/SECURITY.md +21 -4
  37. package/SECURITY.pl.md +64 -47
  38. package/SECURITY.pt-BR.md +64 -47
  39. package/SECURITY.ro.md +64 -47
  40. package/SECURITY.uk.md +64 -47
  41. package/SECURITY.vi.md +64 -47
  42. package/TROUBLESHOOTING.es.md +309 -323
  43. package/TROUBLESHOOTING.id.md +333 -323
  44. package/TROUBLESHOOTING.ja.md +399 -286
  45. package/TROUBLESHOOTING.ko.md +309 -323
  46. package/TROUBLESHOOTING.pl.md +355 -323
  47. package/TROUBLESHOOTING.pt-BR.md +309 -323
  48. package/TROUBLESHOOTING.ro.md +355 -323
  49. package/TROUBLESHOOTING.uk.md +369 -323
  50. package/TROUBLESHOOTING.vi.md +309 -323
  51. package/dist/index.js +591 -216
  52. package/package.json +45 -45
  53. package/patch_roadmaps.py +0 -72
package/README.ro.md CHANGED
@@ -17,6 +17,7 @@ După instalare, poți spune direct în Claude Desktop:
17
17
  - *"Începe transcrierea în lot a tuturor fișierelor din acest folder"*
18
18
  - *"Cât timp va dura să transcrii aceste fișiere?"*
19
19
  - *"Verifică dacă accelerarea GPU funcționează"*
20
+ - *"Transcrie acest fișier în modul de confidențialitate"*
20
21
 
21
22
  ---
22
23
 
@@ -87,7 +88,7 @@ Folosește `download_model` în Claude Desktop pentru instalare directă. Pentru
87
88
 
88
89
  ## Pasul 3 — Instalarea FFmpeg
89
90
 
90
- FFmpeg este necesar pentru fișiere video și formate audio native.
91
+ FFmpeg este necesar pentru fișiere video și formate audio non-native.
91
92
 
92
93
  Instalare via winget:
93
94
  ```
@@ -163,12 +164,13 @@ Transcrie un singur fișier. Suportă modul de blocare (implicit) sau în fundal
163
164
  |---|---|
164
165
  | `file_path` | Calea absolută către fișier (obligatoriu) |
165
166
  | `language` | Cod limbă (`ro`, `en`, `ja` etc.) sau `auto` pentru detectare automată. Implicit: `en` |
166
- | `output_format` | `text` (implicit), `timestamps`, `json` sau `srt` |
167
+ | `output_format` | `timestamps` (implicit), `text`, `json`, `srt`, `vtt`, `lrc` sau `csv` |
167
168
  | `save_to_file` | Salvează transcrierea ca .txt lângă fișierul sursă |
168
169
  | `background` | Rulează ca sarcină separată — returnează imediat ID-ul sarcinii. Folosește `check_progress` pentru monitorizare. Recomandat pentru fișiere de peste 10 minute. |
170
+ | `privacy_mode` | Suprascrie modul de confidențialitate pentru acest apel. `true` = doar metadate, niciun text de transcriere nu este transmis. `false` = returnează text chiar dacă `WHISPER_PRIVACY_MODE=true` global. Omite pentru a folosi setarea globală. |
169
171
  | `threads` | Suprascrie numărul de fire CPU |
170
- | `temperature` | Temperatura de eșantionare 0,0–1,0. Implicit 0,0 (determinist). Valori mai mari reduc halucinațiile în audio zgomotos. |
171
- | `prompt` | Șir de context anterior — îmbunătățește precizia pentru vocabular specific domeniului sau nume de vorbitori. Ex.: `"Nume: Keemstar, DramaAlert."` |
172
+ | `temperature` | Temperatura de eșantionare 0,0–1,0. Implicit 0,0 (determinist). |
173
+ | `prompt` | Șir de context anterior — îmbunătățește precizia pentru vocabular specific domeniului sau nume de vorbitori. |
172
174
  | `condition_on_prev_text` | Reactivează condiționarea contextului între segmente. Implicit false. |
173
175
  | `beam_size` | Lățimea de căutare beam. Mai mare = mai precis, mai lent. Implicit 5. |
174
176
  | `best_of` | Numărul de secvențe candidate evaluate. Implicit 5. |
@@ -181,32 +183,44 @@ Transcrie un singur fișier. Suportă modul de blocare (implicit) sau în fundal
181
183
  | `offset_t` | Decalajul de pornire în milisecunde. |
182
184
  | `duration` | Durata de procesat în milisecunde de la decalaj. |
183
185
 
186
+ **Formate de ieșire:**
187
+ - `timestamps` — segmente cu marcaje de timp, ex. `[00:00:01.230 --> 00:00:04.560] Bună ziua` (implicit)
188
+ - `text` — text simplu fără coduri de timp
189
+ - `json` — JSON structurat (doar modul de blocare)
190
+ - `srt` — fișier subtitrări SubRip salvat lângă sursă
191
+ - `vtt` — fișier subtitrări WebVTT salvat lângă sursă
192
+ - `lrc` — format LRC versuri/karaoke salvat lângă sursă
193
+ - `csv` — CSV cu marcaje de timp salvat lângă sursă
194
+
184
195
  ---
185
196
 
186
197
  ### `check_progress`
187
198
  Monitorizează o sarcină de transcriere în fundal pornită cu `transcribe_audio` (background=true).
188
199
 
189
- Returnează timpul scurs, ultimul marcaj de timp procesat, procentul și transcrierea completă la finalizare.
200
+ Returnează timpul scurs, ultimul marcaj de timp procesat și transcrierea completă la finalizare.
190
201
 
191
202
  | Parametru | Descriere |
192
203
  |---|---|
193
204
  | `job_id` | ID-ul sarcinii returnat de `transcribe_audio` |
205
+ | `privacy_mode` | Suprascrie modul de confidențialitate pentru această verificare. `true` = doar metadate, indiferent de modul în care sarcina a fost pornită. |
194
206
 
195
207
  ---
196
208
 
197
209
  ### `start_batch`
198
- Transcrie automat și secvențial toate fișierele netranscrise dintr-un folder. Sortează după durată (cele mai scurte primele), procesează câte unul ca sarcini în fundal și validează fiecare ieșire.
210
+ Transcrie automat și secvențial toate fișierele netranscrise dintr-un folder. Sortează după durată (cele mai scurte primele), procesează câte unul ca sarcini în fundal și validează fiecare ieșire. Lotul avansează automat după finalizarea fiecărui fișier — nu este necesară interogare.
199
211
 
200
212
  | Parametru | Descriere |
201
213
  |---|---|
202
214
  | `folder_path` | Calea către folder (obligatoriu) |
203
215
  | `language` | Cod limbă. Implicit: `en` |
204
216
  | `threads` | Suprascrie numărul de fire CPU |
217
+ | `output_format` | `timestamps` (implicit) sau `text` |
218
+ | `privacy_mode` | Suprascrie modul de confidențialitate. O confirmare este necesară înainte de începerea lotului; toate fișierele sunt apoi procesate nesupravegheate. Niciun text de transcriere nu este returnat. |
205
219
 
206
220
  ---
207
221
 
208
222
  ### `check_batch_progress`
209
- Monitorizează un lot în execuție. Avansează automat la fișierul următor când cel curent se termină. Returnează progresul general, fișierul curent cu marcaj de timp, ETA și fișierele cu erori.
223
+ Monitorizează un lot în execuție. Avansează automat la fișierul următor când cel curent se termină. Returnează progresul general, fișierul curent cu marcaj de timp și fișierele cu erori.
210
224
 
211
225
  | Parametru | Descriere |
212
226
  |---|---|
@@ -223,17 +237,21 @@ Procesează fișierele unul câte unul cu previzualizare și confirmare înainte
223
237
  | `file_index` | Ce fișier să proceseze (începând de la 1). Omite pentru a lista fișierele mai întâi. |
224
238
  | `language` | Cod limbă. Implicit: `en` |
225
239
  | `recursive` | Include subdirectoare |
240
+ | `output_format` | `timestamps` (implicit) sau `text` |
241
+ | `privacy_mode` | Suprascrie modul de confidențialitate. Confirmare necesară înainte de fiecare fișier; sunt returnate doar metadate. |
226
242
 
227
243
  ---
228
244
 
229
245
  ### `generate_subtitles`
230
- Generează fișiere de subtitrări SRT. Suportă detectarea automată a limbii și ieșire cu traducere în engleză.
246
+ Generează fișiere de subtitrări. Suportă detectarea automată a limbii și ieșire cu traducere în engleză. Generează SRT (compatibilitate maximă) sau WebVTT (web și video HTML5).
231
247
 
232
248
  | Parametru | Descriere |
233
249
  |---|---|
234
250
  | `file_path` | Calea către fișier (obligatoriu) |
235
251
  | `language` | Cod limbă sau `auto` pentru detectare automată. Implicit: `en` |
236
- | `translate_to_english` | Generează și `.en.srt` cu traducere în engleză. Se aplică doar când sursa nu este în engleză. |
252
+ | `output_format` | `srt` (implicit) sau `vtt` |
253
+ | `translate_to_english` | Generează și un fișier de subtitrări cu traducere în engleză. Se aplică doar când sursa nu este în engleză. |
254
+ | `background` | Rulează ca sarcină în fundal. Returnează ID sarcină pentru `check_progress`. |
237
255
  | `threads` | Suprascrie numărul de fire CPU |
238
256
 
239
257
  Când ambele sunt solicitate, două fișiere sunt salvate lângă sursă:
@@ -245,7 +263,7 @@ Când ambele sunt solicitate, două fișiere sunt salvate lângă sursă:
245
263
  ---
246
264
 
247
265
  ### `analyze_media`
248
- Analizează un fișier înainte de transcriere. Returnează durata, dimensiunea, codecul și timpul estimat de transcriere pe CPU și GPU. Pentru foldere, afișează toate fișierele într-un tabel sortabil cu starea transcrierii.
266
+ Analizează fișierele înainte de transcriere. Returnează durata, dimensiunea, codecul și timpul estimat de transcriere pe CPU și GPU. Pentru foldere, afișează toate fișierele într-un tabel sortabil cu starea transcrierii.
249
267
 
250
268
  | Parametru | Descriere |
251
269
  |---|---|
@@ -265,7 +283,7 @@ Listează toate fișierele model Whisper instalate în directorul tău de modele
265
283
  ---
266
284
 
267
285
  ### `download_model`
268
- Descarcă un model Whisper direct de la Hugging Face în directorul tău de modele. Acceptă numele modelului (ex.: `large-v3-turbo`, `medium.en-q5_0`) și gestionează automat descărcarea. Descarcă doar din spații de nume Hugging Face de încredere. După descărcare, folosește `switch_model` pentru activare.
286
+ Descarcă un model Whisper direct de la Hugging Face în directorul tău de modele. Descarcă doar din spații de nume Hugging Face de încredere. După descărcare, folosește `switch_model` pentru activare.
269
287
 
270
288
  | Parametru | Descriere |
271
289
  |---|---|
@@ -301,14 +319,16 @@ Detectează hardware-ul GPU și confirmă dacă accelerarea Vulkan este disponib
301
319
 
302
320
  Versiunea Vulkan precompilată activează automat accelerarea GPU. Testat pe AMD Radeon RX Vega 56 (GCN generația 5). Orice GPU cu suport Vulkan 1.0+ ar trebui să funcționeze, inclusiv NVIDIA și Intel Arc.
303
321
 
304
- **Comparație performanță (model medium.en, fișier audio ~5 minute):**
322
+ **Comparație performanță (model large-v3, fișier audio ~14 minute):**
305
323
 
306
324
  | Hardware | Timp |
307
325
  |---|---|
308
- | Numai CPU (Ryzen 7 2700x, 8 fire) | 8–12 minute |
309
- | GPU (Vega 56 prin Vulkan) | 20–40 secunde |
326
+ | Numai CPU (Ryzen 7 2700x, 8 fire) | ~22 minute (estimat) |
327
+ | GPU (Vega 56 prin Vulkan) | ~3min 22s |
328
+
329
+ Utilizarea GPU în timpul transcrierii este de obicei 15–20%, revenind la inactiv între fișiere.
310
330
 
311
- Utilizarea GPU în timpul transcrierii este de obicei 15–20%, revenind la inactiv între fișiere. CPU-ul se menține la aproximativ 15%.
331
+ Suportă Windows 10 și Windows 11.
312
332
 
313
333
  ---
314
334
 
@@ -320,9 +340,25 @@ Pentru cea mai bună precizie multilingvă, folosește modelul `large-v3`. Model
320
340
 
321
341
  **Exemplu — video în limbă străină cu subtitrări:**
322
342
  1. Cere lui Claude să genereze subtitrări cu `language=auto` și `translate_to_english=true`
323
- 2. Whisper detectează limba și generează SRT în limba originală
324
- 3. O a doua trecere generează SRT cu traducere în engleză
325
- 4. Încarcă oricare fișier în VLC prin Subtitrări → Adaugă fișier de subtitrări
343
+ 2. Whisper detectează limba și generează SRT sau VTT în limba originală
344
+ 3. O a doua trecere generează traducerea în engleză
345
+ 4. Încarcă SRT în VLC prin Subtitrări → Adaugă fișier de subtitrări, sau folosește VTT în orice player web
346
+
347
+ ---
348
+
349
+ ## Confidențialitate și conformitate
350
+
351
+ whisper-windows-mcp include o arhitectură de confidențialitate integrată pentru conținut sensibil și reglementat.
352
+
353
+ **Audio și video nu părăsesc niciodată calculatorul tău.** Această garanție este necondiționată.
354
+
355
+ **Textul de transcriere** este altceva — când este returnat inline într-un răspuns al instrumentului, este procesat de API-ul Claude. Pentru majoritatea utilizatorilor acesta este comportamentul așteptat. Pentru conținut reglementat (medical, juridic, financiar, corporativ) modul de confidențialitate previne aceasta.
356
+
357
+ **Modul de confidențialitate** restricționează toate răspunsurile instrumentelor doar la metadate (numele fișierului, numărul de cuvinte, calea de salvare). Niciun text de transcriere nu este transmis la API-ul Claude în nicio circumstanță. Activează per apel prin `privacy_mode=true` în orice instrument de transcriere, sau global prin `WHISPER_PRIVACY_MODE=true` în configurație.
358
+
359
+ **Poarta de consimțământ** — la prima utilizare per sesiune în modul standard, înainte de returnarea oricărui text de transcriere este afișată o dezvăluire completă de confidențialitate. Trebuie să confirmi explicit înainte de a continua. Setează `WHISPER_CONSENT_ACKNOWLEDGED=true` în configurație pentru a sări aceasta pentru conținut non-sensibil.
360
+
361
+ Vezi [PRIVACY.md](PRIVACY.md) pentru ghidul complet de conformitate (HIPAA, GDPR, privilegiu avocat-client, FERPA, SOX, PCI-DSS).
326
362
 
327
363
  ---
328
364
 
@@ -340,43 +376,44 @@ Acest instrument a fost creat pentru a minimiza interacțiunile cu API-ul Claude
340
376
  | `WHISPER_MODEL` | Calea către fișierul model .bin (obligatoriu) |
341
377
  | `WHISPER_THREADS` | Suprascrie numărul de fire CPU |
342
378
  | `FFMPEG_PATH` | Calea către ffmpeg dacă nu este în PATH-ul sistemului |
343
- | `WHISPER_PRIVACY_MODE` | **Planificat.** Când este setat la `true`, răspunsurile instrumentelor returnează doar metadate — niciun text de transcriere nu este returnat lui Claude. Pentru conținut reglementat sau confidențial. Vezi [PRIVACY.md](PRIVACY.md). |
379
+ | `WHISPER_PRIVACY_MODE` | Când `true`, răspunsurile instrumentelor returnează doar metadate — niciun text de transcriere nu este transmis lui Claude. Pentru conținut reglementat sau confidențial. Poate fi suprascris per apel prin parametrul `privacy_mode`. Vezi [PRIVACY.md](PRIVACY.md). |
380
+ | `WHISPER_CONSENT_ACKNOWLEDGED` | Când `true`, suprimă dezvăluirea de consimțământ unică per sesiune înainte de returnarea textului de transcriere. Setează după ce ai revizuit limitele de confidențialitate când memento-ul nu mai este necesar. Nu are efect când modul de confidențialitate este activ. |
344
381
 
345
382
  ---
346
383
 
347
- ## Depanare
384
+ ## Securitate
348
385
 
349
- Vezi [TROUBLESHOOTING.md](TROUBLESHOOTING.md) pentru soluții detaliate. Vezi [PRIVACY.md](PRIVACY.md) dacă gestionezi conținut reglementat.
386
+ **Verificarea binarului.** Pentru a verifica integritatea binarului whisper-cli.exe din versiunea precompilată, verifică hash-ul său SHA256 în PowerShell:
350
387
 
351
- Listă de verificare rapidă:
352
- - Căile din configurație folosesc **bare oblice inverse duble** (`C:\\whisper\\...`)
353
- - `whisper-cli.exe` există la calea configurată
354
- - Fișierul model `.bin` există la calea configurată
355
- - FFmpeg instalat și în PATH (`ffmpeg -version` funcționează)
356
- - Claude Desktop a fost **repornit complet** după editarea configurației
357
- - Whisper apare ca **în execuție** (insignă verde) în Setări → Dezvoltator
358
-
359
- ---
388
+ ```powershell
389
+ Get-FileHash "C:\whisper\Release\whisper-cli.exe" -Algorithm SHA256
390
+ ```
360
391
 
361
- ## Securitate și confidențialitate
392
+ Hash-ul așteptat pentru binarul de versiune este documentat pe [pagina de versiuni](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0).
362
393
 
363
- whisper-windows-mcp a fost proiectat cu securitatea ca principiu central.
394
+ **Validarea intrărilor.** Toate căile de fișiere sunt validate înainte de utilizare — căile UNC (`\\server\share`) și secvențele de traversare a directoarelor (`..`) sunt respinse. Fișierele peste 10 GB sunt respinse pentru a preveni epuizarea resurselor.
364
395
 
365
- **Audio-ul nu părăsește niciodată calculatorul tău.** Niciun fișier audio sau video, cale de fișier sau telemetrie nu este transmis vreunui server. Niciun API cloud nu este necesar pentru funcționalitatea de bază.
396
+ **Conștientizarea injecției de transcriere.** Fișierele audio pot conține conținut vorbit care, atunci când este transcris, seamănă cu instrucțiuni. Apărările încorporate ale Claude gestionează acest lucru, dar serverul MCP în sine tratează conținutul de transcriere ca date — niciodată ca instrucțiuni.
366
397
 
367
- **Textul de transcriere și limita API.** Când un răspuns al instrumentului include text de transcriere, acel text este procesat de API-ul Claude — părăsește calculatorul tău local. Pentru majoritatea utilizatorilor (conținut public, podcasturi, înregistrări streaming) acesta este un comportament așteptat. Dacă gestionezi înregistrări medicale, juridice, financiare sau alte înregistrări reglementate, vezi [PRIVACY.md](PRIVACY.md) pentru îndrumări privind conformitatea și opțiuni de configurare.
398
+ **Descărcările de modele sunt restricționate.** Instrumentul `download_model` descarcă doar din două spații de nume Hugging Face de încredere (`ggerganov/whisper.cpp` și `ggml-org`). URL-urile arbitrare sunt respinse. Redirecționările sunt validate față de o listă de permise înainte de a fi urmate.
368
399
 
369
- Variabila de mediu `WHISPER_PRIVACY_MODE` este planificată și va limita toate răspunsurile instrumentelor doar la metadate (numele fișierului, durata, numărul de cuvinte) — niciun text de transcriere nu va fi returnat lui Claude. Aceasta este configurația corectă pentru conținut reglementat sau confidențial.
400
+ **Schimbarea modelelor este sandboxată.** `switch_model` acceptă doar fișiere `.bin` în directorul de modele configurat. Căile din afara acelui director sunt respinse.
370
401
 
371
- **Validarea intrărilor.** Toate căile de fișiere sunt validate înainte de utilizare — căile UNC (`\\server\share`) și secvențele de traversare a directoarelor (`..`) sunt respinse. Fișierele peste 10 GB sunt respinse pentru a preveni epuizarea resurselor.
402
+ Vezi [SECURITY.md](SECURITY.md) pentru politica completă de securitate.
372
403
 
373
- **Conștientizarea injecției de transcriere.** Fișierele audio pot conține conținut vorbit care, atunci când este transcris, seamănă cu instrucțiuni. Apărările încorporate ale Claude gestionează acest lucru, dar merită să știi că serverul MCP în sine tratează conținutul de transcriere ca date — niciodată ca instrucțiuni.
404
+ ---
374
405
 
375
- **Descărcările de modele sunt restricționate.** Instrumentul `download_model` descarcă doar din două spații de nume Hugging Face de încredere (`ggerganov/whisper.cpp` și `ggml-org`). URL-urile arbitrare sunt respinse. Redirecționările sunt validate față de o listă de permise înainte de a fi urmate.
406
+ ## Depanare
376
407
 
377
- **Schimbarea modelelor este sandboxată.** `switch_model` acceptă doar fișiere `.bin` în directorul de modele configurat. Căile din afara acelui director sunt respinse.
408
+ Vezi [TROUBLESHOOTING.md](TROUBLESHOOTING.md) pentru soluții detaliate. Vezi [PRIVACY.md](PRIVACY.md) dacă gestionezi conținut reglementat.
378
409
 
379
- **Fără dependențe noi de rețea.** Descărcările de modele folosesc `https`-ul integrat al Node.js — nicio bibliotecă HTTP externă nu este adăugată la pachet.
410
+ Listă de verificare rapidă:
411
+ - Căile din configurație folosesc **bare oblice inverse duble** (`C:\\whisper\\...`)
412
+ - `whisper-cli.exe` există la calea configurată
413
+ - Fișierul model `.bin` există la calea configurată
414
+ - FFmpeg instalat și în PATH (`ffmpeg -version` funcționează)
415
+ - Claude Desktop a fost **repornit complet** după editarea configurației
416
+ - Whisper apare ca **în execuție** (insignă verde) în Setări → Dezvoltator
380
417
 
381
418
  ---
382
419
 
@@ -384,7 +421,7 @@ Variabila de mediu `WHISPER_PRIVACY_MODE` este planificată și va limita toate
384
421
 
385
422
  **Utilizare non-comercială:** MIT — gratuit pentru uz personal, educațional și non-comercial. Vezi [LICENSE](LICENSE).
386
423
 
387
- **Utilizare comercială:** Este necesar un acord de licență comercială separat pentru orice utilizare în afaceri, profesională sau generatoare de venituri. Vezi [LICENSE-COMMERCIAL.md](LICENSE-COMMERCIAL.md) pentru termeni și informații de contact.
424
+ **Utilizare comercială:** Este necesar un acord de licență comercială separat pentru orice utilizare în afaceri, profesională sau generatoare de venituri. Vezi [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md) pentru termeni și informații de contact.
388
425
 
389
426
  ## Contribuții
390
427
 
package/README.uk.md CHANGED
@@ -17,6 +17,7 @@
17
17
  - *"Почни пакетне транскрибування всіх файлів у цій теці"*
18
18
  - *"Скільки часу займе транскрибування цих файлів?"*
19
19
  - *"Перевір, чи працює прискорення GPU"*
20
+ - *"Транскрибуй цей файл у режимі конфіденційності"*
20
21
 
21
22
  ---
22
23
 
@@ -163,16 +164,17 @@ npm install -g whisper-windows-mcp
163
164
  |---|---|
164
165
  | `file_path` | Абсолютний шлях до файлу (обов'язково) |
165
166
  | `language` | Код мови (`uk`, `en`, `ja` тощо) або `auto` для автовизначення. Типово: `en` |
166
- | `output_format` | `text` (типово), `timestamps`, `json` або `srt` |
167
+ | `output_format` | `timestamps` (типово), `text`, `json`, `srt`, `vtt`, `lrc` або `csv` |
167
168
  | `save_to_file` | Зберегти транскрипцію як .txt поруч із вихідним файлом |
168
169
  | `background` | Запустити як окреме завдання — одразу повертає ID завдання. Використовуйте `check_progress` для стеження. Рекомендовано для файлів понад 10 хвилин. |
170
+ | `privacy_mode` | Перевизначити режим конфіденційності для цього виклику. `true` = лише метадані, жоден текст транскрипції не передається. `false` = повертати текст навіть якщо `WHISPER_PRIVACY_MODE=true` глобально. Пропустіть для використання глобального налаштування. |
169
171
  | `threads` | Перевизначити кількість потоків CPU |
170
- | `temperature` | Температура вибірки 0.0–1.0. Типово 0.0 (детерміновано). Вищі значення зменшують галюцинації на шумному аудіо. |
172
+ | `temperature` | Температура вибірки 0.0–1.0. Типово 0.0 (детерміновано). |
171
173
  | `prompt` | Рядок попереднього контексту — підвищує точність для галузевої лексики або імен доповідачів. Приклад: `"Імена: Keemstar, DramaAlert."` |
172
174
  | `condition_on_prev_text` | Повторно увімкнути контекстне обумовлення між сегментами. Типово false. |
173
175
  | `beam_size` | Ширина пошуку за промінем. Вище = точніше, повільніше. Типово 5. |
174
176
  | `best_of` | Кількість оцінюваних послідовностей-кандидатів. Типово 5. |
175
- | `gpu_device` | Індекс пристрою GPU для багатогеркових систем. Типово 0. |
177
+ | `gpu_device` | Індекс пристрою GPU для багатогрупових систем. Типово 0. |
176
178
  | `processors` | Кількість паралельних процесорів. Типово 1. |
177
179
  | `word_timestamps` | Один рядок на слово з мітками часу. Корисно для вирівнювання кліпів. |
178
180
  | `max_segment_length` | Максимальна довжина сегмента в символах. |
@@ -181,32 +183,44 @@ npm install -g whisper-windows-mcp
181
183
  | `offset_t` | Зміщення початку в мілісекундах. |
182
184
  | `duration` | Тривалість опрацювання в мілісекундах від зміщення. |
183
185
 
186
+ **Формати виводу:**
187
+ - `timestamps` — сегменти з мітками часу, наприклад `[00:00:01.230 --> 00:00:04.560] Привіт` (типово)
188
+ - `text` — простий текст без часових кодів
189
+ - `json` — структурований JSON (лише блокувальний режим)
190
+ - `srt` — файл субтитрів SubRip, збережений поруч із джерелом
191
+ - `vtt` — файл субтитрів WebVTT, збережений поруч із джерелом
192
+ - `lrc` — формат LRC текстів/караоке, збережений поруч із джерелом
193
+ - `csv` — CSV з мітками часу, збережений поруч із джерелом
194
+
184
195
  ---
185
196
 
186
197
  ### `check_progress`
187
198
  Стежить за фоновим завданням транскрипції, запущеним через `transcribe_audio` (background=true).
188
199
 
189
- Повертає минулий час, останню опрацьовану мітку часу, відсоток і повну транскрипцію після завершення.
200
+ Повертає минулий час, останню опрацьовану мітку часу і повну транскрипцію після завершення.
190
201
 
191
202
  | Параметр | Опис |
192
203
  |---|---|
193
204
  | `job_id` | ID завдання, повернений `transcribe_audio` |
205
+ | `privacy_mode` | Перевизначити режим конфіденційності для цієї перевірки. `true` = лише метадані, незалежно від способу запуску завдання. |
194
206
 
195
207
  ---
196
208
 
197
209
  ### `start_batch`
198
- Автоматично і послідовно транскрибує всі ще не транскрибовані файли в теці. Сортує за тривалістю (від найкоротших), опрацьовує по одному як фонові завдання, перевіряє кожен результат.
210
+ Автоматично і послідовно транскрибує всі ще не транскрибовані файли в теці. Сортує за тривалістю (від найкоротших), опрацьовує по одному як фонові завдання, перевіряє кожен результат. Пакет самостійно просувається після завершення кожного файлу — опитування не потрібно.
199
211
 
200
212
  | Параметр | Опис |
201
213
  |---|---|
202
214
  | `folder_path` | Шлях до теки (обов'язково) |
203
215
  | `language` | Код мови. Типово: `en` |
204
216
  | `threads` | Перевизначити кількість потоків CPU |
217
+ | `output_format` | `timestamps` (типово) або `text` |
218
+ | `privacy_mode` | Перевизначити режим конфіденційності. Перед початком пакету потрібне одне підтвердження; далі всі файли опрацьовуються без нагляду. Текст транскрипції не повертається. |
205
219
 
206
220
  ---
207
221
 
208
222
  ### `check_batch_progress`
209
- Стежить за запущеним пакетом. Автоматично переходить до наступного файлу після завершення поточного. Повертає загальний прогрес, поточний файл з міткою часу, очікуваний час завершення і файли з помилками.
223
+ Стежить за запущеним пакетом. Автоматично переходить до наступного файлу після завершення поточного. Повертає загальний прогрес, поточний файл з міткою часу і файли з помилками.
210
224
 
211
225
  | Параметр | Опис |
212
226
  |---|---|
@@ -223,17 +237,21 @@ npm install -g whisper-windows-mcp
223
237
  | `file_index` | Який файл опрацювати (нумерація з 1). Пропустіть, щоб спочатку показати список файлів. |
224
238
  | `language` | Код мови. Типово: `en` |
225
239
  | `recursive` | Включити підтеки |
240
+ | `output_format` | `timestamps` (типово) або `text` |
241
+ | `privacy_mode` | Перевизначити режим конфіденційності. Підтвердження потрібне перед кожним файлом; повертаються лише метадані. |
226
242
 
227
243
  ---
228
244
 
229
245
  ### `generate_subtitles`
230
- Створює файли субтитрів SRT. Підтримує автовизначення мови та вивід перекладу англійською.
246
+ Створює файли субтитрів. Підтримує автовизначення мови та вивід перекладу англійською. Виводить SRT (найширша сумісність) або WebVTT (веб і HTML5 відео).
231
247
 
232
248
  | Параметр | Опис |
233
249
  |---|---|
234
250
  | `file_path` | Шлях до файлу (обов'язково) |
235
251
  | `language` | Код мови або `auto` для автовизначення. Типово: `en` |
236
- | `translate_to_english` | Також створити `.en.srt` з перекладом англійською. Застосовується лише якщо джерело — не англійська. |
252
+ | `output_format` | `srt` (типово) або `vtt` |
253
+ | `translate_to_english` | Також створити файл субтитрів з перекладом англійською. Застосовується лише якщо джерело — не англійська. |
254
+ | `background` | Запустити як фонове завдання. Повертає ID завдання для `check_progress`. |
237
255
  | `threads` | Перевизначити кількість потоків CPU |
238
256
 
239
257
  Коли запитуються обидва варіанти, поруч із джерелом зберігаються два файли:
@@ -245,7 +263,7 @@ npm install -g whisper-windows-mcp
245
263
  ---
246
264
 
247
265
  ### `analyze_media`
248
- Аналізує файл перед транскрипцією. Повертає тривалість, розмір, кодек і орієнтовний час транскрипції на CPU та GPU. Для теки показує всі файли у таблиці з можливістю сортування й статусом транскрипції.
266
+ Аналізує файли перед транскрипцією. Повертає тривалість, розмір, кодек і орієнтовний час транскрипції на CPU та GPU. Для теки показує всі файли у таблиці з можливістю сортування й статусом транскрипції.
249
267
 
250
268
  | Параметр | Опис |
251
269
  |---|---|
@@ -265,7 +283,7 @@ npm install -g whisper-windows-mcp
265
283
  ---
266
284
 
267
285
  ### `download_model`
268
- Завантажує модель Whisper безпосередньо з Hugging Face до вашої теки моделей. Приймає назву моделі (наприклад `large-v3-turbo`, `medium.en-q5_0`) і автоматично виконує завантаження. Завантажує лише з довірених просторів імен Hugging Face. Після завантаження активуйте через `switch_model`.
286
+ Завантажує модель Whisper безпосередньо з Hugging Face до вашої теки моделей. Завантажує лише з довірених просторів імен Hugging Face. Після завантаження активуйте через `switch_model`.
269
287
 
270
288
  | Параметр | Опис |
271
289
  |---|---|
@@ -301,14 +319,16 @@ npm install -g whisper-windows-mcp
301
319
 
302
320
  Готовий Vulkan-реліз автоматично вмикає прискорення GPU. Протестовано на AMD Radeon RX Vega 56 (GCN 5-го покоління). Будь-який GPU з підтримкою Vulkan 1.0+ має працювати, включно з NVIDIA та Intel Arc.
303
321
 
304
- **Порівняння продуктивності (модель medium.en, аудіофайл ~5 хвилин):**
322
+ **Порівняння продуктивності (модель large-v3, аудіофайл ~14 хвилин):**
305
323
 
306
324
  | Обладнання | Час |
307
325
  |---|---|
308
- | Лише CPU (Ryzen 7 2700x, 8 потоків) | 8–12 хвилин |
309
- | GPU (Vega 56 через Vulkan) | 20–40 секунд |
326
+ | Лише CPU (Ryzen 7 2700x, 8 потоків) | ~22 хвилини (орієнтовно) |
327
+ | GPU (Vega 56 через Vulkan) | ~3хв 22с |
328
+
329
+ Навантаження GPU під час транскрипції зазвичай становить 15–20% і повертається до простою між файлами.
310
330
 
311
- Навантаження GPU під час транскрипції зазвичай становить 15–20% і повертається до простою між файлами. CPU зберігається близько 15%.
331
+ Підтримує Windows 10 і Windows 11.
312
332
 
313
333
  ---
314
334
 
@@ -320,9 +340,25 @@ Whisper може автоматично визначати мову мовлен
320
340
 
321
341
  **Приклад — іноземне відео із субтитрами:**
322
342
  1. Попросіть Claude створити субтитри з `language=auto` і `translate_to_english=true`
323
- 2. Whisper визначає мову і створює SRT рідною мовою
324
- 3. Другий прохід створює SRT з перекладом англійською
325
- 4. Завантажте будь-який файл у VLC через Субтитри → Додати файл субтитрів
343
+ 2. Whisper визначає мову і створює SRT або VTT рідною мовою
344
+ 3. Другий прохід створює переклад англійською
345
+ 4. Завантажте SRT у VLC через Субтитри → Додати файл субтитрів, або використовуйте VTT у будь-якому веб-плеєрі
346
+
347
+ ---
348
+
349
+ ## Конфіденційність і відповідність
350
+
351
+ whisper-windows-mcp містить вбудовану архітектуру конфіденційності для чутливого і регульованого контенту.
352
+
353
+ **Аудіо і відео ніколи не покидають ваш комп'ютер.** Ця гарантія є безумовною.
354
+
355
+ **Текст транскрипції** — інша справа: коли він повертається у відповіді інструменту, він опрацьовується API Claude. Для більшості користувачів це очікувана поведінка. Для регульованого контенту (медичного, юридичного, фінансового, корпоративного) режим конфіденційності запобігає цьому.
356
+
357
+ **Режим конфіденційності** обмежує всі відповіді інструментів лише метаданими (ім'я файлу, кількість слів, шлях збереження). Жоден текст транскрипції не передається API Claude за жодних обставин. Увімкніть для окремого виклику через `privacy_mode=true` у будь-якому інструменті транскрипції або глобально через `WHISPER_PRIVACY_MODE=true` у конфігурації.
358
+
359
+ **Ворота згоди** — при першому використанні за сеанс у стандартному режимі перед поверненням будь-якого тексту транскрипції відображається повне розкриття конфіденційності. Ви маєте явно підтвердити перед продовженням. Встановіть `WHISPER_CONSENT_ACKNOWLEDGED=true` у конфігурації, щоб пропустити це для нечутливого контенту.
360
+
361
+ Дивіться [PRIVACY.md](PRIVACY.md) для повного керівництва з відповідності (HIPAA, GDPR, адвокатська таємниця, FERPA, SOX, PCI-DSS).
326
362
 
327
363
  ---
328
364
 
@@ -340,43 +376,44 @@ Whisper може автоматично визначати мову мовлен
340
376
  | `WHISPER_MODEL` | Шлях до файлу моделі .bin (обов'язково) |
341
377
  | `WHISPER_THREADS` | Перевизначити кількість потоків CPU |
342
378
  | `FFMPEG_PATH` | Шлях до ffmpeg, якщо його немає в системному PATH |
343
- | `WHISPER_PRIVACY_MODE` | **Планується.** При значенні `true` відповіді інструментів повертають лише метадані — жодний текст транскрипції не передається Claude. Для регульованого або конфіденційного контенту. Дивіться [PRIVACY.md](PRIVACY.md). |
379
+ | `WHISPER_PRIVACY_MODE` | При значенні `true` всі відповіді інструментів повертають лише метадані — жоден текст транскрипції не передається Claude. Для регульованого або конфіденційного контенту. Може бути перевизначено для окремого виклику через параметр `privacy_mode`. Дивіться [PRIVACY.md](PRIVACY.md). |
380
+ | `WHISPER_CONSENT_ACKNOWLEDGED` | При значенні `true` пропускає одноразове розкриття згоди сеансу перед поверненням тексту транскрипції. Встановіть після ознайомлення з межами конфіденційності, коли нагадування більше не потрібне. Не має ефекту, коли режим конфіденційності активний. |
344
381
 
345
382
  ---
346
383
 
347
- ## Усунення несправностей
384
+ ## Безпека
348
385
 
349
- Детальні рішення — у [TROUBLESHOOTING.md](TROUBLESHOOTING.md). Якщо ви працюєте з регульованим контентом, дивіться також [PRIVACY.md](PRIVACY.md).
386
+ **Перевірка бінарника.** Щоб перевірити цілісність бінарника whisper-cli.exe у готовому релізі, перевірте його хеш SHA256 у PowerShell:
350
387
 
351
- Швидкий контрольний список:
352
- - Шляхи в конфігурації використовують **подвійний зворотній слеш** (`C:\\whisper\\...`)
353
- - `whisper-cli.exe` існує за налаштованим шляхом
354
- - Файл моделі `.bin` існує за налаштованим шляхом
355
- - FFmpeg встановлено і доступно в PATH (`ffmpeg -version` працює)
356
- - Claude Desktop **повністю перезапущено** після редагування конфігурації
357
- - Whisper відображається як **запущено** (зелений значок) у Налаштуваннях → Розробник
358
-
359
- ---
388
+ ```powershell
389
+ Get-FileHash "C:\whisper\Release\whisper-cli.exe" -Algorithm SHA256
390
+ ```
360
391
 
361
- ## Безпека та конфіденційність
392
+ Очікуваний хеш для релізного бінарника задокументовано на [сторінці релізів](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0).
362
393
 
363
- whisper-windows-mcp розроблено з безпекою як основним принципом.
394
+ **Перевірка вхідних даних.** Усі шляхи до файлів перевіряються перед використанням — UNC-шляхи (`\\server\share`) і послідовності обходу теки (`..`) відхиляються. Файли понад 10 ГБ відхиляються для запобігання вичерпанню ресурсів.
364
395
 
365
- **Аудіо ніколи не покидає ваш комп'ютер.** Жодні аудіо- чи відеофайли, шляхи до файлів або телеметрія не передаються на жодний сервер. Для основних функцій хмарні API не потрібні.
396
+ **Усвідомлення ін'єкції транскрипції.** Аудіофайли можуть містити вимовлений контент, який після транскрипції нагадує інструкції. Вбудований захист Claude впорається з цим, але варто знати, що сам MCP-сервер обробляє вміст транскрипції як дані — ніколи як інструкції.
366
397
 
367
- **Текст транскрипції та межа API.** Коли відповідь інструменту містить текст транскрипції, цей текст опрацьовується API Claude — він покидає ваш локальний комп'ютер. Для більшості користувачів (публічний контент, подкасти, записи стрімів) це очікувана поведінка. Якщо ви працюєте з медичними, юридичними, фінансовими чи іншими регульованими записами, дивіться [PRIVACY.md](PRIVACY.md) для отримання рекомендацій щодо відповідності та параметрів налаштування.
398
+ **Завантаження моделей обмежено.** Інструмент `download_model` завантажує лише з двох довірених просторів імен Hugging Face (`ggerganov/whisper.cpp` і `ggml-org`). Довільні URL-адреси відхиляються. Переспрямування перевіряються за списком дозволених перед виконанням.
368
399
 
369
- Планується змінна середовища `WHISPER_PRIVACY_MODE`, яка обмежить усі відповіді інструментів лише метаданими (ім'я файлу, тривалість, кількість слів) — жодний текст транскрипції не повертатиметься Claude. Це правильне налаштування для регульованого або конфіденційного контенту.
400
+ **Перемикання моделей у пісочниці.** `switch_model` приймає лише `.bin`-файли з налаштованої теки моделей. Шляхи за межами цієї теки відхиляються.
370
401
 
371
- **Перевірка вхідних даних.** Усі шляхи до файлів перевіряються перед використанням — UNC-шляхи (`\\server\share`) та послідовності обходу теки (`..`) відхиляються. Файли понад 10 ГБ відхиляються для запобігання вичерпанню ресурсів.
402
+ Дивіться [SECURITY.md](SECURITY.md) для повної політики безпеки.
372
403
 
373
- **Усвідомлення ін'єкції транскрипції.** Аудіофайли можуть містити вимовлений контент, який після транскрипції нагадує інструкції. Вбудований захист Claude впорається з цим, але варто знати, що сам MCP-сервер обробляє вміст транскрипції як дані — ніколи як інструкції.
404
+ ---
374
405
 
375
- **Завантаження моделей обмежено.** Інструмент `download_model` завантажує лише з двох довірених просторів імен Hugging Face (`ggerganov/whisper.cpp` і `ggml-org`). Довільні URL-адреси відхиляються. Переспрямування перевіряються за списком дозволених перед виконанням.
406
+ ## Усунення несправностей
376
407
 
377
- **Перемикання моделей у пісочниці.** `switch_model` приймає лише `.bin`-файли з налаштованої теки моделей. Шляхи за межами цієї теки відхиляються.
408
+ Детальні рішення — у [TROUBLESHOOTING.md](TROUBLESHOOTING.md). Якщо ви працюєте з регульованим контентом, дивіться також [PRIVACY.md](PRIVACY.md).
378
409
 
379
- **Жодних нових мережевих залежностей.** Завантаження моделей використовує вбудований `https` Node.js — жодні зовнішні HTTP-бібліотеки не додаються до пакету.
410
+ Швидкий контрольний список:
411
+ - Шляхи в конфігурації використовують **подвійний зворотній слеш** (`C:\\whisper\\...`)
412
+ - `whisper-cli.exe` існує за налаштованим шляхом
413
+ - Файл моделі `.bin` існує за налаштованим шляхом
414
+ - FFmpeg встановлено і доступно в PATH (`ffmpeg -version` працює)
415
+ - Claude Desktop **повністю перезапущено** після редагування конфігурації
416
+ - Whisper відображається як **запущено** (зелений значок) у Налаштуваннях → Розробник
380
417
 
381
418
  ---
382
419
 
@@ -384,7 +421,7 @@ whisper-windows-mcp розроблено з безпекою як основни
384
421
 
385
422
  **Некомерційне використання:** MIT — безкоштовно для особистого, освітнього та некомерційного використання. Дивіться [LICENSE](LICENSE).
386
423
 
387
- **Комерційне використання:** Для будь-якого бізнес-, професійного або комерційного використання необхідна окрема комерційна ліцензійна угода. Умови та контактна інформація — у [LICENSE-COMMERCIAL.md](LICENSE-COMMERCIAL.md).
424
+ **Комерційне використання:** Для будь-якого бізнес-, професійного або комерційного використання необхідна окрема комерційна ліцензійна угода. Дивіться [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md) для умов та контактної інформації.
388
425
 
389
426
  ## Внески
390
427