dsh-omi-voice:用豆包自然音色朗讀 DSH 對話回覆

前言

在 DeepSeek Harness(DSH)裏跟 AI 對話,有時需要把回覆念出來:走路、做飯,或者單純想少盯屏幕。DSH 內置朗讀可以用系統語音或 Edge TTS,但音色往往偏機械;通用剪貼板朗讀工具則要先複製文本,再切到別的應用,打斷對話節奏。

dsh-omi-voice 針對的是這條路徑:在 DSH 對話界面裏,點一下回復旁的 🔊,用豆包 TTS 的自然中文音色把最終回答讀出來。語音在本機 Omi 引擎裏合成,豆包 API Key 由你自己提供(BYOK),只保存在 macOS 鑰匙串,插件側不持有 Key。

這是什麼

dsh-omi-voice 是 DeepSeek Harness 的客戶端插件,維護者爲 PolinniZhong。它適配 dsh web(含桌面端),配合 macOS 上常駐的 Omi 引擎(v0.1.2+)工作。

插件本身相當於「遙控器」:從 DSH 取回覆文本,通過本機 127.0.0.1:8765 調用 Omi 引擎;文本清洗、分段、豆包 TTS 流式合成、播放、暫停/繼續、緩存都在引擎內完成。開源協議爲 MIT。

核心功能

下面介紹插件已文檔化的能力,均來自項目 README 與 package.json(當前版本 0.1.2)。

點讀、暫停、繼續

  • 點 AI 回覆旁的 🔊 開始朗讀。
  • 播放中再點 = 暫停;再點 = 從暫停處繼續。
  • 點另一條消息的 🔊 會打斷當前播放,改讀新內容。

不做自動朗讀:只有手動點 🔊 才發起合成,避免無意觸發計費。

只讀最終回答,並過濾不可讀內容

工具執行日誌、思考過程不會讀。代碼圍欄、表格、純圖形(盒繪/ASCII)在請求前過濾。若回覆只剩這些內容,🔊 按鈕呈禁用態,並提示「沒有可朗讀的內容」。

豆包 TTS 與 BYOK

語音使用豆包 TTS 1.0(seed-tts-1.0)。API Key 在 Omi 引擎設置頁配置,存入 macOS Keychain;插件零 Key,通信僅限本機 127.0.0.1

按字符計費,由你在火山引擎賬戶承擔。引擎側有成本控制:相同文本 3 秒內去重;進程內 LRU 緩存最近 3 條(≤5MB,退出即清);純表格/純代碼等無效內容不發請求(invalid_text)。

平臺與依賴

  • DSH:dsh web(含桌面端)。
  • Omi 引擎:macOS Apple Silicon,v0.1.2+。
  • 暫不支持 Windows(Omi 引擎僅 macOS)。

安裝與啓用

安裝分兩部分:DSH 插件,以及本機 Omi 引擎。

1. 安裝 DSH 插件

官方推薦從 GitHub 指定版本安裝:

dsh plugin --profile web add "github:PolinniZhong/dsh-omi-voice#v0.1.2&path:/"

項目已發佈到 npm,也可直接安裝:

dsh plugin --profile web add dsh-omi-voice

本地開發可裝目錄:

dsh plugin --profile web add /path/to/dsh-omi-voice

2. 構建並運行 Omi 引擎

引擎源碼在倉庫 engine/ 目錄。按 engine/README.md 執行 ./engine/build/build-service.sh,再將產物複製到 ~/Applications/Omi DSH.app。建議開啓開機啓動,避免點 🔊 時提示「未檢測到 Omi DSH 引擎」。

3. 配置豆包 API Key

本插件爲 BYOK,需先在火山引擎開通「語音合成 1.0」,創建並關聯該服務的 API Key。三步概要:

  1. 登錄 火山引擎控制檯,進入「豆包語音」(語音技術)。
  2. 開通「語音合成大模型 / 語音合成 1.0」。
  3. 創建 Access Key 並關聯上述服務,將 Key 填入 Omi DSH「設置 > API Key」並保存。

經過上面的步驟,DSH 對話裏即可使用 🔊 朗讀。

典型用法

工作流如下:

flowchart LR
    A[ 🔊] --> B[插件取回復的最終回答文本]
    B --> C[POST 127.0.0.1:8765/v1/speak]
    C --> D[Omi 引擎清洗 + 分段]
    D --> E[豆包 TTS 流式合成]
    E --> F[本機揚聲器播放]

日常操作:

  1. 確認 Omi DSH 已啓動,且已保存豆包 API Key。
  2. 在 DSH 對話中等待 AI 回覆完成。
  3. 點該條回覆旁的 🔊;需要時在同一按鈕上暫停、繼續,或點其他消息的 🔊 切換朗讀對象。

引擎未啓動或未配置 Key 時,點擊會給出明確提示(含如何打開 Omi)。音色 ID 可在 Omi 設置頁修改;當前插件不提供音色 UI。

本地 HTTP 協議包括 /v1/status/v1/speak/v1/pause/v1/resume/v1/stop,詳見倉庫 docs/API.md

適用場景與注意

適合誰

  • 已在 macOS 上使用 DSH 桌面端或 dsh web,希望用更自然的中文音色聽讀 AI 回覆。
  • 能接受 BYOK:自行開通豆包語音合成並按字符付費。
  • 偏好「點讀」而非自動播報,且主要聽最終回答而非工具日誌。

使用前注意

  • 插件以當前 dsh 進程權限運行;安裝前建議查看 GitHub 源碼 與 MIT 許可證。
  • 需額外安裝並維護 Omi DSH 本機引擎,不是「只裝插件即可」。
  • dsh-voice-chat 的取捨:後者零 Key、零成本,但用系統機械音色;本插件用豆包自然音色,代價是 BYOK 與按字符計費。

社區目錄 SkillHub 收錄本插件(分類:客戶端);該站點爲獨立社區目錄,與 DeepSeek / 幻方無官方從屬關係。

結尾

dsh-omi-voice 把 DSH 對話朗讀從「系統播報腔」或「複製再讀」拉到「對話內一點、豆包音色、本機合成」:插件負責取文與觸發,Omi 引擎負責合成與播放,Key 留在你自己的鑰匙串裏。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜