Local OpenAI-compatible speech gateway for Paseo: Korean dictation (Whisper prompt, glossary, hallucination filter) and macOS Korean TTS
Supported platforms: macOS.
From the plugin's README
say. If your daemon runs on a remote Linux host, TTS won't work.npmjs · Paseo 0.9+
paseo plugin add npm:paseo-korean-voice@0.1.1GitHub · Paseo 0.8 fallback
paseo plugin add me0w2en/paseo-korean-voice --ref 226874d84a02a60f6b91764b61fe25c6afae69f6Git security status and fallback installation are pinned to commit 226874d84a02.
From the plugin's README
Requirements: macOS, Paseo 0.11.2+, and a Groq or OpenAI API key.
README
English · 한국어
A Paseo plugin that makes dictation and voice mode work properly in Korean. It runs a local OpenAI-compatible speech gateway: transcriptions go to Groq/OpenAI Whisper with a Korean prompt and glossary, and replies are spoken with macOS Korean voices.
parakeet v2, kokoro-en) and 25 European languages (parakeet v3). There is no local Korean STT or TTS model.language: "ko" makes dictation work. However, the daemon always sends Whisper a fixed English prompt ("Transcribe only what the speaker says…"), so you can't supply Korean context or a glossary.kokoro-en, which can't read Korean replies. OpenAI TTS works but needs a paid key.The plugin's server process serves OpenAI-compatible endpoints on 127.0.0.1:6791, and Paseo's OpenAI speech settings point at it.
Paseo daemon ──/v1/audio/transcriptions──▶ korean-voice ──(Korean prompt + glossary)──▶ Groq/OpenAI Whisper
◀────── text with hallucinated sentences removed ──────┘
Paseo daemon ──/v1/audio/speech (pcm)──▶ korean-voice ──▶ macOS `say` (Yuna and other Korean voices, free and offline)
language=ko if missing. API keys are never stored; the Authorization header Paseo sends is forwarded upstream as-is.The prompt and glossary are plain settings, so the same approach works for Japanese, Chinese, or any other language Whisper supports.
Requirements: macOS, Paseo 0.11.2+, and a Groq or OpenAI API key.
# 1) Turn on Settings → Plugins → "Enable plugins"
# (or add "pluginsEnabled": true to ~/.paseo/config.json and run `paseo reload`)
# 2) Install the plugin
paseo plugin install npm:paseo-korean-voice # or github:me0w2en/paseo-korean-voice
paseo plugin ls # korean-voice should be running
# 3) Point Paseo speech at the gateway (backs up config.json, then merges), then restart the Paseo app.
# providers.openai.stt.apiKey in ~/.paseo/config.json must hold your Groq/OpenAI key.
git clone https://github.com/me0w2en/paseo-korean-voice.git
node paseo-korean-voice/scripts/apply-voice-config.mjs --dry-run # preview
node paseo-korean-voice/scripts/apply-voice-config.mjs
Merge this into ~/.paseo/config.json, then restart the daemon:
{
"features": {
"dictation": { "stt": { "provider": "openai", "language": "ko" } },
"voiceMode": {
"stt": { "provider": "openai", "language": "ko" },
"tts": { "provider": "openai" }
}
},
"providers": {
"openai": {
"stt": { "baseUrl": "http://127.0.0.1:6791/v1", "apiKey": "<your Groq or OpenAI key>" },
"tts": { "baseUrl": "http://127.0.0.1:6791/v1", "apiKey": "local" }
}
}
}
The gateway forwards to https://api.groq.com/openai/v1 by default; change Upstream STT URL in the plugin settings for OpenAI or a local Whisper server.
To develop, install from a local clone (paseo plugin install "$PWD"), run npm install && npm run typecheck, and apply changes with paseo plugin reload korean-voice.
~/.paseo/config.json.bak-korean-voice-* and restart the daemon, then paseo plugin remove korean-voice.say. If your daemon runs on a remote Linux host, TTS won't work.Scanned 16 Oct 2026, 06:30 UTC from me0w2en/paseo-korean-voice.