How to use dsh-omi-voice
Adds a 🔊 tap-to-read button to each AI response in DSH conversations, using Doubao TTS natural voice (BYOK, key stored locally in macOS engine only).
This article is auto-derived from indexed fields (wiki / faq / compatibility_json), not freshly AI-generated.
This article is derived from the plugin's already-indexed fields (wiki / faq / compatibility_json / readme), not freshly generated by AI. Source field is noted at the end of each section.
Quick start
dsh-omi-voice
— source: plugin_wiki.wiki_content
Install & verify
dsh plugin --profile web add dsh-omi-voice
Run the command above in your DSH Web Profile. Then enable the plugin in the plugin list.
— source: plugins.install
Key points
- 🔊 点读;播放中再点 = 暂停,再点 = 从暂停处继续;点其它消息的 🔊 = 打断并读新的。
- 只读最终回答:工具执行日志、思考过程不会读;代码围栏、表格、纯图形(盒绘/ASCII)在请求前过滤,回复若只有这些内容,按钮呈禁用态并提示"没有可朗读的内容"。
- 引擎未启动 / 未配置 Key 时,点击会给出明确提示(含去哪打开 Omi)。
- 只有手动点 🔊 才合成,不自动朗读;
- 引擎对相同文本 3 秒内去重,且进程内 LRU 缓存最近 3 条(≤5MB、纯内存、退出即清),重复朗读不重复计费;
— source: plugin_wiki.readme_en (fallback readme_raw)
FAQ
What to do when clicking 🔊 shows 'Omi DSH engine not detected'?
Omi engine is not started or has been closed. Please open the app 'Omi DSH' (located in Applications folder or search 'Omi' with ⌘Space), and it is recommended to enable 'Launch at Startup' in settings. When the engine is not running, the button itself can be displayed, but any TTS request will fail with a connection error.
How to handle the prompt 'Please configure Doubao API Key in Omi settings page' first?
The engine is running but the Doubao API Key has not been written yet. Open the 'API Key' item in the 'Omi DSH' settings page, follow the README 'Get Doubao API Key' three steps to obtain the Key and save it to Keychain; the plugin itself has no Key input entry.
Why does the button turn gray and not respond when clicked?
The reply was cleaned by the engine and has no readable content, such as pure code blocks, tables, or box drawings/ASCII art. Starting from v0.1.1, this state is displayed as disabled instead of hidden, with a prompt 'This reply has no readable content'.
Can I switch Doubao voices? Is there a voice UI in the plugin?
The engine settings page provides a 'Voice ID' field (default: zh_female_shuangkuaisisi_moon_bigtts). Under the v1 protocol, the plugin side does not provide a voice selection UI, so you need to change it in the Omi engine settings. The /v1/voices voice list interface is marked as v1.1 reserved in the protocol documentation.
Is Windows or Linux supported?
Not supported. The engine is only for macOS 13+ Apple Silicon Mac, built from source code; the plugin (JS side) can load in any dsh web, but without the macOS engine it cannot synthesize speech.
What's the difference between this and zero-config TTS plugins like dsh-voice-chat?
Zero-config plugins use system-built speech synthesis, requiring no keys, with mechanical voice quality and typically reading entire passages; this plugin uses Doubao TTS natural voice and reads the cleaned final response, at the cost of BYOK, per-character billing, and needing a local macOS engine running constantly.
— source: plugin_wiki.faq_json
Compatibility
- DSH: 未声明
- Node: 未声明
— source: plugin_wiki.compatibility_json
Pitfalls
Review the upstream repo before installing. This guide is auto-derived from indexed fields and may lag the latest release. If anything contradicts the official docs, treat the upstream source as authoritative.
— source: general rule