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.pl.md
ADDED
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
# whisper-windows-mcp — Plan rozwoju
|
|
2
|
+
|
|
3
|
+
Aktualna wersja: **v2.2.0**
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Zasady projektowania
|
|
8
|
+
|
|
9
|
+
Zasady te kierują każdą decyzją w tym projekcie i mają pierwszeństwo przed szybkością dodawania funkcji.
|
|
10
|
+
|
|
11
|
+
**Minimalizacja użycia API Claude.** Cały przepływ pracy transkrypcji — skanowanie, analiza, kolejka, uruchamianie, weryfikacja, przełączanie modeli — musi być możliwy do wykonania przy jak najmniejszej liczbie interakcji z Claude. To narzędzie musi w pełni działać dla użytkowników darmowego planu Claude, którzy nie płacą za subskrypcje Pro lub Max. Każde wywołanie narzędzia zużywa budżet użytkowania. Projektuj odpowiednio.
|
|
12
|
+
|
|
13
|
+
**Zawsze tylko jedna instancja whisper.** Nigdy nie twórz drugiego procesu whisper-cli.exe gdy jeden już działa. Blokowanie procesów jest obowiązkowe i nie podlega negocjacjom.
|
|
14
|
+
|
|
15
|
+
**Lokalność jako priorytet, prywatność domyślnie.** Audio nigdy nie opuszcza komputera. Żadne API w chmurze nie są potrzebne do podstawowej funkcjonalności. Opcjonalne integracje (np. pobieranie modeli z Hugging Face) muszą być wyraźnie udokumentowane jako opcjonalne.
|
|
16
|
+
|
|
17
|
+
**Jawna kontrola użytkownika.** Bez cichych operacji masowych. Destrukcyjne lub nieodwracalne działania wymagają potwierdzenia. Użytkownik musi zawsze wiedzieć, co się stanie przed tym, jak to nastąpi.
|
|
18
|
+
|
|
19
|
+
**Bezpieczne ścieżki Unicode.** Cały I/O plików musi poprawnie obsługiwać nazwy plików zawierające znaki spoza ASCII, w tym polskie, japońskie, chińskie, emoji, nawiasy i inne znaki specjalne.
|
|
20
|
+
|
|
21
|
+
**Modularność i kombinowalność.** Narzędzia są niezależne. Użytkownicy używają tego, czego potrzebują. Żadna funkcja nie powinna wymagać innej, chyba że jest to nieuniknione.
|
|
22
|
+
|
|
23
|
+
**Optymalizacja przed funkcjami.** Gdy masz wątpliwości między dodaniem funkcji a zmniejszeniem obciążenia systemu lub liczby wywołań API — zmniejsz obciążenie. Duże sesje optymalizacji są kosztowne. Projektuj architekturę poprawnie od początku.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Ukończone
|
|
28
|
+
|
|
29
|
+
### ✅ v1.3.1 — Blokowanie procesów
|
|
30
|
+
Dodano sprawdzanie `isWhisperRunning()` używające `tasklist /FI` przed uruchomieniem jakiegokolwiek procesu transkrypcji. Zwraca wyraźny błąd z instrukcjami Menedżera zadań zamiast tworzyć konkurujący proces.
|
|
31
|
+
|
|
32
|
+
### ✅ v1.4.0 — Akceleracja GPU Vulkan
|
|
33
|
+
Skompilowano whisper.cpp ze źródeł z `-DGGML_VULKAN=ON` używając VS Build Tools 2022 i Vulkan SDK. Gotowe binaria Vulkan dystrybuowane jako `whisper-vulkan-win-x64.zip`.
|
|
34
|
+
|
|
35
|
+
**Wyniki na AMD Radeon RX Vega 56:** Średnie wykorzystanie GPU ~16%. Plik 58-minutowy ukończony w ~4,5 minuty na GPU vs ~88 minut tylko na CPU.
|
|
36
|
+
|
|
37
|
+
### ✅ v1.5.0 — Diagnostyka systemu
|
|
38
|
+
Narzędzie `check_system`: wykrywanie GPU przez `wmic`, weryfikacja DLL Vulkan, raportowanie VRAM, rekomendacja rozmiaru modelu.
|
|
39
|
+
|
|
40
|
+
### ✅ v1.6.0 — Wstępna analiza pliku
|
|
41
|
+
Narzędzie `analyze_media` przez FFprobe: czas trwania, rozmiar, kodek, status transkrypcji, szacowanie czasu CPU i GPU. Skanowanie pojedynczego pliku lub folderu z opcjami sortowania.
|
|
42
|
+
|
|
43
|
+
### ✅ v1.7.0 — Transkrypcja w tle + Widoczność postępu
|
|
44
|
+
Architektura odłączonego procesu: `transcribe_audio` z `background=true` uruchamia whisper jako odłączony proces i natychmiast zwraca ID zadania. `check_progress` analizuje znaczniki czasu segmentów stderr whisper dla procentu i ETA w czasie rzeczywistym.
|
|
45
|
+
|
|
46
|
+
### ✅ v1.8.0 — Sekwencyjna partia z weryfikacją
|
|
47
|
+
`start_batch` i `check_batch_progress`: automatyczne sekwencyjne przetwarzanie, weryfikacja transkrypcji (wykrywanie pustych/krótkich wyników), automatyczne przesuwanie kolejki, znaczniki czasu postępu per plik.
|
|
48
|
+
|
|
49
|
+
### ✅ v1.9.0 — Obsługa wielu języków i tłumaczenia
|
|
50
|
+
`generate_subtitles` z wykrywaniem `language=auto` i podwójnym wyjściem SRT `translate_to_english=true`. Dodano obsługę formatów `.3gp` i `.ts`. `language=auto` dostępne też w `transcribe_audio`.
|
|
51
|
+
|
|
52
|
+
**Znane ograniczenie:** Wbudowane tłumaczenie Whisper jest skierowane tylko na angielski. Wymaga modelu `large-v3` dla języków innych niż angielski — modele tylko angielskie (`*.en.bin`) generują `[FOREIGN]` dla audio w innych językach.
|
|
53
|
+
|
|
54
|
+
### ✅ v2.0.0 — Bezpieczne ścieżki Unicode + SRT w tle
|
|
55
|
+
**Nazwy plików Unicode:** Pliki z niezgodnymi z ASCII znakami w nazwach powodowały ciche niepowodzenia transkrypcji w tle. Naprawiono przez kierowanie całego wyjścia przez oczyszczoną tymczasową ścieżkę opartą na ID zadania, następnie przenoszenie wyniku do właściwego miejsca docelowego po zakończeniu.
|
|
56
|
+
|
|
57
|
+
**SRT w trybie tle:** `spawnDetached` wcześniej na stałe kodował `-otxt` niezależnie od żądanego formatu, a `generate_subtitles` blokował synchronicznie i osiągał 4-minutowy limit czasu MCP na dłuższych plikach. Naprawiono dodając parametr `outputFormat` do `spawnDetached`, obsługując wyjście `text` i `srt` w trybie tle.
|
|
58
|
+
|
|
59
|
+
### ✅ v2.0.1 — Poprawki błędów (włączone do v2.2.0)
|
|
60
|
+
- `--max-context 0` zakodowane na stałe w `buildArgs` i `spawnDetached` — zapobiega pętlom halucynacji na długim audio.
|
|
61
|
+
- `--no-speech-thold 0.6` zakodowane na stałe w obu funkcjach — segmenty poniżej progu pewności są traktowane jako cisza.
|
|
62
|
+
- Walidacja ścieżki (`validateInputPath`) — odrzuca ścieżki UNC i przejścia `..`.
|
|
63
|
+
- Ochrona rozmiaru pliku `MAX_FILE_SIZE_MB = 10240`.
|
|
64
|
+
- Komentarz bezpieczeństwa iniekcji transkrypcji w `transcribeSingle`.
|
|
65
|
+
- Naprawiono uszkodzone polecenie CLI partii w TROUBLESHOOTING.md.
|
|
66
|
+
|
|
67
|
+
### ✅ v2.1.0 — Zestaw zarządzania modelami (włączony do v2.2.0)
|
|
68
|
+
- `WHISPER_MODEL` zmienione z `const` na `let` (mutowalne w sesji).
|
|
69
|
+
- `MODEL_REGISTRY` — 16 modeli, warianty pełnej precyzji i skwantyzowane, URL pobierania z Hugging Face.
|
|
70
|
+
- `ALLOWED_HF_PREFIXES` — lista dozwolonych URL ograniczająca pobieranie do przestrzeni nazw `ggerganov/whisper.cpp` i `ggml-org`.
|
|
71
|
+
- Narzędzie `list_models` — skanuje katalog modeli, pokazuje aktywny model, rozmiary, przypadki użycia, dostępne pobierania.
|
|
72
|
+
- Narzędzie `download_model` — pobiera z Hugging Face przez wbudowany `https` Node.js, atomowe przemianowanie.
|
|
73
|
+
- Narzędzie `switch_model` — waliduje rozszerzenie `.bin`, ograniczenie katalogu, sprawdzenie blokady procesu.
|
|
74
|
+
- Zaktualizowano `recommendedModel()` do rekomendowania `large-v3-turbo` dla VRAM 6GB+.
|
|
75
|
+
|
|
76
|
+
### ✅ v2.2.0 — Rozszerzenie jakości, parametrów i sprzętu (aktualna)
|
|
77
|
+
- Interfejs `WhisperOptions` zastępujący argumenty pozycyjne w `buildArgs`.
|
|
78
|
+
- Nowe parametry w `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
|
+
- Nowe parametry w `generate_subtitles`: `temperature`, `prompt`, `beam_size`, `best_of`, `diarize`, `vad_model`.
|
|
80
|
+
- Zrefaktoryzowano `spawnDetached` — wszystkie flagi jakości są teraz stosowane w trybie tle/partia.
|
|
81
|
+
- Naprawiono wyjście partii — `readBatchProgress` teraz przenosi tymczasowe wyjście do końcowego miejsca docelowego przed weryfikacją.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Krytyczny błąd — Automatyczne przesuwanie partii (potwierdzony, oczekuje naprawy)
|
|
86
|
+
|
|
87
|
+
### Partia nie przesuwa się bez aktywnego odpytywania
|
|
88
|
+
|
|
89
|
+
`start_batch` nie przesuwa kolejki autonomicznie między plikami. Partia przesuwa się tylko gdy wywoływane jest `check_batch_progress`. Bez odpytywania partia zatrzymuje się na czas nieokreślony po każdym pliku.
|
|
90
|
+
|
|
91
|
+
**Planowana naprawa — Opcja B (callback wyjścia):** Dołącz handler `on('exit')` do uruchomionego procesu potomnego whisper-cli. Gdy proces wyjdzie, natychmiast wywołaj logikę postępu, aby zweryfikować wyjście i uruchomić następne zadanie.
|
|
92
|
+
|
|
93
|
+
**Aktualne obejście:** Wywołuj `check_batch_progress` wielokrotnie aż partia się ukończy.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Planowane — Architektura prywatności (przed migracją do Bun)
|
|
98
|
+
|
|
99
|
+
### Zmienna środowiskowa `WHISPER_PRIVACY_MODE`
|
|
100
|
+
Dodaj `WHISPER_PRIVACY_MODE` jako zmienną środowiskową w `claude_desktop_config.json`. Po włączeniu wszystkie odpowiedzi narzędzi zwracają tylko metadane — żaden tekst transkrypcji nie jest uwzględniany.
|
|
101
|
+
|
|
102
|
+
### Brama zgody dla treści transkrypcji
|
|
103
|
+
Gdy `WHISPER_PRIVACY_MODE` nie jest włączony (domyślnie), każda odpowiedź narzędzia zawierająca tekst transkrypcji musi być poprzedzona ujawnieniem przy pierwszym użyciu w sesji.
|
|
104
|
+
|
|
105
|
+
### Dokumentacja `PRIVACY.md`
|
|
106
|
+
Utwórz `PRIVACY.md` w katalogu głównym repozytorium obejmujący pełne wskazówki dotyczące prywatności i ramy zgodności.
|
|
107
|
+
|
|
108
|
+
### Automatyczne czyszczenie katalogu tymczasowego
|
|
109
|
+
Dodaj automatyczne czyszczenie ukończonych plików zadań po konfigurowalnym oknie retencji (domyślnie: 7 dni).
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Planowane — Migracja do Bun
|
|
114
|
+
|
|
115
|
+
Migracja środowiska uruchomieniowego z Node.js do [Bun](https://bun.sh) po zakończeniu architektury prywatności i przed dodaniem funkcji v2.3.0. Bun uruchamia TypeScript natywnie bez kroku kompilacji i startuje znacznie szybciej niż Node.
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Licencjonowanie
|
|
120
|
+
|
|
121
|
+
whisper-windows-mcp używa podwójnego licencjonowania.
|
|
122
|
+
|
|
123
|
+
**Użytek niekomercyjny:** MIT — bezpłatny do użytku osobistego, edukacyjnego i niekomercyjnego. Zobacz [LICENSE](LICENSE).
|
|
124
|
+
|
|
125
|
+
**Użytek komercyjny:** Wymagana jest osobna umowa licencji komercyjnej. Zobacz [LICENSE-COMMERCIAL.md](LICENSE-COMMERCIAL.md).
|
|
126
|
+
|
|
127
|
+
`WHISPER_PRIVACY_MODE` dla wdrożeń w regulowanych branżach jest w trakcie opracowywania i planowany na przyszłe wydanie. Zobacz [PRIVACY.md](PRIVACY.md) dla aktualnych wskazówek.
|
|
128
|
+
|
|
129
|
+
## Planowane — v2.3.0: Rozszerzenie formatów wyjściowych
|
|
130
|
+
|
|
131
|
+
### Format napisów VTT
|
|
132
|
+
Wyjście WebVTT (`.vtt`) wraz z SRT. Standard internetowy używany przez YouTube, HTML5 `<video>` i większość nowoczesnych odtwarzaczy.
|
|
133
|
+
|
|
134
|
+
### Format LRC
|
|
135
|
+
Wyjście w formacie LRC (`.lrc`) tekstu piosenek/karaoke przez `-olrc`.
|
|
136
|
+
|
|
137
|
+
### Format CSV
|
|
138
|
+
Wyjście CSV (`.csv`) przez `-ocsv`. Strukturalne dane tabelaryczne z synchronizacją segmentów.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Planowane — Przyszłe wydania
|
|
143
|
+
|
|
144
|
+
### TinyDiarize
|
|
145
|
+
Obsługa flagi `--tinydiarize` z wariantami modeli obsługującymi `tdrz`. Działa na nagraniach mono w przeciwieństwie do flagi `--diarize` stereo.
|
|
146
|
+
|
|
147
|
+
### Transkrypcja URL YouTube
|
|
148
|
+
Bezpośrednia transkrypcja z URL YouTube przez yt-dlp. Wymaga zainstalowanego yt-dlp w PATH.
|
|
149
|
+
|
|
150
|
+
### Narzędzia przepływu pracy projektów wideo
|
|
151
|
+
Dla użytkowników zarządzających dużymi projektami edycji wideo z folderami klipów źródłowych i edytowanych. Pliki źródłowe nigdy nie są zmieniane bez jawnego potwierdzenia użytkownika.
|
|
152
|
+
|
|
153
|
+
### Diaryzacja mówców (pyannote-audio)
|
|
154
|
+
Pełna diaryzacja mówców mono z etykietami ID mówcy. Wymaga pyannote-audio — biblioteki opartej na Pythonie z wymogiem tokenu dostępu do modeli Hugging Face.
|
|
155
|
+
|
|
156
|
+
### Tłumaczenie na języki inne niż angielski
|
|
157
|
+
Flaga `--translate` Whisper jest skierowana tylko na angielski. Obsługa dowolnych języków docelowych wymaga zewnętrznego API tłumaczenia lub lokalnego modelu tłumaczenia.
|
|
158
|
+
|
|
159
|
+
### Czyszczenie i formatowanie transkrypcji
|
|
160
|
+
Pipeline post-przetwarzania: usuwanie słów wypełniaczy, podziały akapitów na naturalnych granicach tematów, formatowanie uwzględniające mówców, eksport do PDF lub DOCX.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Dystrybucja
|
|
165
|
+
|
|
166
|
+
Dostępne na [npm](https://www.npmjs.com/package/whisper-windows-mcp), [mcpservers.org](https://mcpservers.org) i [Glama](https://glama.ai).
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Dokumentacja wielojęzyczna
|
|
171
|
+
|
|
172
|
+
Dokumentacja w językach japońskim, koreańskim, wietnamskim, indonezyjskim, ukraińskim, brazylijskim portugalskim, hiszpańskim i polskim jest utrzymywana równolegle z angielską. Następujące pliki muszą być aktualizowane, aby odpowiadać dokumentacji angielskiej po każdym wydaniu:
|
|
173
|
+
|
|
174
|
+
**Japoński (`*.ja.md`)** — `README.ja.md` / `TROUBLESHOOTING.ja.md` / `ROADMAP.ja.md` / `PRIVACY.ja.md` / `SECURITY.ja.md`
|
|
175
|
+
|
|
176
|
+
**Koreański (`*.ko.md`)** — `README.ko.md` / `TROUBLESHOOTING.ko.md` / `ROADMAP.ko.md` / `PRIVACY.ko.md` / `SECURITY.ko.md`
|
|
177
|
+
|
|
178
|
+
**Wietnamski (`*.vi.md`)** — `README.vi.md` / `TROUBLESHOOTING.vi.md` / `ROADMAP.vi.md` / `PRIVACY.vi.md` / `SECURITY.vi.md`
|
|
179
|
+
|
|
180
|
+
**Indonezyjski (`*.id.md`)** — `README.id.md` / `TROUBLESHOOTING.id.md` / `ROADMAP.id.md` / `PRIVACY.id.md` / `SECURITY.id.md`
|
|
181
|
+
|
|
182
|
+
**Ukraiński (`*.uk.md`)** — `README.uk.md` / `TROUBLESHOOTING.uk.md` / `ROADMAP.uk.md` / `PRIVACY.uk.md` / `SECURITY.uk.md`
|
|
183
|
+
|
|
184
|
+
**Brazylijski portugalski (`*.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
|
+
**Hiszpański (`*.es.md`)** — `README.es.md` / `TROUBLESHOOTING.es.md` / `ROADMAP.es.md` / `PRIVACY.es.md` / `SECURITY.es.md`
|
|
187
|
+
|
|
188
|
+
**Polski (`*.pl.md`)** — `README.pl.md` / `TROUBLESHOOTING.pl.md` / `ROADMAP.pl.md` / `PRIVACY.pl.md` / `SECURITY.pl.md`
|
|
189
|
+
|
|
190
|
+
Wkład społeczności dla innych języków jest mile widziany.
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Wkład
|
|
195
|
+
|
|
196
|
+
Pull requesty są mile widziane. Sprawdź istniejące zgłoszenia przed rozpoczęciem pracy.
|
|
197
|
+
|
|
198
|
+
Jeśli testowałeś akcelerację GPU na sprzęcie niewymienionym powyżej, otwórz zgłoszenie z modelem GPU, VRAM, rozmiarem modelu i obserwowaną przepustowością. Pomaga to budować dokładne odniesienie wydajności dla innych użytkowników.
|