{"full_name":"bojackduy/opencode-voice","owner":"bojackduy","name":"opencode-voice","url":"https://github.com/bojackduy/opencode-voice","description":"Speech-to-text and text-to-speech for OpenCode. Record voice prompts with whisper-cpp, hear responses via Piper TTS, with LLM normalization through any OpenAI-compatible endpoint.","description_zh":"OpenCode 的语音转文本和文本转语音。使用 whisper-cpp 录制语音提示，通过 Piper TTS 听取响应，通过任何与 OpenAI 兼容的端点进行 LLM 标准化。","homepage":null,"topics":["models","sessions","server","tui"],"tag_pages":["models","server","sessions","tui"],"language":"plugin","license":"AGPL-3.0-or-later","avatar":"https://github.com/bojackduy.png","created_at":"2026-09-25T09:47:39.857Z","pushed_at":"2026-10-31T06:41:25.225Z","metrics":{"stars":0,"downloads30d":null,"downloads_month":null},"source_repo":"bojackduy/opencode-voice","npm_id":"@bojackduy/opencode-voice","verification":{"status":"skipped","level":"install","run_url":null},"approval":"pending","capabilities":{"findings":["child-process:package/lib/audio-enhance.js","child-process:package/lib/chatterbox-server.js","child-process:package/lib/live-notes.js","network-call:package/lib/llm-client.js","child-process:package/lib/streaming-stt.js","network-call:package/lib/stt.js","child-process:package/lib/stt.js","child-process:package/lib/tts-player.js","child-process:package/lib/tts.js","child-process:package/lib/vieneu-server.js","child-process:package/lib/whisper-server.js","lifecycle-script:package/package.json","network-call:package/README.md"],"red_flags":["lifecycle-script:package/package.json"]},"type":"plugin","contains":["plugin"],"deprecated":false,"deprecated_message":null,"maintainers":["bojackduy"],"growth":{"day":{"stars":0,"downloads30d":0,"base_day":"2026-11-12"}},"history":{"dates":["2026-11-12","2026-11-13"],"stars":[0,0],"downloads30d":[0,0],"downloads_month":[null,null]},"boards":{},"same_owner":[{"full_name":"bojackduy/opencode-db-client","name":"opencode-db-client","boards":{}},{"full_name":"bojackduy/opencode-fleet","name":"opencode-fleet","boards":{}},{"full_name":"bojackduy/opencode-fork-lane","name":"opencode-fork-lane","boards":{}},{"full_name":"bojackduy/opencode-herdr-control","name":"opencode-herdr-control","boards":{}},{"full_name":"bojackduy/opencode-learn","name":"opencode-learn","boards":{}},{"full_name":"bojackduy/opencode-loopd","name":"opencode-loopd","boards":{}},{"full_name":"bojackduy/opencode-system-override","name":"opencode-system-override","boards":{}},{"full_name":"bojackduy/opencode-telescope","name":"opencode-telescope","boards":{}},{"full_name":"bojackduy/opencode-web-bridges","name":"opencode-web-bridges","boards":{}}],"latest_release":{"name":"0.11.5","tag":"0.11.5","published_at":"2026-10-31T06:41:25.225Z","body":null,"url":"https://www.npmjs.com/package/@bojackduy/opencode-voice/v/0.11.5"},"readme":false,"readme_zh":false,"news":[],"stale":false,"snapshot_at":"2026-11-12T16:49:14Z","history_start":"2026-09-13"}