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/README.pl.md ADDED
@@ -0,0 +1,393 @@
1
+ # whisper-windows-mcp
2
+
3
+ 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
+
5
+ > **Dlaczego ten pakiet istnieje?**
6
+ > Popularny pakiet `whisper-mcp` został stworzony dla macOS i zakłada środowisko Unix. Na Windows nie działa. Ten pakiet został napisany specjalnie dla użytkowników Windows, którzy chcą lokalnej transkrypcji AI zintegrowanej z Claude Desktop.
7
+
8
+ ---
9
+
10
+ ## Co możesz robić
11
+
12
+ Po instalacji możesz po prostu powiedzieć w Claude Desktop:
13
+
14
+ - *"Transkrybuj C:\Users\Me\Downloads\meeting.mp3"*
15
+ - *"Transkrybuj wszystkie nagrania w tym folderze i zapisz każde jako plik tekstowy"*
16
+ - *"Utwórz polskie i angielskie napisy do tego wideo"*
17
+ - *"Rozpocznij wsadową transkrypcję wszystkich plików w tym folderze"*
18
+ - *"Ile czasu zajmie transkrypcja tych plików?"*
19
+ - *"Sprawdź, czy akceleracja GPU działa"*
20
+
21
+ ---
22
+
23
+ ## Wymagania
24
+
25
+ 1. **Node.js 18 lub nowszy** — [nodejs.org](https://nodejs.org)
26
+ 2. **Binaria whisper.cpp z obsługą Vulkan GPU** — patrz Krok 1
27
+ 3. **Plik modelu Whisper** — patrz Krok 2
28
+ 4. **FFmpeg** — wymagany dla plików wideo i formatów audio innych niż WAV/MP3
29
+
30
+ ---
31
+
32
+ ## Krok 1 — Instalacja binariów whisper.cpp
33
+
34
+ ### Opcja A — Gotowa kompilacja Vulkan (zalecana)
35
+
36
+ Pobierz `whisper-vulkan-win-x64.zip` ze [strony wydań](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0).
37
+
38
+ Jest to niestandardowa kompilacja z włączoną **akceleracją Vulkan GPU**. Działa z GPU AMD, NVIDIA i Intel — bez potrzeby instalowania dodatkowych SDK producenta.
39
+
40
+ Rozpakuj do `C:\whisper\Release\`. Powinieneś mieć następujące pliki:
41
+
42
+ ```
43
+ C:\whisper\Release\whisper-cli.exe
44
+ C:\whisper\Release\ggml-vulkan.dll
45
+ C:\whisper\Release\ggml.dll
46
+ C:\whisper\Release\ggml-base.dll
47
+ C:\whisper\Release\ggml-cpu.dll
48
+ C:\whisper\Release\whisper.dll
49
+ ```
50
+
51
+ Akceleracja GPU jest włączana automatycznie — nie wymaga dodatkowej konfiguracji.
52
+
53
+ ### Opcja B — Kompilacja ze źródeł
54
+
55
+ Wymagane: Git, CMake, Visual Studio Build Tools 2022+ z komponentem "Desktop development with C++", Vulkan SDK z [lunarg.com](https://vulkan.lunarg.com/sdk/home#windows).
56
+
57
+ ```
58
+ git clone https://github.com/ggml-org/whisper.cpp
59
+ cd whisper.cpp
60
+ cmake -B build -DGGML_VULKAN=ON -DCMAKE_BUILD_TYPE=Release
61
+ cmake --build build --config Release --target whisper-cli
62
+ ```
63
+
64
+ Skopiuj binaria z `build\bin\Release\` do `C:\whisper\Release\`.
65
+
66
+ > **Uwaga:** Oficjalne wydania whisper.cpp dla Windows na GitHub nie zawierają kompilacji Vulkan. Użyj gotowej kompilacji powyżej lub skompiluj ze źródeł z flagą `-DGGML_VULKAN=ON`.
67
+
68
+ ---
69
+
70
+ ## Krok 2 — Pobranie modelu Whisper
71
+
72
+ | Model | Rozmiar | Szybkość | Dokładność | Najlepszy do |
73
+ |---|---|---|---|---|
74
+ | `ggml-tiny.en.bin` | 75 MB | Bardzo szybki | Podstawowa | Szybkie testy |
75
+ | `ggml-base.en.bin` | 142 MB | Szybki | Dobra | Codzienny angielski |
76
+ | `ggml-small.en.bin` | 466 MB | Umiarkowany | Lepsza | Ważne nagrania |
77
+ | `ggml-medium.en.bin` | 1,5 GB | Szybki na GPU | Bardzo dobra | Najwyższa jakość angielskiego |
78
+ | `ggml-large-v3-turbo.bin` | 1,6 GB | Szybki na GPU | Doskonała | **Zalecany do wsadowego przetwarzania GPU — ~6x szybszy niż large-v3 przy minimalnej utracie dokładności** |
79
+ | `ggml-large-v3.bin` | 2,9 GB | Szybki na GPU | Doskonała | Wielojęzyczny, maksymalna dokładność |
80
+ | `ggml-medium.en-q5_0.bin` | 514 MB | Szybki | Bardzo dobra | **Najlepszy wybór CPU-only dla angielskiego — wysoka dokładność przy niskim zużyciu pamięci** |
81
+ | `ggml-large-v3-turbo-q5_0.bin` | 547 MB | Szybki | Doskonała | **Najlepszy wybór CPU-only wielojęzyczny** |
82
+ | `ggml-large-v3-q5_0.bin` | 1,1 GB | Umiarkowany na CPU | Doskonała | Wielojęzyczny, przyjazny dla CPU |
83
+
84
+ Użyj `download_model` w Claude Desktop do bezpośredniej instalacji. Dla **tylko angielskiego**: `large-v3-turbo` (GPU) lub `medium.en-q5_0` (CPU). Dla **wielojęzycznego**: `large-v3-turbo` lub `large-v3-turbo-q5_0` (CPU). Modele tylko angielskie (`*.en.bin`) generują `[FOREIGN]` dla audio w innych językach i nie mogą być używane dla innych języków.
85
+
86
+ ---
87
+
88
+ ## Krok 3 — Instalacja FFmpeg
89
+
90
+ FFmpeg jest wymagany dla plików wideo i nienatywnych formatów audio.
91
+
92
+ Instalacja przez winget:
93
+ ```
94
+ winget install ffmpeg
95
+ ```
96
+
97
+ Lub pobierz z [ffmpeg.org](https://ffmpeg.org/download.html) i dodaj do PATH.
98
+
99
+ Weryfikacja:
100
+ ```
101
+ ffmpeg -version
102
+ ```
103
+
104
+ ---
105
+
106
+ ## Krok 4 — Instalacja serwera MCP
107
+
108
+ ```
109
+ npm install -g whisper-windows-mcp
110
+ ```
111
+
112
+ ---
113
+
114
+ ## Krok 5 — Konfiguracja Claude Desktop
115
+
116
+ Otwórz Claude Desktop → Ustawienia → Deweloper → Edytuj konfigurację.
117
+
118
+ Dodaj wpis `whisper`:
119
+
120
+ ```json
121
+ {
122
+ "mcpServers": {
123
+ "whisper": {
124
+ "command": "npx",
125
+ "args": ["-y", "whisper-windows-mcp"],
126
+ "env": {
127
+ "WHISPER_CLI_PATH": "C:\\whisper\\Release\\whisper-cli.exe",
128
+ "WHISPER_MODEL": "C:\\whisper\\models\\ggml-medium.en.bin"
129
+ }
130
+ }
131
+ }
132
+ }
133
+ ```
134
+
135
+ Lokalizacja pliku konfiguracyjnego: `C:\Users\NazwaUżytkownika\AppData\Roaming\Claude\claude_desktop_config.json`
136
+
137
+ > Używaj **podwójnych ukośników odwrotnych** we wszystkich ścieżkach.
138
+
139
+ Zapisz i **w pełni uruchom ponownie** Claude Desktop. Powinieneś zobaczyć **whisper** na liście z zielonym znaczkiem "uruchomiony" w Ustawieniach → Deweloper.
140
+
141
+ ---
142
+
143
+ ## Krok 6 — Weryfikacja instalacji
144
+
145
+ W Claude Desktop zapytaj:
146
+
147
+ > *"Sprawdź konfigurację whisper"*
148
+
149
+ Następnie:
150
+
151
+ > *"Sprawdź sprzęt systemowy"*
152
+
153
+ Potwierdzi to, że GPU zostało wykryte i akceleracja Vulkan jest aktywna.
154
+
155
+ ---
156
+
157
+ ## Dostępne narzędzia
158
+
159
+ ### `transcribe_audio`
160
+ Transkrybuje pojedynczy plik. Obsługuje tryb blokujący (domyślny) lub działający w tle dla długich plików.
161
+
162
+ | Parametr | Opis |
163
+ |---|---|
164
+ | `file_path` | Bezwzględna ścieżka do pliku (wymagana) |
165
+ | `language` | Kod języka (`pl`, `en`, `ja` itp.) lub `auto` do automatycznego wykrywania. Domyślnie: `en` |
166
+ | `output_format` | `text` (domyślnie), `timestamps`, `json` lub `srt` |
167
+ | `save_to_file` | Zapisz transkrypcję jako .txt obok pliku źródłowego |
168
+ | `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. |
169
+ | `threads` | Zastąp liczbę wątków CPU |
170
+ | `temperature` | Temperatura próbkowania 0,0–1,0. Domyślnie 0,0 (deterministyczny). Wyższe wartości redukują halucynacje w hałaśliwym audio. |
171
+ | `prompt` | Ciąg kontekstu poprzedniego — poprawia dokładność dla słownictwa dziedzinowego lub imion mówców. Np.: `"Nazwy: Keemstar, DramaAlert."` |
172
+ | `condition_on_prev_text` | Ponownie włącz warunkowanie kontekstem między segmentami. Domyślnie false. |
173
+ | `beam_size` | Szerokość wyszukiwania wiązką. Wyższa = dokładniejsza, wolniejsza. Domyślnie 5. |
174
+ | `best_of` | Liczba ocenianych sekwencji kandydatów. Domyślnie 5. |
175
+ | `gpu_device` | Indeks urządzenia GPU dla systemów wielokartowych. Domyślnie 0. |
176
+ | `processors` | Liczba równoległych procesorów. Domyślnie 1. |
177
+ | `word_timestamps` | Jedno słowo na segment ze znacznikiem czasu. Przydatne do wyrównywania klipów. |
178
+ | `max_segment_length` | Maksymalna długość segmentu w znakach. |
179
+ | `diarize` | Diaryzacja mówców stereo — wymaga audio stereo z mówcami na osobnych kanałach. |
180
+ | `vad_model` | Ścieżka do pliku .bin modelu Silero VAD. Usuwa ciszę przed transkrypcją — redukuje halucynacje w hałaśliwych plikach. |
181
+ | `offset_t` | Przesunięcie początkowe w milisekundach. |
182
+ | `duration` | Czas przetwarzania w milisekundach od przesunięcia. |
183
+
184
+ ---
185
+
186
+ ### `check_progress`
187
+ Monitoruje zadanie transkrypcji w tle uruchomione przez `transcribe_audio` (background=true).
188
+
189
+ Zwraca czas, który upłynął, ostatni przetworzony znacznik czasu, procent i kompletną transkrypcję po zakończeniu.
190
+
191
+ | Parametr | Opis |
192
+ |---|---|
193
+ | `job_id` | ID zadania zwrócone przez `transcribe_audio` |
194
+
195
+ ---
196
+
197
+ ### `start_batch`
198
+ Automatycznie i sekwencyjnie transkrybuje wszystkie jeszcze nieprzetranstrybuowane pliki w folderze. Sortuje według czasu trwania (najkrótsze pierwsze), przetwarza jeden po drugim jako zadania w tle i weryfikuje każdy wynik.
199
+
200
+ | Parametr | Opis |
201
+ |---|---|
202
+ | `folder_path` | Ścieżka do folderu (wymagana) |
203
+ | `language` | Kod języka. Domyślnie: `en` |
204
+ | `threads` | Zastąp liczbę wątków CPU |
205
+
206
+ ---
207
+
208
+ ### `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, ETA i pliki z błędami.
210
+
211
+ | Parametr | Opis |
212
+ |---|---|
213
+ | `batch_id` | ID partii zwrócone przez `start_batch` |
214
+
215
+ ---
216
+
217
+ ### `transcribe_batch` (interaktywny)
218
+ Przetwarza pliki jeden po jednym z podglądem i potwierdzeniem przed każdym. Przydatne gdy chcesz przeglądać wyniki w trakcie.
219
+
220
+ | Parametr | Opis |
221
+ |---|---|
222
+ | `folder_path` | Ścieżka do folderu (wymagana) |
223
+ | `file_index` | Który plik przetworzyć (numeracja od 1). Pomiń, aby najpierw wyświetlić listę plików. |
224
+ | `language` | Kod języka. Domyślnie: `en` |
225
+ | `recursive` | Uwzględnij podfoldery |
226
+
227
+ ---
228
+
229
+ ### `generate_subtitles`
230
+ Generuje pliki napisów SRT. Obsługuje automatyczne wykrywanie języka i wyjście z tłumaczeniem na angielski.
231
+
232
+ | Parametr | Opis |
233
+ |---|---|
234
+ | `file_path` | Ścieżka do pliku (wymagana) |
235
+ | `language` | Kod języka lub `auto` do automatycznego wykrywania. Domyślnie: `en` |
236
+ | `translate_to_english` | Generuj też `.en.srt` z tłumaczeniem na angielski. Dotyczy tylko gdy źródło nie jest po angielsku. |
237
+ | `threads` | Zastąp liczbę wątków CPU |
238
+
239
+ Gdy oba są żądane, dwa pliki są zapisywane obok źródła:
240
+ - `nazwapliku.pl.srt` — oryginalny język
241
+ - `nazwapliku.en.srt` — tłumaczenie na angielski
242
+
243
+ > Wbudowane tłumaczenie Whisper tłumaczy tylko **na angielski**. Dla innych języków docelowych przetłumacz zawartość pliku .srt osobno.
244
+
245
+ ---
246
+
247
+ ### `analyze_media`
248
+ Analizuje plik 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
+
250
+ | Parametr | Opis |
251
+ |---|---|
252
+ | `path` | Ścieżka do pojedynczego pliku lub folderu (wymagana) |
253
+ | `sort_by` | Dla folderów: `duration` (domyślnie), `name` lub `size` |
254
+
255
+ ---
256
+
257
+ ### `check_config`
258
+ Weryfikuje, czy whisper-cli.exe, plik modelu i FFmpeg są dostępne. Uruchom to najpierw, jeśli coś nie działa.
259
+
260
+ ---
261
+
262
+ ### `list_models`
263
+ Wyświetla wszystkie zainstalowane pliki modeli Whisper w katalogu modeli. Pokazuje nazwę pliku, rozmiar, czy jest aktywny, status kwantyzacji i zalecane przypadki użycia. Bez połączeń sieciowych — odczytuje tylko lokalny system plików.
264
+
265
+ ---
266
+
267
+ ### `download_model`
268
+ Pobiera model Whisper bezpośrednio z Hugging Face do katalogu modeli. Przyjmuje nazwę modelu (np. `large-v3-turbo`, `medium.en-q5_0`) i automatycznie obsługuje pobieranie. Pobiera tylko z zaufanych przestrzeni nazw Hugging Face. Po pobraniu aktywuj przez `switch_model`.
269
+
270
+ | Parametr | Opis |
271
+ |---|---|
272
+ | `model_name` | Nazwa modelu do pobrania, np. `large-v3-turbo`, `large-v3-turbo-q5_0`, `medium.en-q5_0` |
273
+
274
+ ---
275
+
276
+ ### `switch_model`
277
+ Przełącza aktywny model Whisper dla bieżącej sesji bez restartu Claude Desktop. Zmiana obowiązuje tylko w sesji — nie jest zachowywana po restarcie. Aby zmiana była trwała, zaktualizuj `WHISPER_MODEL` w konfiguracji.
278
+
279
+ | Parametr | Opis |
280
+ |---|---|
281
+ | `model_name` | Nazwa pliku modelu (np. `ggml-large-v3-turbo.bin`) lub pełna ścieżka. Musi być plikiem `.bin` w skonfigurowanym katalogu modeli. |
282
+
283
+ ---
284
+
285
+ ### `check_system`
286
+ Wykrywa sprzęt GPU i potwierdza dostępność akceleracji Vulkan. Raportuje nazwę GPU, VRAM, obecność `ggml-vulkan.dll` i zaleca najlepszy rozmiar modelu dla twojego sprzętu.
287
+
288
+ ---
289
+
290
+ ## Obsługiwane formaty
291
+
292
+ | Typ | Formaty |
293
+ |---|---|
294
+ | Natywne (bez konwersji) | `mp3`, `wav` |
295
+ | Wideo (automatyczna konwersja przez FFmpeg) | `mp4`, `mkv`, `avi`, `mov`, `webm`, `flv`, `wmv`, `m4v`, `ts`, `3gp` |
296
+ | Audio (automatyczna konwersja przez FFmpeg) | `m4a`, `ogg`, `flac` |
297
+
298
+ ---
299
+
300
+ ## Akceleracja GPU
301
+
302
+ 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
+
304
+ **Porównanie wydajności (model medium.en, plik audio ~5 minut):**
305
+
306
+ | Sprzęt | Czas |
307
+ |---|---|
308
+ | Tylko CPU (Ryzen 7 2700x, 8 wątków) | 8–12 minut |
309
+ | GPU (Vega 56 przez Vulkan) | 20–40 sekund |
310
+
311
+ Wykorzystanie GPU podczas transkrypcji wynosi zazwyczaj 15–20% i wraca do stanu bezczynności między plikami. CPU utrzymuje się na poziomie około 15%.
312
+
313
+ ---
314
+
315
+ ## Obsługa wielu języków
316
+
317
+ Whisper może automatycznie wykrywać mówiony język i transkrybować w tym języku. Wbudowany model tłumaczenia tłumaczy tylko **na angielski**.
318
+
319
+ Dla najlepszej dokładności wielojęzycznej używaj modelu `large-v3`. Modele tylko angielskie (`*.en.bin`) nie mogą wykrywać ani transkrybować innych języków.
320
+
321
+ **Przykład — obcojęzyczne wideo z napisami:**
322
+ 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 SRT z tłumaczeniem na angielski
325
+ 4. Wczytaj dowolny plik w VLC przez Napisy → Dodaj plik napisów
326
+
327
+ ---
328
+
329
+ ## Zaprojektowany dla użytkowników darmowego planu
330
+
331
+ To narzędzie zostało stworzone, aby zminimalizować interakcje z API Claude. Cały przepływ pracy transkrypcji — skanowanie, analiza, kolejka, uruchamianie, weryfikacja — jest zaprojektowany tak, aby wymagać jak najmniej interakcji z Claude. Ciężka praca jest wykonywana lokalnie na twoim komputerze.
332
+
333
+ ---
334
+
335
+ ## Opcjonalne zmienne środowiskowe
336
+
337
+ | Zmienna | Opis |
338
+ |---|---|
339
+ | `WHISPER_CLI_PATH` | Ścieżka do whisper-cli.exe (wymagana) |
340
+ | `WHISPER_MODEL` | Ścieżka do pliku modelu .bin (wymagana) |
341
+ | `WHISPER_THREADS` | Zastąp liczbę wątków CPU |
342
+ | `FFMPEG_PATH` | Ścieżka do ffmpeg jeśli nie ma go w systemowym PATH |
343
+ | `WHISPER_PRIVACY_MODE` | **Planowane.** Po ustawieniu na `true` odpowiedzi narzędzi zwracają tylko metadane — żaden tekst transkrypcji nie jest zwracany do Claude. Dla treści regulowanych lub poufnych. Zobacz [PRIVACY.md](PRIVACY.md). |
344
+
345
+ ---
346
+
347
+ ## Rozwiązywanie problemów
348
+
349
+ Zobacz [TROUBLESHOOTING.md](TROUBLESHOOTING.md) dla szczegółowych rozwiązań. Zobacz [PRIVACY.md](PRIVACY.md) jeśli obsługujesz treści regulowane.
350
+
351
+ Szybka lista kontrolna:
352
+ - Ścieżki w konfiguracji używają **podwójnych ukośników odwrotnych** (`C:\\whisper\\...`)
353
+ - `whisper-cli.exe` istnieje pod skonfigurowaną ścieżką
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.
368
+
369
+ Planowana jest zmienna środowiskowa `WHISPER_PRIVACY_MODE`, która ograniczy wszystkie odpowiedzi narzędzi tylko do metadanych (nazwa pliku, czas trwania, liczba słów) — żaden tekst transkrypcji nie będzie zwracany do Claude. Jest to prawidłowa konfiguracja dla treści regulowanych lub poufnych.
370
+
371
+ **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
+
373
+ **Świadomość iniekcji transkrypcji.** Pliki audio mogą zawierać wypowiadaną treść, która po transkrypcji przypomina instrukcje. Wbudowane mechanizmy obronne Claude obsługują to, ale warto wiedzieć, że sam serwer MCP traktuje treść transkrypcji jako dane — nigdy jako instrukcje.
374
+
375
+ **Pobieranie modeli jest ograniczone.** Narzędzie `download_model` pobiera tylko z dwóch zaufanych przestrzeni nazw Hugging Face (`ggerganov/whisper.cpp` i `ggml-org`). Dowolne URL są odrzucane. Przekierowania są weryfikowane względem listy dozwolonych przed wykonaniem.
376
+
377
+ **Przełączanie modeli jest piaskownicowane.** `switch_model` akceptuje tylko pliki `.bin` w skonfigurowanym katalogu modeli. Ścieżki poza tym katalogiem są odrzucane.
378
+
379
+ **Brak nowych zależności sieciowych.** Pobieranie modeli używa wbudowanego `https` Node.js — żadne zewnętrzne biblioteki HTTP nie są dodawane do pakietu.
380
+
381
+ ---
382
+
383
+ ## Licencja
384
+
385
+ **Użytek niekomercyjny:** MIT — bezpłatny do użytku osobistego, edukacyjnego i niekomercyjnego. Zobacz [LICENSE](LICENSE).
386
+
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-COMMERCIAL.md](LICENSE-COMMERCIAL.md).
388
+
389
+ ## Wkład
390
+
391
+ Pull requesty są mile widziane. Zobacz [ROADMAP.md](ROADMAP.md) dla planowanych funkcji.
392
+
393
+ Jeśli testowałeś akcelerację GPU na sprzęcie niewymienionym powyżej, otwórz zgłoszenie z wynikami — model GPU, VRAM, rozmiar modelu i obserwowana przepustowość.