whisper-windows-mcp 2.2.2 → 2.4.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.
- package/.github/workflows/ci.yml +24 -0
- package/.github/workflows/publish.yml +24 -0
- package/{LICENSE-COMMERCIAL.md → COMMERCIAL-LICENSE.md} +58 -58
- package/LICENSE +40 -40
- package/PRIVACY.es.md +194 -135
- package/PRIVACY.id.md +194 -135
- package/PRIVACY.ja.md +194 -135
- package/PRIVACY.ko.md +194 -135
- package/PRIVACY.md +194 -135
- package/PRIVACY.pl.md +194 -135
- package/PRIVACY.pt-BR.md +194 -135
- package/PRIVACY.ro.md +194 -135
- package/PRIVACY.uk.md +194 -135
- package/PRIVACY.vi.md +194 -135
- package/README.es.md +80 -48
- package/README.id.md +83 -40
- package/README.ja.md +106 -72
- package/README.ko.md +69 -37
- package/README.md +82 -39
- package/README.pl.md +83 -40
- package/README.pt-BR.md +77 -45
- package/README.ro.md +84 -41
- package/README.uk.md +83 -40
- package/README.vi.md +73 -41
- package/ROADMAP.es.md +131 -45
- package/ROADMAP.id.md +86 -89
- package/ROADMAP.ja.md +93 -108
- package/ROADMAP.ko.md +82 -82
- package/ROADMAP.pl.md +125 -41
- package/ROADMAP.pt-BR.md +87 -87
- package/ROADMAP.ro.md +123 -41
- package/ROADMAP.uk.md +82 -90
- package/ROADMAP.vi.md +87 -87
- package/SECURITY.es.md +76 -47
- package/SECURITY.id.md +76 -47
- package/SECURITY.ja.md +76 -47
- package/SECURITY.ko.md +76 -47
- package/SECURITY.md +33 -4
- package/SECURITY.pl.md +76 -47
- package/SECURITY.pt-BR.md +76 -47
- package/SECURITY.ro.md +76 -47
- package/SECURITY.uk.md +76 -47
- package/SECURITY.vi.md +76 -47
- package/TROUBLESHOOTING.es.md +325 -323
- package/TROUBLESHOOTING.id.md +349 -323
- package/TROUBLESHOOTING.ja.md +415 -286
- package/TROUBLESHOOTING.ko.md +325 -323
- package/TROUBLESHOOTING.pl.md +371 -323
- package/TROUBLESHOOTING.pt-BR.md +325 -323
- package/TROUBLESHOOTING.ro.md +371 -323
- package/TROUBLESHOOTING.uk.md +385 -323
- package/TROUBLESHOOTING.vi.md +325 -323
- package/dist/index.js +743 -289
- package/dist/lib.d.ts +37 -0
- package/dist/lib.js +123 -0
- package/package.json +46 -45
- package/patch_roadmaps.py +0 -72
package/README.pl.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# whisper-windows-mcp
|
|
2
2
|
|
|
3
|
+
[](https://github.com/eviscerations/whisper-windows-mcp/actions/workflows/ci.yml)
|
|
4
|
+
|
|
5
|
+
[](https://glama.ai/mcp/servers/eviscerations/whisper-windows-mcp)
|
|
6
|
+
|
|
3
7
|
Natywny serwer MCP (Model Context Protocol) dla Windows. Używa [whisper.cpp](https://github.com/ggml-org/whisper.cpp) do lokalnej transkrypcji plików audio i wideo w Claude Desktop — z akceleracją GPU, obsługą wielu języków i przetwarzaniem wsadowym. Cała transkrypcja odbywa się lokalnie — żadne pliki audio, wideo ani ścieżki do plików nie są wysyłane na zewnątrz.
|
|
4
8
|
|
|
5
9
|
> **Dlaczego ten pakiet istnieje?**
|
|
@@ -17,6 +21,7 @@ Po instalacji możesz po prostu powiedzieć w Claude Desktop:
|
|
|
17
21
|
- *"Rozpocznij wsadową transkrypcję wszystkich plików w tym folderze"*
|
|
18
22
|
- *"Ile czasu zajmie transkrypcja tych plików?"*
|
|
19
23
|
- *"Sprawdź, czy akceleracja GPU działa"*
|
|
24
|
+
- *"Transkrybuj ten plik w trybie prywatności"*
|
|
20
25
|
|
|
21
26
|
---
|
|
22
27
|
|
|
@@ -163,12 +168,13 @@ Transkrybuje pojedynczy plik. Obsługuje tryb blokujący (domyślny) lub działa
|
|
|
163
168
|
|---|---|
|
|
164
169
|
| `file_path` | Bezwzględna ścieżka do pliku (wymagana) |
|
|
165
170
|
| `language` | Kod języka (`pl`, `en`, `ja` itp.) lub `auto` do automatycznego wykrywania. Domyślnie: `en` |
|
|
166
|
-
| `output_format` | `
|
|
171
|
+
| `output_format` | `timestamps` (domyślnie), `text`, `json`, `srt`, `vtt`, `lrc` lub `csv` |
|
|
167
172
|
| `save_to_file` | Zapisz transkrypcję jako .txt obok pliku źródłowego |
|
|
168
173
|
| `background` | Uruchom jako osobne zadanie — natychmiast zwraca ID zadania. Używaj `check_progress` do monitorowania. Zalecane dla plików dłuższych niż 10 minut. |
|
|
174
|
+
| `privacy_mode` | Zastąp tryb prywatności dla tego wywołania. `true` = tylko metadane, żaden tekst transkrypcji nie jest przesyłany. `false` = zwróć tekst nawet gdy `WHISPER_PRIVACY_MODE=true` globalnie. Pomiń, aby użyć globalnego ustawienia. |
|
|
169
175
|
| `threads` | Zastąp liczbę wątków CPU |
|
|
170
|
-
| `temperature` | Temperatura próbkowania 0,0–1,0. Domyślnie 0,0 (deterministyczny).
|
|
171
|
-
| `prompt` | Ciąg kontekstu poprzedniego — poprawia dokładność dla słownictwa dziedzinowego lub imion mówców.
|
|
176
|
+
| `temperature` | Temperatura próbkowania 0,0–1,0. Domyślnie 0,0 (deterministyczny). |
|
|
177
|
+
| `prompt` | Ciąg kontekstu poprzedniego — poprawia dokładność dla słownictwa dziedzinowego lub imion mówców. |
|
|
172
178
|
| `condition_on_prev_text` | Ponownie włącz warunkowanie kontekstem między segmentami. Domyślnie false. |
|
|
173
179
|
| `beam_size` | Szerokość wyszukiwania wiązką. Wyższa = dokładniejsza, wolniejsza. Domyślnie 5. |
|
|
174
180
|
| `best_of` | Liczba ocenianych sekwencji kandydatów. Domyślnie 5. |
|
|
@@ -181,32 +187,44 @@ Transkrybuje pojedynczy plik. Obsługuje tryb blokujący (domyślny) lub działa
|
|
|
181
187
|
| `offset_t` | Przesunięcie początkowe w milisekundach. |
|
|
182
188
|
| `duration` | Czas przetwarzania w milisekundach od przesunięcia. |
|
|
183
189
|
|
|
190
|
+
**Formaty wyjściowe:**
|
|
191
|
+
- `timestamps` — segmenty ze znacznikami czasu, np. `[00:00:01.230 --> 00:00:04.560] Witaj` (domyślnie)
|
|
192
|
+
- `text` — czysty tekst bez kodów czasowych
|
|
193
|
+
- `json` — strukturalny JSON (tylko tryb blokujący)
|
|
194
|
+
- `srt` — plik napisów SubRip zapisany obok źródła
|
|
195
|
+
- `vtt` — plik napisów WebVTT zapisany obok źródła
|
|
196
|
+
- `lrc` — format LRC tekstu/karaoke zapisany obok źródła
|
|
197
|
+
- `csv` — CSV ze znacznikami czasu zapisany obok źródła
|
|
198
|
+
|
|
184
199
|
---
|
|
185
200
|
|
|
186
201
|
### `check_progress`
|
|
187
202
|
Monitoruje zadanie transkrypcji w tle uruchomione przez `transcribe_audio` (background=true).
|
|
188
203
|
|
|
189
|
-
Zwraca czas, który upłynął, ostatni przetworzony znacznik czasu
|
|
204
|
+
Zwraca czas, który upłynął, ostatni przetworzony znacznik czasu i kompletną transkrypcję po zakończeniu.
|
|
190
205
|
|
|
191
206
|
| Parametr | Opis |
|
|
192
207
|
|---|---|
|
|
193
208
|
| `job_id` | ID zadania zwrócone przez `transcribe_audio` |
|
|
209
|
+
| `privacy_mode` | Zastąp tryb prywatności dla tego sprawdzenia. `true` = tylko metadane, niezależnie od sposobu uruchomienia zadania. |
|
|
194
210
|
|
|
195
211
|
---
|
|
196
212
|
|
|
197
213
|
### `start_batch`
|
|
198
|
-
Automatycznie i sekwencyjnie transkrybuje wszystkie jeszcze
|
|
214
|
+
Automatycznie i sekwencyjnie transkrybuje wszystkie jeszcze niestranstrybuowane pliki w folderze. Sortuje według czasu trwania (najkrótsze pierwsze), przetwarza jeden po drugim jako zadania w tle i weryfikuje każdy wynik. Partia samodzielnie przesuwa się po zakończeniu każdego pliku — odpytywanie nie jest wymagane.
|
|
199
215
|
|
|
200
216
|
| Parametr | Opis |
|
|
201
217
|
|---|---|
|
|
202
218
|
| `folder_path` | Ścieżka do folderu (wymagana) |
|
|
203
219
|
| `language` | Kod języka. Domyślnie: `en` |
|
|
204
220
|
| `threads` | Zastąp liczbę wątków CPU |
|
|
221
|
+
| `output_format` | `timestamps` (domyślnie) lub `text` |
|
|
222
|
+
| `privacy_mode` | Zastąp tryb prywatności. Przed rozpoczęciem partii wymagane jest jedno potwierdzenie; następnie wszystkie pliki są przetwarzane bez nadzoru. Tekst transkrypcji nie jest zwracany. |
|
|
205
223
|
|
|
206
224
|
---
|
|
207
225
|
|
|
208
226
|
### `check_batch_progress`
|
|
209
|
-
Monitoruje uruchomioną partię. Automatycznie przechodzi do następnego pliku po zakończeniu bieżącego. Zwraca ogólny postęp, bieżący plik ze znacznikiem czasu
|
|
227
|
+
Monitoruje uruchomioną partię. Automatycznie przechodzi do następnego pliku po zakończeniu bieżącego. Zwraca ogólny postęp, bieżący plik ze znacznikiem czasu i pliki z błędami.
|
|
210
228
|
|
|
211
229
|
| Parametr | Opis |
|
|
212
230
|
|---|---|
|
|
@@ -223,17 +241,21 @@ Przetwarza pliki jeden po jednym z podglądem i potwierdzeniem przed każdym. Pr
|
|
|
223
241
|
| `file_index` | Który plik przetworzyć (numeracja od 1). Pomiń, aby najpierw wyświetlić listę plików. |
|
|
224
242
|
| `language` | Kod języka. Domyślnie: `en` |
|
|
225
243
|
| `recursive` | Uwzględnij podfoldery |
|
|
244
|
+
| `output_format` | `timestamps` (domyślnie) lub `text` |
|
|
245
|
+
| `privacy_mode` | Zastąp tryb prywatności. Potwierdzenie wymagane przed każdym plikiem; zwracane są tylko metadane. |
|
|
226
246
|
|
|
227
247
|
---
|
|
228
248
|
|
|
229
249
|
### `generate_subtitles`
|
|
230
|
-
Generuje pliki napisów
|
|
250
|
+
Generuje pliki napisów. Obsługuje automatyczne wykrywanie języka i wyjście z tłumaczeniem na angielski. Generuje SRT (największa kompatybilność) lub WebVTT (web i HTML5 wideo).
|
|
231
251
|
|
|
232
252
|
| Parametr | Opis |
|
|
233
253
|
|---|---|
|
|
234
254
|
| `file_path` | Ścieżka do pliku (wymagana) |
|
|
235
255
|
| `language` | Kod języka lub `auto` do automatycznego wykrywania. Domyślnie: `en` |
|
|
236
|
-
| `
|
|
256
|
+
| `output_format` | `srt` (domyślnie) lub `vtt` |
|
|
257
|
+
| `translate_to_english` | Generuj też plik napisów z tłumaczeniem na angielski. Dotyczy tylko gdy źródło nie jest po angielsku. |
|
|
258
|
+
| `background` | Uruchom jako zadanie w tle. Zwraca ID zadania dla `check_progress`. |
|
|
237
259
|
| `threads` | Zastąp liczbę wątków CPU |
|
|
238
260
|
|
|
239
261
|
Gdy oba są żądane, dwa pliki są zapisywane obok źródła:
|
|
@@ -245,7 +267,7 @@ Gdy oba są żądane, dwa pliki są zapisywane obok źródła:
|
|
|
245
267
|
---
|
|
246
268
|
|
|
247
269
|
### `analyze_media`
|
|
248
|
-
Analizuje
|
|
270
|
+
Analizuje pliki przed transkrypcją. Zwraca czas trwania, rozmiar, kodek i szacowany czas transkrypcji na CPU i GPU. Dla folderów wyświetla wszystkie pliki w sortowalnej tabeli ze statusem transkrypcji.
|
|
249
271
|
|
|
250
272
|
| Parametr | Opis |
|
|
251
273
|
|---|---|
|
|
@@ -265,7 +287,7 @@ Wyświetla wszystkie zainstalowane pliki modeli Whisper w katalogu modeli. Pokaz
|
|
|
265
287
|
---
|
|
266
288
|
|
|
267
289
|
### `download_model`
|
|
268
|
-
Pobiera model Whisper bezpośrednio z Hugging Face do katalogu modeli.
|
|
290
|
+
Pobiera model Whisper bezpośrednio z Hugging Face do katalogu modeli. Pobiera tylko z zaufanych przestrzeni nazw Hugging Face. Po pobraniu aktywuj przez `switch_model`.
|
|
269
291
|
|
|
270
292
|
| Parametr | Opis |
|
|
271
293
|
|---|---|
|
|
@@ -301,14 +323,16 @@ Wykrywa sprzęt GPU i potwierdza dostępność akceleracji Vulkan. Raportuje naz
|
|
|
301
323
|
|
|
302
324
|
Gotowa kompilacja Vulkan automatycznie włącza akcelerację GPU. Przetestowano na AMD Radeon RX Vega 56 (GCN 5. generacji). Każdy GPU z obsługą Vulkan 1.0+ powinien działać, w tym NVIDIA i Intel Arc.
|
|
303
325
|
|
|
304
|
-
**Porównanie wydajności (model
|
|
326
|
+
**Porównanie wydajności (model large-v3, plik audio ~14 minut):**
|
|
305
327
|
|
|
306
328
|
| Sprzęt | Czas |
|
|
307
329
|
|---|---|
|
|
308
|
-
| Tylko CPU (Ryzen 7 2700x, 8 wątków) |
|
|
309
|
-
| GPU (Vega 56 przez Vulkan) |
|
|
330
|
+
| Tylko CPU (Ryzen 7 2700x, 8 wątków) | ~22 minuty (szacunkowo) |
|
|
331
|
+
| GPU (Vega 56 przez Vulkan) | ~3min 22s |
|
|
310
332
|
|
|
311
|
-
Wykorzystanie GPU podczas transkrypcji wynosi zazwyczaj 15–20% i wraca do stanu bezczynności między plikami.
|
|
333
|
+
Wykorzystanie GPU podczas transkrypcji wynosi zazwyczaj 15–20% i wraca do stanu bezczynności między plikami.
|
|
334
|
+
|
|
335
|
+
Obsługuje Windows 10 i Windows 11.
|
|
312
336
|
|
|
313
337
|
---
|
|
314
338
|
|
|
@@ -320,9 +344,25 @@ Dla najlepszej dokładności wielojęzycznej używaj modelu `large-v3`. Modele t
|
|
|
320
344
|
|
|
321
345
|
**Przykład — obcojęzyczne wideo z napisami:**
|
|
322
346
|
1. Poproś Claude o wygenerowanie napisów z `language=auto` i `translate_to_english=true`
|
|
323
|
-
2. Whisper wykrywa język i generuje SRT w oryginalnym języku
|
|
324
|
-
3. Drugi przebieg generuje
|
|
325
|
-
4. Wczytaj
|
|
347
|
+
2. Whisper wykrywa język i generuje SRT lub VTT w oryginalnym języku
|
|
348
|
+
3. Drugi przebieg generuje tłumaczenie na angielski
|
|
349
|
+
4. Wczytaj SRT w VLC przez Napisy → Dodaj plik napisów, lub użyj VTT w dowolnym odtwarzaczu webowym
|
|
350
|
+
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
## Prywatność i zgodność
|
|
354
|
+
|
|
355
|
+
whisper-windows-mcp zawiera wbudowaną architekturę prywatności dla wrażliwych i regulowanych treści.
|
|
356
|
+
|
|
357
|
+
**Audio i wideo nigdy nie opuszczają twojego komputera.** Ta gwarancja jest bezwarunkowa.
|
|
358
|
+
|
|
359
|
+
**Tekst transkrypcji** jest inną kwestią — gdy jest zwracany inline w odpowiedzi narzędzia, jest przetwarzany przez API Claude. Dla większości użytkowników jest to oczekiwane zachowanie. Dla treści regulowanych (medycznych, prawnych, finansowych, korporacyjnych) tryb prywatności temu zapobiega.
|
|
360
|
+
|
|
361
|
+
**Tryb prywatności** ogranicza wszystkie odpowiedzi narzędzi tylko do metadanych (nazwa pliku, liczba słów, ścieżka zapisu). Żaden tekst transkrypcji nie jest przesyłany do API Claude w żadnych okolicznościach. Włącz per wywołanie przez `privacy_mode=true` w dowolnym narzędziu transkrypcji, lub globalnie przez `WHISPER_PRIVACY_MODE=true` w konfiguracji.
|
|
362
|
+
|
|
363
|
+
**Brama zgody** — przy pierwszym użyciu w sesji w trybie standardowym, przed zwróceniem jakiegokolwiek tekstu transkrypcji wyświetlane jest pełne ujawnienie prywatności. Musisz jawnie potwierdzić przed kontynuowaniem. Ustaw `WHISPER_CONSENT_ACKNOWLEDGED=true` w konfiguracji, aby pominąć to dla treści niepoufnych.
|
|
364
|
+
|
|
365
|
+
Zobacz [PRIVACY.md](PRIVACY.md) dla pełnego przewodnika zgodności (HIPAA, RODO, tajemnica adwokacka, FERPA, SOX, PCI-DSS).
|
|
326
366
|
|
|
327
367
|
---
|
|
328
368
|
|
|
@@ -339,34 +379,23 @@ To narzędzie zostało stworzone, aby zminimalizować interakcje z API Claude. C
|
|
|
339
379
|
| `WHISPER_CLI_PATH` | Ścieżka do whisper-cli.exe (wymagana) |
|
|
340
380
|
| `WHISPER_MODEL` | Ścieżka do pliku modelu .bin (wymagana) |
|
|
341
381
|
| `WHISPER_THREADS` | Zastąp liczbę wątków CPU |
|
|
382
|
+
| `WHISPER_GPU_DEVICE` | Indeks urządzenia Vulkan, do którego przypiąć transkrypcję, dla systemów z wieloma GPU (indeks enumeracji Vulkan — sprawdź log startowy whisper-cli; nie kolejność GPU w Windows). Możliwe do zastąpienia per wywołanie przez `gpu_device`. Zobacz [TROUBLESHOOTING.md](TROUBLESHOOTING.md). |
|
|
383
|
+
| `WHISPER_FOREGROUND_MAX_SEC` | Limit transkrypcji na pierwszym planie w sekundach (domyślnie 210). Pliki, których czas wykonania szacuje się na dłuższy, są kierowane do trybu w tle zamiast ryzykować ~4-minutowy limit czasu narzędzia w Claude Desktop. |
|
|
342
384
|
| `FFMPEG_PATH` | Ścieżka do ffmpeg jeśli nie ma go w systemowym PATH |
|
|
343
|
-
| `WHISPER_PRIVACY_MODE` |
|
|
385
|
+
| `WHISPER_PRIVACY_MODE` | Gdy `true`, odpowiedzi narzędzi zwracają tylko metadane — żaden tekst transkrypcji nie jest przesyłany do Claude. Dla treści regulowanych lub poufnych. Może być zastąpione per wywołanie przez parametr `privacy_mode`. Zobacz [PRIVACY.md](PRIVACY.md). |
|
|
386
|
+
| `WHISPER_CONSENT_ACKNOWLEDGED` | Gdy `true`, pomija jednorazowe ujawnienie zgody dla sesji przed zwróceniem tekstu transkrypcji. Ustaw po zapoznaniu się z granicami prywatności, gdy przypomnienie nie jest już potrzebne. Nie ma efektu gdy tryb prywatności jest aktywny. |
|
|
344
387
|
|
|
345
388
|
---
|
|
346
389
|
|
|
347
|
-
##
|
|
390
|
+
## Bezpieczeństwo
|
|
348
391
|
|
|
349
|
-
|
|
392
|
+
**Weryfikacja binarną.** Aby zweryfikować integralność binarium whisper-cli.exe w gotowym wydaniu, sprawdź jego skrót SHA256 w PowerShell:
|
|
350
393
|
|
|
351
|
-
|
|
352
|
-
-
|
|
353
|
-
|
|
354
|
-
- Plik modelu `.bin` istnieje pod skonfigurowaną ścieżką
|
|
355
|
-
- FFmpeg zainstalowany i dostępny w PATH (`ffmpeg -version` działa)
|
|
356
|
-
- Claude Desktop został **w pełni uruchomiony ponownie** po edycji konfiguracji
|
|
357
|
-
- Whisper wyświetla się jako **uruchomiony** (zielony znaczek) w Ustawieniach → Deweloper
|
|
358
|
-
|
|
359
|
-
---
|
|
360
|
-
|
|
361
|
-
## Bezpieczeństwo i prywatność
|
|
362
|
-
|
|
363
|
-
whisper-windows-mcp został zaprojektowany z bezpieczeństwem jako podstawową zasadą.
|
|
364
|
-
|
|
365
|
-
**Audio nigdy nie opuszcza twojego komputera.** Żadne pliki audio ani wideo, ścieżki plików ani dane telemetryczne nie są przesyłane na żaden serwer. Żadne API w chmurze nie są potrzebne do podstawowej funkcjonalności.
|
|
366
|
-
|
|
367
|
-
**Tekst transkrypcji i granica API.** Gdy odpowiedź narzędzia zawiera tekst transkrypcji, tekst ten jest przetwarzany przez API Claude — opuszcza twój lokalny komputer. Dla większości użytkowników (treści publiczne, podcasty, nagrania streamów) jest to oczekiwane zachowanie. Jeśli obsługujesz nagrania medyczne, prawne, finansowe lub inne regulowane, zobacz [PRIVACY.md](PRIVACY.md) dla wskazówek dotyczących zgodności i opcji konfiguracji.
|
|
394
|
+
```powershell
|
|
395
|
+
Get-FileHash "C:\whisper\Release\whisper-cli.exe" -Algorithm SHA256
|
|
396
|
+
```
|
|
368
397
|
|
|
369
|
-
|
|
398
|
+
Oczekiwany skrót dla binarnego wydania jest udokumentowany na [stronie wydań](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0).
|
|
370
399
|
|
|
371
400
|
**Walidacja danych wejściowych.** Wszystkie ścieżki plików są weryfikowane przed użyciem — ścieżki UNC (`\\server\share`) i sekwencje przechodzenia katalogów (`..`) są odrzucane. Pliki powyżej 10 GB są odrzucane, aby zapobiec wyczerpaniu zasobów.
|
|
372
401
|
|
|
@@ -376,7 +405,21 @@ Planowana jest zmienna środowiskowa `WHISPER_PRIVACY_MODE`, która ograniczy ws
|
|
|
376
405
|
|
|
377
406
|
**Przełączanie modeli jest piaskownicowane.** `switch_model` akceptuje tylko pliki `.bin` w skonfigurowanym katalogu modeli. Ścieżki poza tym katalogiem są odrzucane.
|
|
378
407
|
|
|
379
|
-
|
|
408
|
+
Zobacz [SECURITY.md](SECURITY.md) dla pełnej polityki bezpieczeństwa.
|
|
409
|
+
|
|
410
|
+
---
|
|
411
|
+
|
|
412
|
+
## Rozwiązywanie problemów
|
|
413
|
+
|
|
414
|
+
Zobacz [TROUBLESHOOTING.md](TROUBLESHOOTING.md) dla szczegółowych rozwiązań. Zobacz [PRIVACY.md](PRIVACY.md) jeśli obsługujesz treści regulowane.
|
|
415
|
+
|
|
416
|
+
Szybka lista kontrolna:
|
|
417
|
+
- Ścieżki w konfiguracji używają **podwójnych ukośników odwrotnych** (`C:\\whisper\\...`)
|
|
418
|
+
- `whisper-cli.exe` istnieje pod skonfigurowaną ścieżką
|
|
419
|
+
- Plik modelu `.bin` istnieje pod skonfigurowaną ścieżką
|
|
420
|
+
- FFmpeg zainstalowany i dostępny w PATH (`ffmpeg -version` działa)
|
|
421
|
+
- Claude Desktop został **w pełni uruchomiony ponownie** po edycji konfiguracji
|
|
422
|
+
- Whisper wyświetla się jako **uruchomiony** (zielony znaczek) w Ustawieniach → Deweloper
|
|
380
423
|
|
|
381
424
|
---
|
|
382
425
|
|
|
@@ -384,7 +427,7 @@ Planowana jest zmienna środowiskowa `WHISPER_PRIVACY_MODE`, która ograniczy ws
|
|
|
384
427
|
|
|
385
428
|
**Użytek niekomercyjny:** MIT — bezpłatny do użytku osobistego, edukacyjnego i niekomercyjnego. Zobacz [LICENSE](LICENSE).
|
|
386
429
|
|
|
387
|
-
**Użytek komercyjny:** Do użytku biznesowego, zawodowego lub generującego przychody wymagana jest osobna umowa licencji komercyjnej. Warunki i dane kontaktowe — w [LICENSE
|
|
430
|
+
**Użytek komercyjny:** Do użytku biznesowego, zawodowego lub generującego przychody wymagana jest osobna umowa licencji komercyjnej. Warunki i dane kontaktowe — w [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md).
|
|
388
431
|
|
|
389
432
|
## Wkład
|
|
390
433
|
|
package/README.pt-BR.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# whisper-windows-mcp
|
|
2
2
|
|
|
3
|
+
[](https://github.com/eviscerations/whisper-windows-mcp/actions/workflows/ci.yml)
|
|
4
|
+
|
|
5
|
+
[](https://glama.ai/mcp/servers/eviscerations/whisper-windows-mcp)
|
|
6
|
+
|
|
3
7
|
Servidor MCP (Model Context Protocol) nativo para Windows. Usa o [whisper.cpp](https://github.com/ggml-org/whisper.cpp) para transcrever arquivos de áudio e vídeo localmente no Claude Desktop — com aceleração por GPU, suporte a múltiplos idiomas e processamento em lote. Toda a transcrição é executada localmente — nenhum arquivo de áudio, vídeo ou caminho de arquivo é enviado para fora.
|
|
4
8
|
|
|
5
9
|
> **Por que este pacote existe?**
|
|
@@ -17,6 +21,7 @@ Após a instalação, basta falar diretamente no Claude Desktop:
|
|
|
17
21
|
- *"Inicie a transcrição em lote de todos os arquivos nesta pasta"*
|
|
18
22
|
- *"Quanto tempo vai levar para transcrever esses arquivos?"*
|
|
19
23
|
- *"Verifique se a aceleração por GPU está funcionando"*
|
|
24
|
+
- *"Transcreva este arquivo no modo de privacidade"*
|
|
20
25
|
|
|
21
26
|
---
|
|
22
27
|
|
|
@@ -163,50 +168,54 @@ Transcreve um único arquivo. Suporta modo de bloqueio (padrão) ou em segundo p
|
|
|
163
168
|
|---|---|
|
|
164
169
|
| `file_path` | Caminho absoluto para o arquivo (obrigatório) |
|
|
165
170
|
| `language` | Código do idioma (`pt`, `en`, `ja` etc.) ou `auto` para detecção automática. Padrão: `en` |
|
|
166
|
-
| `output_format` | `
|
|
171
|
+
| `output_format` | `timestamps` (padrão), `text`, `json`, `srt`, `vtt`, `lrc` ou `csv` |
|
|
167
172
|
| `save_to_file` | Salva a transcrição como .txt ao lado do arquivo de origem |
|
|
168
173
|
| `background` | Executa como tarefa separada — retorna ID da tarefa imediatamente. Use `check_progress` para monitorar. Recomendado para arquivos com mais de 10 minutos. |
|
|
174
|
+
| `privacy_mode` | Substitui o modo de privacidade para esta chamada. `true` = apenas metadados, sem texto de transcrição transmitido. `false` = retorna texto mesmo se `WHISPER_PRIVACY_MODE=true` globalmente. Omita para usar a configuração global. |
|
|
169
175
|
| `threads` | Substitui o número de threads da CPU |
|
|
170
|
-
| `temperature` | Temperatura de amostragem 0,0–1,0. Padrão 0,0 (determinístico).
|
|
176
|
+
| `temperature` | Temperatura de amostragem 0,0–1,0. Padrão 0,0 (determinístico). |
|
|
171
177
|
| `prompt` | String de contexto prévio — melhora a precisão para vocabulário específico de domínio ou nomes de falantes. Ex.: `"Nomes: Keemstar, DramaAlert."` |
|
|
172
178
|
| `condition_on_prev_text` | Reativa o condicionamento de contexto entre segmentos. Padrão false. |
|
|
173
|
-
| `beam_size` | Largura de busca
|
|
174
|
-
| `best_of` |
|
|
179
|
+
| `beam_size` | Largura de busca em feixe. Maior = mais preciso, mais lento. Padrão 5. |
|
|
180
|
+
| `best_of` | Sequências candidatas avaliadas. Padrão 5. |
|
|
175
181
|
| `gpu_device` | Índice do dispositivo GPU para sistemas multi-GPU. Padrão 0. |
|
|
176
|
-
| `processors` |
|
|
182
|
+
| `processors` | Contagem de processadores paralelos. Padrão 1. |
|
|
177
183
|
| `word_timestamps` | Uma palavra por segmento com carimbo de tempo. Útil para alinhamento de clipes. |
|
|
178
184
|
| `max_segment_length` | Comprimento máximo do segmento em caracteres. |
|
|
179
185
|
| `diarize` | Diarização de falantes estéreo — requer áudio estéreo com falantes em canais separados. |
|
|
180
186
|
| `vad_model` | Caminho para o arquivo .bin do modelo Silero VAD. Remove silêncio antes de transcrever — reduz alucinações em arquivos ruidosos. |
|
|
181
187
|
| `offset_t` | Deslocamento de início em milissegundos. |
|
|
182
|
-
| `duration` | Duração a processar
|
|
188
|
+
| `duration` | Duração a processar a partir do deslocamento em milissegundos. |
|
|
183
189
|
|
|
184
190
|
---
|
|
185
191
|
|
|
186
192
|
### `check_progress`
|
|
187
193
|
Monitora uma tarefa de transcrição em segundo plano iniciada com `transcribe_audio` (background=true).
|
|
188
194
|
|
|
189
|
-
Retorna o tempo decorrido, o último carimbo de tempo processado
|
|
195
|
+
Retorna o tempo decorrido, o último carimbo de tempo processado e a transcrição completa ao concluir.
|
|
190
196
|
|
|
191
197
|
| Parâmetro | Descrição |
|
|
192
198
|
|---|---|
|
|
193
199
|
| `job_id` | ID da tarefa retornado por `transcribe_audio` |
|
|
200
|
+
| `privacy_mode` | Substitui o modo de privacidade para esta chamada. |
|
|
194
201
|
|
|
195
202
|
---
|
|
196
203
|
|
|
197
204
|
### `start_batch`
|
|
198
|
-
Transcreve automaticamente
|
|
205
|
+
Transcreve automaticamente em sequência todos os arquivos não transcritos em uma pasta. Ordena cronologicamente (os mais curtos primeiro), processa um por um como tarefa em segundo plano e valida cada saída.
|
|
199
206
|
|
|
200
207
|
| Parâmetro | Descrição |
|
|
201
208
|
|---|---|
|
|
202
209
|
| `folder_path` | Caminho para a pasta (obrigatório) |
|
|
203
210
|
| `language` | Código do idioma. Padrão: `en` |
|
|
211
|
+
| `output_format` | `timestamps` (padrão), `text`, `srt`, `vtt`, `lrc`, `csv` |
|
|
212
|
+
| `privacy_mode` | Substitui o modo de privacidade para este lote. |
|
|
204
213
|
| `threads` | Substitui o número de threads da CPU |
|
|
205
214
|
|
|
206
215
|
---
|
|
207
216
|
|
|
208
217
|
### `check_batch_progress`
|
|
209
|
-
Monitora um lote em execução. Avança automaticamente para o próximo arquivo quando o atual
|
|
218
|
+
Monitora um lote em execução. Avança automaticamente para o próximo arquivo quando o atual é concluído. Retorna o progresso geral, o arquivo atual com carimbo de tempo, ETA e arquivos com falha.
|
|
210
219
|
|
|
211
220
|
| Parâmetro | Descrição |
|
|
212
221
|
|---|---|
|
|
@@ -215,32 +224,34 @@ Monitora um lote em execução. Avança automaticamente para o próximo arquivo
|
|
|
215
224
|
---
|
|
216
225
|
|
|
217
226
|
### `transcribe_batch` (interativo)
|
|
218
|
-
Processa arquivos um
|
|
227
|
+
Processa arquivos um por um com visualização prévia e confirmação antes de cada arquivo. Útil quando você quer revisar durante o processo.
|
|
219
228
|
|
|
220
229
|
| Parâmetro | Descrição |
|
|
221
230
|
|---|---|
|
|
222
231
|
| `folder_path` | Caminho para a pasta (obrigatório) |
|
|
223
|
-
| `file_index` |
|
|
232
|
+
| `file_index` | Arquivo a processar (começa em 1). Omita para listar arquivos primeiro. |
|
|
224
233
|
| `language` | Código do idioma. Padrão: `en` |
|
|
225
234
|
| `recursive` | Incluir subpastas |
|
|
226
235
|
|
|
227
236
|
---
|
|
228
237
|
|
|
229
238
|
### `generate_subtitles`
|
|
230
|
-
Gera arquivos de legenda
|
|
239
|
+
Gera arquivos de legenda. Suporta detecção automática de idioma e saída de tradução para inglês.
|
|
231
240
|
|
|
232
241
|
| Parâmetro | Descrição |
|
|
233
242
|
|---|---|
|
|
234
243
|
| `file_path` | Caminho para o arquivo (obrigatório) |
|
|
235
244
|
| `language` | Código do idioma ou `auto` para detecção automática. Padrão: `en` |
|
|
236
|
-
| `
|
|
245
|
+
| `output_format` | `srt` (padrão) ou `vtt` |
|
|
246
|
+
| `translate_to_english` | Também gera um arquivo de legenda com tradução para inglês. Aplicável apenas quando a fonte não for inglês. |
|
|
247
|
+
| `background` | Executa como tarefa em segundo plano separada. Retorna um ID de tarefa para `check_progress`. |
|
|
237
248
|
| `threads` | Substitui o número de threads da CPU |
|
|
238
249
|
|
|
239
250
|
Quando ambos são solicitados, dois arquivos são salvos ao lado da origem:
|
|
240
251
|
- `arquivo.pt.srt` — idioma original
|
|
241
252
|
- `arquivo.en.srt` — tradução para inglês
|
|
242
253
|
|
|
243
|
-
> A tradução integrada do Whisper apenas
|
|
254
|
+
> A tradução integrada do Whisper traduz apenas **para o inglês**. Para outros idiomas de destino, processe o conteúdo do arquivo `.srt` separadamente.
|
|
244
255
|
|
|
245
256
|
---
|
|
246
257
|
|
|
@@ -265,7 +276,7 @@ Lista todos os arquivos de modelo Whisper instalados no seu diretório de modelo
|
|
|
265
276
|
---
|
|
266
277
|
|
|
267
278
|
### `download_model`
|
|
268
|
-
Baixa um modelo Whisper diretamente do Hugging Face para o seu diretório de modelos.
|
|
279
|
+
Baixa um modelo Whisper diretamente do Hugging Face para o seu diretório de modelos. Baixa apenas de namespaces confiáveis do Hugging Face. Após o download, use `switch_model` para ativar.
|
|
269
280
|
|
|
270
281
|
| Parâmetro | Descrição |
|
|
271
282
|
|---|---|
|
|
@@ -301,14 +312,16 @@ Detecta o hardware GPU e confirma se a aceleração Vulkan está disponível. Re
|
|
|
301
312
|
|
|
302
313
|
O release Vulkan pré-compilado ativa a aceleração por GPU automaticamente. Testado em AMD Radeon RX Vega 56 (GCN 5ª geração). Qualquer GPU com suporte a Vulkan 1.0+ deve funcionar, incluindo NVIDIA e Intel Arc.
|
|
303
314
|
|
|
304
|
-
**Comparação de desempenho (modelo
|
|
315
|
+
**Comparação de desempenho (modelo large-v3, arquivo de áudio ~14 minutos):**
|
|
305
316
|
|
|
306
317
|
| Hardware | Tempo |
|
|
307
318
|
|---|---|
|
|
308
|
-
| Somente CPU (Ryzen 7 2700x, 8 threads) |
|
|
309
|
-
| GPU (Vega 56 via Vulkan) |
|
|
319
|
+
| Somente CPU (Ryzen 7 2700x, 8 threads) | ~22 minutos (estimado) |
|
|
320
|
+
| GPU (Vega 56 via Vulkan) | ~3 min 22 seg |
|
|
321
|
+
|
|
322
|
+
A utilização da GPU durante a transcrição é tipicamente de 15–20%, voltando ao estado ocioso entre os arquivos.
|
|
310
323
|
|
|
311
|
-
|
|
324
|
+
Compatível com Windows 10 e Windows 11. Nenhuma configuração específica para Windows 11 é necessária — a ferramenta não faz chamadas diretas à API Win32 e funciona em ambos os sistemas operacionais.
|
|
312
325
|
|
|
313
326
|
---
|
|
314
327
|
|
|
@@ -320,9 +333,25 @@ Para a melhor precisão multilíngue, use o modelo `large-v3`. Modelos somente i
|
|
|
320
333
|
|
|
321
334
|
**Exemplo — vídeo em língua estrangeira com legendas:**
|
|
322
335
|
1. Peça ao Claude para gerar legendas com `language=auto` e `translate_to_english=true`
|
|
323
|
-
2. O Whisper detecta o idioma e gera o SRT no idioma original
|
|
324
|
-
3. Uma segunda passagem gera
|
|
325
|
-
4. Carregue
|
|
336
|
+
2. O Whisper detecta o idioma e gera o SRT ou VTT no idioma original
|
|
337
|
+
3. Uma segunda passagem gera a tradução para inglês
|
|
338
|
+
4. Carregue o SRT no VLC via Legendas → Adicionar Arquivo de Legenda, ou use o VTT em qualquer player web
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## Privacidade e conformidade
|
|
343
|
+
|
|
344
|
+
O whisper-windows-mcp inclui uma arquitetura de privacidade integrada para conteúdo sensível e regulamentado.
|
|
345
|
+
|
|
346
|
+
**O áudio e vídeo nunca saem da sua máquina.** Essa garantia é incondicional.
|
|
347
|
+
|
|
348
|
+
**O texto de transcrição** é diferente — quando retornado inline em uma resposta de ferramenta, é processado pela API do Claude. Para a maioria dos usuários isso é o comportamento esperado. Para conteúdo regulamentado (médico, jurídico, financeiro, corporativo), o modo de privacidade previne isso.
|
|
349
|
+
|
|
350
|
+
**O modo de privacidade** restringe todas as respostas das ferramentas apenas a metadados (nome do arquivo, contagem de palavras, caminho de salvamento). Nenhum texto de transcrição é transmitido à API do Claude em nenhuma circunstância. Ative por chamada com `privacy_mode=true` em qualquer ferramenta de transcrição, ou globalmente via `WHISPER_PRIVACY_MODE=true` na sua configuração.
|
|
351
|
+
|
|
352
|
+
**Porta de consentimento** — no primeiro uso por sessão no modo padrão, uma divulgação de privacidade completa é exibida antes que qualquer texto de transcrição seja retornado. Você deve confirmar explicitamente antes de continuar. Defina `WHISPER_CONSENT_ACKNOWLEDGED=true` na sua configuração para ignorar isso para conteúdo não sensível.
|
|
353
|
+
|
|
354
|
+
Veja [PRIVACY.md](PRIVACY.md) para orientação de conformidade completa (HIPAA, GDPR, privilégio advogado-cliente, FERPA, SOX, PCI-DSS).
|
|
326
355
|
|
|
327
356
|
---
|
|
328
357
|
|
|
@@ -339,34 +368,23 @@ Esta ferramenta foi criada para minimizar as interações com a API do Claude. T
|
|
|
339
368
|
| `WHISPER_CLI_PATH` | Caminho para whisper-cli.exe (obrigatório) |
|
|
340
369
|
| `WHISPER_MODEL` | Caminho para o arquivo de modelo .bin (obrigatório) |
|
|
341
370
|
| `WHISPER_THREADS` | Substitui o número de threads da CPU |
|
|
371
|
+
| `WHISPER_GPU_DEVICE` | Índice do dispositivo Vulkan ao qual fixar a transcrição, para sistemas com múltiplas GPUs (o índice de enumeração do Vulkan — verifique o log de inicialização do whisper-cli; não a ordem de GPU do Windows). Substituível por chamada com `gpu_device`. Veja [TROUBLESHOOTING.md](TROUBLESHOOTING.md). |
|
|
372
|
+
| `WHISPER_FOREGROUND_MAX_SEC` | Limite da transcrição em primeiro plano em segundos (padrão 210). Arquivos cuja execução estimada é mais longa são roteados para o modo em segundo plano em vez de arriscar o tempo limite de ferramenta de ~4 minutos do Claude Desktop. |
|
|
342
373
|
| `FFMPEG_PATH` | Caminho para o ffmpeg se não estiver no PATH do sistema |
|
|
343
|
-
| `WHISPER_PRIVACY_MODE` |
|
|
344
|
-
|
|
345
|
-
---
|
|
346
|
-
|
|
347
|
-
## Solução de problemas
|
|
348
|
-
|
|
349
|
-
Veja [TROUBLESHOOTING.md](TROUBLESHOOTING.md) para soluções detalhadas. Veja [PRIVACY.md](PRIVACY.md) se você lida com conteúdo regulamentado.
|
|
350
|
-
|
|
351
|
-
Lista de verificação rápida:
|
|
352
|
-
- Caminhos na configuração usam **barras invertidas duplas** (`C:\\whisper\\...`)
|
|
353
|
-
- `whisper-cli.exe` existe no caminho configurado
|
|
354
|
-
- O arquivo de modelo `.bin` existe no caminho configurado
|
|
355
|
-
- FFmpeg instalado e no PATH (`ffmpeg -version` funciona)
|
|
356
|
-
- Claude Desktop foi **completamente reiniciado** após editar a configuração
|
|
357
|
-
- Whisper aparece como **em execução** (emblema verde) em Configurações → Desenvolvedor
|
|
374
|
+
| `WHISPER_PRIVACY_MODE` | Defina como `true` para que todas as respostas das ferramentas retornem apenas metadados — nenhum texto de transcrição retornado ao Claude. Para conteúdo regulamentado ou confidencial. Pode ser substituído por chamada com o parâmetro `privacy_mode`. Veja [PRIVACY.md](PRIVACY.md). |
|
|
375
|
+
| `WHISPER_CONSENT_ACKNOWLEDGED` | Defina como `true` para suprimir a divulgação de consentimento única por sessão exibida antes de retornar texto de transcrição. Defina quando você entende os limites de privacidade e não precisa mais do lembrete. Sem efeito quando o modo de privacidade está ativo. |
|
|
358
376
|
|
|
359
377
|
---
|
|
360
378
|
|
|
361
|
-
## Segurança
|
|
362
|
-
|
|
363
|
-
O whisper-windows-mcp foi projetado com segurança como princípio central.
|
|
379
|
+
## Segurança
|
|
364
380
|
|
|
365
|
-
**
|
|
381
|
+
**Verificação do binário.** Para verificar a integridade do binário whisper-cli.exe no release pré-compilado, verifique o hash SHA256 no PowerShell:
|
|
366
382
|
|
|
367
|
-
|
|
383
|
+
```powershell
|
|
384
|
+
Get-FileHash "C:\whisper\Release\whisper-cli.exe" -Algorithm SHA256
|
|
385
|
+
```
|
|
368
386
|
|
|
369
|
-
|
|
387
|
+
O hash esperado está documentado na [página de releases](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0).
|
|
370
388
|
|
|
371
389
|
**Validação de entrada.** Todos os caminhos de arquivo são validados antes do uso — caminhos UNC (`\\server\share`) e sequências de travessia de diretório (`..`) são rejeitados. Arquivos acima de 10 GB são rejeitados para evitar esgotamento de recursos.
|
|
372
390
|
|
|
@@ -376,7 +394,21 @@ A variável de ambiente `WHISPER_PRIVACY_MODE` está planejada e limitará todas
|
|
|
376
394
|
|
|
377
395
|
**Troca de modelos é isolada em sandbox.** `switch_model` aceita apenas arquivos `.bin` dentro do diretório de modelos configurado. Caminhos fora desse diretório são rejeitados.
|
|
378
396
|
|
|
379
|
-
|
|
397
|
+
Veja [SECURITY.md](SECURITY.md) para a política de segurança completa.
|
|
398
|
+
|
|
399
|
+
---
|
|
400
|
+
|
|
401
|
+
## Solução de problemas
|
|
402
|
+
|
|
403
|
+
Veja [TROUBLESHOOTING.md](TROUBLESHOOTING.md) para soluções detalhadas. Veja [PRIVACY.md](PRIVACY.md) se você lida com conteúdo regulamentado.
|
|
404
|
+
|
|
405
|
+
Lista de verificação rápida:
|
|
406
|
+
- Caminhos na configuração usam **barras invertidas duplas** (`C:\\whisper\\...`)
|
|
407
|
+
- `whisper-cli.exe` existe no caminho configurado
|
|
408
|
+
- O arquivo de modelo `.bin` existe no caminho configurado
|
|
409
|
+
- FFmpeg instalado e no PATH (`ffmpeg -version` funciona)
|
|
410
|
+
- Claude Desktop foi **completamente reiniciado** após editar a configuração
|
|
411
|
+
- Whisper aparece como **em execução** (emblema verde) em Configurações → Desenvolvedor
|
|
380
412
|
|
|
381
413
|
---
|
|
382
414
|
|
|
@@ -384,7 +416,7 @@ A variável de ambiente `WHISPER_PRIVACY_MODE` está planejada e limitará todas
|
|
|
384
416
|
|
|
385
417
|
**Uso não comercial:** MIT — gratuito para uso pessoal, educacional e não comercial. Veja [LICENSE](LICENSE).
|
|
386
418
|
|
|
387
|
-
**Uso comercial:** É necessário um contrato de licença comercial separado para qualquer uso empresarial, profissional ou que gere receita. Veja [LICENSE
|
|
419
|
+
**Uso comercial:** É necessário um contrato de licença comercial separado para qualquer uso empresarial, profissional ou que gere receita. Veja [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md) para os termos e informações de contato.
|
|
388
420
|
|
|
389
421
|
## Contribuições
|
|
390
422
|
|