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/LICENSE +20 -1
- package/LICENSE-COMMERCIAL.md +58 -0
- package/PRIVACY.pl.md +135 -0
- package/PRIVACY.ro.md +135 -0
- package/README.es.md +393 -393
- package/README.id.md +393 -393
- package/README.ja.md +402 -402
- package/README.ko.md +393 -393
- package/README.md +393 -393
- package/README.pl.md +393 -0
- package/README.pt-BR.md +393 -393
- package/README.ro.md +393 -0
- package/README.uk.md +393 -393
- package/README.vi.md +393 -393
- package/ROADMAP.es.md +200 -192
- package/ROADMAP.id.md +289 -290
- package/ROADMAP.ja.md +301 -302
- package/ROADMAP.ko.md +286 -287
- package/ROADMAP.pl.md +198 -0
- package/ROADMAP.pt-BR.md +286 -287
- package/ROADMAP.ro.md +200 -0
- package/ROADMAP.uk.md +290 -291
- package/ROADMAP.vi.md +286 -287
- package/SECURITY.pl.md +47 -0
- package/SECURITY.ro.md +47 -0
- package/TROUBLESHOOTING.pl.md +323 -0
- package/TROUBLESHOOTING.ro.md +323 -0
- package/package.json +2 -2
- package/patch_roadmaps.py +72 -0
package/ROADMAP.ro.md
ADDED
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
# whisper-windows-mcp — Foaie de parcurs
|
|
2
|
+
|
|
3
|
+
Versiunea curentă: **v2.2.0**
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Principii de proiectare
|
|
8
|
+
|
|
9
|
+
Aceste principii guvernează fiecare decizie din acest proiect și au prioritate față de viteza de adăugare a funcțiilor.
|
|
10
|
+
|
|
11
|
+
**Minimizarea utilizării API-ului Claude.** Întregul flux de lucru de transcriere — scanare, analiză, coadă, execuție, validare, schimbare modele — trebuie să poată fi executat cu cât mai puține interacțiuni Claude posibil. Acest instrument trebuie să funcționeze complet pentru utilizatorii Claude cu plan gratuit care nu plătesc pentru abonamente Pro sau Max. Fiecare apel de instrument consumă buget de utilizare. Proiectează în consecință.
|
|
12
|
+
|
|
13
|
+
**Întotdeauna o singură instanță whisper.** Nu crea niciodată un al doilea proces whisper-cli.exe când unul rulează deja. Blocarea proceselor este obligatorie și nu poate fi negociată.
|
|
14
|
+
|
|
15
|
+
**Local prioritar, privat implicit.** Audio-ul nu părăsește niciodată calculatorul. Niciun API cloud nu este necesar pentru funcționalitatea de bază. Integrările opționale (ex.: descărcări de modele de la Hugging Face) trebuie documentate clar ca opționale.
|
|
16
|
+
|
|
17
|
+
**Control explicit al utilizatorului.** Fără operațiuni în masă silențioase. Acțiunile distructive sau ireversibile necesită confirmare. Utilizatorul trebuie să știe întotdeauna ce se va întâmpla înainte să se întâmple.
|
|
18
|
+
|
|
19
|
+
**Căi sigure pentru Unicode.** Toată I/O de fișiere trebuie să gestioneze corect numele de fișiere non-ASCII, inclusiv română, japoneză, chineză, emoji, paranteze și alte caractere speciale.
|
|
20
|
+
|
|
21
|
+
**Modular și combinabil.** Instrumentele sunt independente. Utilizatorii folosesc ce au nevoie. Nicio funcție nu ar trebui să necesite alta, cu excepția cazurilor inevitabile.
|
|
22
|
+
|
|
23
|
+
**Optimizare înainte de funcții.** Când ai îndoieli între adăugarea unei funcții și reducerea sarcinii sistemului sau a numărului de apeluri API — reduce sarcina. Sesiunile mari de optimizare sunt costisitoare. Proiectează arhitectura corect de la început.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Finalizat
|
|
28
|
+
|
|
29
|
+
### ✅ v1.3.1 — Blocare procese
|
|
30
|
+
Adăugat verificarea `isWhisperRunning()` folosind `tasklist /FI` înainte de a crea orice proces de transcriere. Returnează o eroare clară cu instrucțiuni Task Manager în loc să creeze un proces concurent.
|
|
31
|
+
|
|
32
|
+
### ✅ v1.4.0 — Accelerare GPU Vulkan
|
|
33
|
+
Compilat whisper.cpp din sursă cu `-DGGML_VULKAN=ON` folosind VS Build Tools 2022 și Vulkan SDK. Binarele Vulkan precompilate distribuite ca `whisper-vulkan-win-x64.zip`.
|
|
34
|
+
|
|
35
|
+
**Rezultate pe AMD Radeon RX Vega 56:** Utilizare medie GPU ~16%. Fișier de 58 minute finalizat în ~4,5 minute pe GPU față de ~88 minute numai CPU.
|
|
36
|
+
|
|
37
|
+
### ✅ v1.5.0 — Diagnosticare sistem
|
|
38
|
+
Instrument `check_system`: detectare GPU prin `wmic`, verificare DLL Vulkan, raportare VRAM, recomandare dimensiune model.
|
|
39
|
+
|
|
40
|
+
### ✅ v1.6.0 — Pre-analiză fișier
|
|
41
|
+
Instrument `analyze_media` prin FFprobe: durată, dimensiune, codec, stare transcriere, estimări timp CPU și GPU. Scanare fișier unic sau folder cu opțiuni de sortare.
|
|
42
|
+
|
|
43
|
+
### ✅ v1.7.0 — Transcriere în fundal + Vizibilitate progres
|
|
44
|
+
Arhitectură proces detașat: `transcribe_audio` cu `background=true` pornește whisper ca proces detașat și returnează imediat ID-ul sarcinii. `check_progress` parsează marcajele de timp ale segmentelor stderr whisper pentru procent și ETA în timp real.
|
|
45
|
+
|
|
46
|
+
### ✅ v1.8.0 — Lot secvențial cu validare
|
|
47
|
+
`start_batch` și `check_batch_progress`: procesare secvențială automată, validare transcriere (detectare ieșire goală/scurtă), avansare automată coadă, marcaje de timp progres per fișier.
|
|
48
|
+
|
|
49
|
+
### ✅ v1.9.0 — Suport multilingv și traducere
|
|
50
|
+
`generate_subtitles` cu detecție `language=auto` și ieșire SRT dublă `translate_to_english=true`. Adăugat suport formate `.3gp` și `.ts`. `language=auto` disponibil și în `transcribe_audio`.
|
|
51
|
+
|
|
52
|
+
**Limitare cunoscută:** Traducerea încorporată Whisper țintește doar engleza. Necesită model `large-v3` pentru limbi non-engleze — modelele numai engleză (`*.en.bin`) generează `[FOREIGN]` pentru audio non-englezesc.
|
|
53
|
+
|
|
54
|
+
### ✅ v2.0.0 — Căi sigure Unicode + SRT în fundal
|
|
55
|
+
**Nume fișiere Unicode:** Fișierele cu caractere non-ASCII în nume cauzau eșecuri silențioase ale transcrierii în fundal. Remediat prin direcționarea tuturor ieșirilor printr-o cale temporară igienizată bazată pe ID sarcină, apoi mutarea rezultatului la destinația corectă după finalizare.
|
|
56
|
+
|
|
57
|
+
**SRT în modul fundal:** `spawnDetached` anterior codifica rigid `-otxt` indiferent de formatul solicitat, iar `generate_subtitles` bloca sincron și atingea limita de timp MCP de 4 minute pe fișiere mai lungi. Remediat prin adăugarea parametrului `outputFormat` la `spawnDetached`, suportând ieșire `text` și `srt` în modul fundal.
|
|
58
|
+
|
|
59
|
+
### ✅ v2.0.1 — Corecții erori (incluse în v2.2.0)
|
|
60
|
+
- `--max-context 0` codificat rigid în `buildArgs` și `spawnDetached` — previne buclele de halucinație pe audio lung.
|
|
61
|
+
- `--no-speech-thold 0.6` codificat rigid în ambele funcții — segmentele sub pragul de încredere sunt tratate ca tăcere.
|
|
62
|
+
- Validare cale (`validateInputPath`) — respinge căile UNC și traversările `..`.
|
|
63
|
+
- Gardă dimensiune fișier `MAX_FILE_SIZE_MB = 10240`.
|
|
64
|
+
- Comentariu securitate injecție transcriere în `transcribeSingle`.
|
|
65
|
+
- Comandă CLI lot coruptă corectată în TROUBLESHOOTING.md.
|
|
66
|
+
|
|
67
|
+
### ✅ v2.1.0 — Suită de gestionare modele (inclusă în v2.2.0)
|
|
68
|
+
- `WHISPER_MODEL` schimbat din `const` în `let` (mutabil în sesiune).
|
|
69
|
+
- `MODEL_REGISTRY` — 16 modele, variante de precizie completă și cuantizate, URL-uri de descărcare Hugging Face.
|
|
70
|
+
- `ALLOWED_HF_PREFIXES` — lista de permise URL care limitează descărcările la spațiile de nume `ggerganov/whisper.cpp` și `ggml-org`.
|
|
71
|
+
- Instrument `list_models` — scanează directorul de modele, arată modelul activ, dimensiuni, cazuri de utilizare, descărcări disponibile.
|
|
72
|
+
- Instrument `download_model` — descarcă de la Hugging Face prin `https` integrat Node.js, redenumire atomică.
|
|
73
|
+
- Instrument `switch_model` — validează extensia `.bin`, restricție director, verificare blocare proces.
|
|
74
|
+
- `recommendedModel()` actualizat pentru a recomanda `large-v3-turbo` pentru VRAM 6GB+.
|
|
75
|
+
|
|
76
|
+
### ✅ v2.2.0 — Extindere calitate, parametri și hardware (curent)
|
|
77
|
+
- Interfață `WhisperOptions` înlocuind argumentele poziționale în `buildArgs`.
|
|
78
|
+
- Parametri noi în `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
|
+
- Parametri noi în `generate_subtitles`: `temperature`, `prompt`, `beam_size`, `best_of`, `diarize`, `vad_model`.
|
|
80
|
+
- `spawnDetached` refactorizat — toate indicatoarele de calitate sunt acum aplicate în modul fundal/lot.
|
|
81
|
+
- Ieșire lot corectată — `readBatchProgress` acum mută ieșirea temporară la destinația finală înainte de validare.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Bug critic — Avansare automată lot (confirmat, în așteptarea remedierii)
|
|
86
|
+
|
|
87
|
+
### Lotul nu avansează fără interogare activă
|
|
88
|
+
|
|
89
|
+
`start_batch` nu avansează autonom coada între fișiere. Lotul avansează doar când este apelat `check_batch_progress`. Fără interogare, lotul se oprește pe termen nedefinit după fiecare fișier.
|
|
90
|
+
|
|
91
|
+
**Remediere planificată — Opțiunea B (callback ieșire):** Atașează un handler `on('exit')` la procesul copil whisper-cli pornit. Când procesul iese, apelează imediat logica de avansare pentru a valida ieșirea și a porni sarcina următoare.
|
|
92
|
+
|
|
93
|
+
**Soluție temporară curentă:** Apelează `check_batch_progress` în mod repetat până când lotul se finalizează.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Planificat — Arhitectură confidențialitate (înainte de migrarea la Bun)
|
|
98
|
+
|
|
99
|
+
### Variabila de mediu `WHISPER_PRIVACY_MODE`
|
|
100
|
+
Adaugă `WHISPER_PRIVACY_MODE` ca variabilă de mediu în `claude_desktop_config.json`. Când este activată, toate răspunsurile instrumentelor returnează doar metadate — niciun text de transcriere nu este inclus.
|
|
101
|
+
|
|
102
|
+
### Poartă de consimțământ pentru conținut de transcriere
|
|
103
|
+
Când `WHISPER_PRIVACY_MODE` nu este activat (implicit), orice răspuns al instrumentului care include text de transcriere trebuie precedat de o dezvăluire la prima utilizare per sesiune.
|
|
104
|
+
|
|
105
|
+
### Documentația `PRIVACY.md`
|
|
106
|
+
Creează `PRIVACY.md` în rădăcina depozitului cu îndrumări complete privind confidențialitatea și cadre de conformitate.
|
|
107
|
+
|
|
108
|
+
### Curățare automată director temporar
|
|
109
|
+
Adaugă curățare automată a fișierelor de sarcini finalizate după o fereastră de retenție configurabilă (implicit: 7 zile).
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Planificat — Migrare la Bun
|
|
114
|
+
|
|
115
|
+
Migrează runtime-ul de la Node.js la [Bun](https://bun.sh) după finalizarea arhitecturii de confidențialitate și înainte de adăugările de funcții v2.3.0. Bun rulează TypeScript nativ fără pas de compilare și pornește semnificativ mai rapid decât Node.
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Licențiere
|
|
120
|
+
|
|
121
|
+
whisper-windows-mcp folosește licențiere duală.
|
|
122
|
+
|
|
123
|
+
**Utilizare non-comercială:** MIT — gratuit pentru uz personal, educațional și non-comercial. Vezi [LICENSE](LICENSE).
|
|
124
|
+
|
|
125
|
+
**Utilizare comercială:** Este necesar un acord de licență comercială separat. Vezi [LICENSE-COMMERCIAL.md](LICENSE-COMMERCIAL.md).
|
|
126
|
+
|
|
127
|
+
`WHISPER_PRIVACY_MODE` pentru implementări în sectoare reglementate este în curs de dezvoltare și planificat pentru o versiune viitoare. Vezi [PRIVACY.md](PRIVACY.md) pentru îndrumări actuale.
|
|
128
|
+
|
|
129
|
+
## Planificat — v2.3.0: Extindere formate de ieșire
|
|
130
|
+
|
|
131
|
+
### Format subtitrări VTT
|
|
132
|
+
Ieșire WebVTT (`.vtt`) împreună cu SRT. Standard web folosit de YouTube, HTML5 `<video>` și majoritatea playerelor moderne.
|
|
133
|
+
|
|
134
|
+
### Format LRC
|
|
135
|
+
Ieșire în format LRC (`.lrc`) versuri/karaoke prin `-olrc`.
|
|
136
|
+
|
|
137
|
+
### Format CSV
|
|
138
|
+
Ieșire CSV (`.csv`) prin `-ocsv`. Date tabulare structurate cu sincronizare segmente.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Planificat — Versiuni viitoare
|
|
143
|
+
|
|
144
|
+
### TinyDiarize
|
|
145
|
+
Suport pentru indicatorul `--tinydiarize` cu variante de model care suportă `tdrz`. Funcționează pe înregistrări mono spre deosebire de indicatorul `--diarize` stereo.
|
|
146
|
+
|
|
147
|
+
### Transcriere URL YouTube
|
|
148
|
+
Transcriere directă din URL-uri YouTube prin yt-dlp. Necesită yt-dlp instalat și în PATH.
|
|
149
|
+
|
|
150
|
+
### Instrumente flux de lucru proiect video
|
|
151
|
+
Pentru utilizatorii care gestionează proiecte mari de editare video cu directoare de clipuri sursă și editate. Fișierele sursă nu sunt niciodată redenumite sau modificate fără confirmarea explicită a utilizatorului.
|
|
152
|
+
|
|
153
|
+
### Diarizare vorbitori (pyannote-audio)
|
|
154
|
+
Diarizare completă mono cu etichete ID vorbitor. Necesită pyannote-audio — bibliotecă bazată pe Python cu cerință de token acces modele Hugging Face.
|
|
155
|
+
|
|
156
|
+
### Traducere în limbi non-engleze
|
|
157
|
+
Indicatorul `--translate` al Whisper țintește doar engleza. Suportarea limbilor țintă arbitrare necesită un API de traducere extern sau un model de traducere local.
|
|
158
|
+
|
|
159
|
+
### Curățare și formatare transcrieri
|
|
160
|
+
Pipeline de post-procesare: eliminarea cuvintelor de umplutură, pauze de paragraf la granițele naturale ale subiectelor, formatare conștientă de vorbitor, export în PDF sau DOCX.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Distribuție
|
|
165
|
+
|
|
166
|
+
Disponibil pe [npm](https://www.npmjs.com/package/whisper-windows-mcp), [mcpservers.org](https://mcpservers.org) și [Glama](https://glama.ai).
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Documentație multilingvă
|
|
171
|
+
|
|
172
|
+
Documentația în japoneză, coreeană, vietnameză, indoneziană, ucraineană, portugheză braziliană, spaniolă, poloneză și română este menținută în paralel cu engleza. Următoarele fișiere trebuie actualizate pentru a corespunde documentelor în engleză după fiecare versiune:
|
|
173
|
+
|
|
174
|
+
**Japoneză (`*.ja.md`)** — `README.ja.md` / `TROUBLESHOOTING.ja.md` / `ROADMAP.ja.md` / `PRIVACY.ja.md` / `SECURITY.ja.md`
|
|
175
|
+
|
|
176
|
+
**Coreeană (`*.ko.md`)** — `README.ko.md` / `TROUBLESHOOTING.ko.md` / `ROADMAP.ko.md` / `PRIVACY.ko.md` / `SECURITY.ko.md`
|
|
177
|
+
|
|
178
|
+
**Vietnameză (`*.vi.md`)** — `README.vi.md` / `TROUBLESHOOTING.vi.md` / `ROADMAP.vi.md` / `PRIVACY.vi.md` / `SECURITY.vi.md`
|
|
179
|
+
|
|
180
|
+
**Indoneziană (`*.id.md`)** — `README.id.md` / `TROUBLESHOOTING.id.md` / `ROADMAP.id.md` / `PRIVACY.id.md` / `SECURITY.id.md`
|
|
181
|
+
|
|
182
|
+
**Ucraineană (`*.uk.md`)** — `README.uk.md` / `TROUBLESHOOTING.uk.md` / `ROADMAP.uk.md` / `PRIVACY.uk.md` / `SECURITY.uk.md`
|
|
183
|
+
|
|
184
|
+
**Portugheză braziliană (`*.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
|
+
**Spaniolă (`*.es.md`)** — `README.es.md` / `TROUBLESHOOTING.es.md` / `ROADMAP.es.md` / `PRIVACY.es.md` / `SECURITY.es.md`
|
|
187
|
+
|
|
188
|
+
**Poloneză (`*.pl.md`)** — `README.pl.md` / `TROUBLESHOOTING.pl.md` / `ROADMAP.pl.md` / `PRIVACY.pl.md` / `SECURITY.pl.md`
|
|
189
|
+
|
|
190
|
+
**Română (`*.ro.md`)** — `README.ro.md` / `TROUBLESHOOTING.ro.md` / `ROADMAP.ro.md` / `PRIVACY.ro.md` / `SECURITY.ro.md`
|
|
191
|
+
|
|
192
|
+
Contribuțiile comunității pentru alte limbi sunt binevenite.
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Contribuții
|
|
197
|
+
|
|
198
|
+
Pull request-urile sunt binevenite. Verifică issue-urile existente înainte de a începe lucrul.
|
|
199
|
+
|
|
200
|
+
Dacă ai testat accelerarea GPU pe hardware nelistat mai sus, deschide un issue cu modelul GPU, VRAM, dimensiunea modelului și debitul observat. Aceasta ajută la construirea unei referințe de performanță precise pentru alți utilizatori.
|