use-local-whisper
/use-local-whisper
Zmienia transkrypcję głosu na lokalną, przez whisper.cpp na Apple Silicon, zamiast API Whisper, tylko dla WhatsAppa.
- Autor
- sliamh11 ↗
- Repozytorium
- Deus ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 05.09.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 1
Brak sygnałów. Repozytorium zmienione 05.09.2026, bez odwołań do wycofanych modeli i API.
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Zmienia transkrypcję głosu na lokalną, przez whisper.cpp na Apple Silicon, zamiast API Whisper, tylko dla WhatsAppa.
Oryginalny opis (EN)
Use when the user wants local voice transcription instead of OpenAI Whisper API. Switches to whisper.cpp running on Apple Silicon. WhatsApp only for now. Requires voice-transcription skill to be applied first.
Jak działa
- Prerequisites
- Phase 1: Pre-flight
- Phase 2: Apply Code Changes
- Phase 3: Verify
- Configuration
- Troubleshooting
Podgląd SKILL.md
--- name: use-local-whisper description: Use when the user wants local voice transcription instead of OpenAI Whisper API. Switches to whisper.cpp running on Apple Silicon. WhatsApp only for now. Requires voice-transcription skill to be applied first. --- # Use Local Whisper Switches voice transcription from OpenAI's Whisper API to local whisper.cpp. Runs entirely on-device — no API key, no network, no cost. **Channel support:** Currently WhatsApp only. The transcription module (`src/transcription.ts`) uses Baileys types for audio download. Other channels (Telegram, Discord, etc.) would need their own audio-download logic before this skill can serve them. **Note:** The Homebrew package is `whisper-cpp`, but the CLI binary it installs is `whisper-cli`. ## Prerequisites - `voice-transcription` skill must be applied first (WhatsApp channel) - macOS with Apple Silicon (M1+) recommended - `whisper-cpp` installed: `brew install whisper-cpp` (provides the `whisper-cli` binary) - `ffmpeg` installed: `brew install ffmpeg` - A GGML model file downloaded to `data/models/` ## Phase 1: Pre-flight ### Check if already applied Check if `src/transcription.ts` already uses `whisper-cli`: ```bash grep 'whisper-cli' src/transcription.ts && echo "Already applied" || echo "Not applied" ``` If already applied, skip to Phase 3 (Verify). ### Check dependencies are installed ```bash whisper-cli --help >/dev/null 2>&1 && echo "WHISPER_OK" || echo "WHISPER_MISSING" ffmpeg -version >/dev/null 2>&1 && echo "FFMPEG_OK" || echo "FFMPEG_MISSING" ``` If missing, install via Homebrew: ```bash brew install whisper-cpp ffmpeg ``` ### Check for model file ```bash ls data/models/ggml-*.bin 2>/dev/null || echo "NO_MODEL" ``` If no model exists, download the base model (148MB, good balance of speed and accuracy): ```bash mkdir -p data/models curl -L -o data/models/ggml-base.bin "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.bin" ``` For better accuracy at the cost of speed, use `ggml-small.bin` (466MB) or `ggml-medium.bin` (1.5GB). ## Phase 2: Apply Code Changes The local whisper feature modifies `src/transcription.ts` to use the `whisper-cli` binary instead of the OpenAI API. Check if it's already applied: ```bash grep 'whisper-cli' src/transcription.ts && echo "Already applied" || echo "Not applied" ``` If not applied, modify `src/transcription.ts` to use the local `whisper-cli` binary instead of the OpenAI API. The WhatsApp MCP package in `packages/` includes the transcription module. ### Validate ```bash npm run build ``` ## Phase 3: Verify ### Ensure launchd PATH includes Homebrew The Deus launchd service runs with a restricted PATH. `whisper-cli` and `ffmpeg` are in `/opt/homebrew/bin/` (Apple Silicon) or `/usr/local/bin/` (Intel), which may not be in the plist's PATH. Check the current PATH: ```bash grep -A1 'PATH' ~/Library/LaunchAgents/com.deus.plist ``` If `/opt/homebrew/bin` is missing, add it to the `<string>` value inside the `PATH` key in the plist. Then reload: ```bash launchctl unload ~/Library/LaunchAgents/com.deus.plist launchctl load ~/Library/LaunchAgents/com.deus.plist ``` ### Build and restart ```bash npm run build launchctl kickstart -k gui/$(id -u)/com.deus ``` ### Test Send a voice note in any registered group. The agent should receive it as `[Voice: <transcript>]`. ### Check logs ```bash tail -f logs/deus.log | grep -i -E "voice|transcri|whisper" ``` Look for: - `Transcribed voice message` — successful transcription - `whisper.cpp transcription failed` — check model path, ffmpeg, or PATH ## Configuration Environment variables (optional, set in `.env`): | Variable | Default | Description | |----------|---------|-------------| | `WHISPER_BIN` | `whisper-cli` | Path to whisper.cpp binary | | `WHISPER_MODEL` | `data/models/ggml-base.bin` | Path to GGML model file | ## Troubleshooting **"whisper.cpp transcription failed"**: Ensure both `whisper-cli` and `ffmpeg` are in PATH. The launchd service uses a restricted PATH — see Phase 3 above. Test manually: ```bash ffmpeg -f lavfi -i anullsrc=r=16000:cl=mono -t 1 -f wav /tmp/test.wav -y whisper-cli -m data/models/ggml-base.bin -f /tmp/test.wav --no-timestamps -nt ``` **Transcription works in dev but not as service**: The launchd plist PATH likely doesn't include `/opt/homebrew/bin`. See "Ensure launchd PATH includes Homebrew" in Phase 3. **Slow transcription**: The base model processes ~30s of audio in <1s on M1+. If slower, check CPU usage — another process may be competing. **Wrong language**: whisper.cpp auto-detects language. To force a language, you can set `WHISPER_LANG` and modify `src/transcription.ts` to pass `-l $WHISPER_LANG`.
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · sliamh11/Deus | 100 | MIT |
| DingyangLyu/MatClaw | 100 | Apache-2.0 |
| sbusso/claudeclaw | 100 | MIT |
Migawka bazy z 28.10.2026 · wersja paczki 626b60f25c47 (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100local-model-orchestrator
Skanuje, objaśnia, dobiera, instaluje i wywołuje lokalne modele AI w Ollama, cache Hugging Face, MLX Whisper, whisper.cpp i LM Studio, z naciskiem na modele zoptymalizowane pod Apple Silicon. - 90whisper-transcription
Prowadzi przepływy zamiany mowy na tekst z Whisper lokalnie lub przez API OpenAI: transkrypcja audio, wybór środowiska i wyjście jako tekst, SRT lub JSON. - 100audio-transcription
Buduje potok transkrypcji audio dla RAG: Whisper (whisper.cpp, faster-whisper, Groq), AssemblyAI, Deepgram Nova-3, dzielenie z uwzględnieniem znaczników czasu i mówców, wielojęzyczność i embeddingi transkryptów. - 100openai-whisper
Transkrybuje mowę na tekst przez OpenAI Whisper w dwóch trybach, lokalnym CLI bez klucza API lub chmurowym API, oraz tłumaczy mowę i konwertuje pliki audio na tekst. - 100whisper
Transkrybuje nagrania audio na tekst modelem OpenAI Whisper lokalnie lub przez API: napisy SRT i VTT, podcasty, spotkania, notatki głosowe i rozpoznawanie mówców. - 100voice-to-text-config
Konfiguruje transkrypcję wiadomości głosowych z Telegrama: instaluje faster-whisper, pobiera model i sprawdza działanie haka.