AtropinolTT/dsh-guide-dog:給 DSH Web 端增加多模態生成與視覺檢查

前言

在 DSH 的插件式開發裏,一個常見問題是:模型對話、網頁預覽和媒體生成之間缺少一個穩定的入口。
比如你希望在 Web UI 裏生成圖片、視頻、語音或音樂,也希望模型能檢查前端截圖、圖表、設計稿,並且讓生成結果直接在對話卡片裏預覽。

AtropinolTT/dsh-guide-dog 是一個面向 DSH web profile 的多模態插件,基於 MiniMax 能力,把視覺檢查、媒體生成、語音交互和同源預覽放在同一個插件裏。

這是什麼

它由 AtropinolTT 維護,許可證爲 MIT。
這個插件的核心定位是:給 DSH Web 端增加多模態能力,包括視覺檢查、媒體生成、語音交互和 Web UI 預覽。

主要能力包括:

  • MiniMax VLM 視覺描述/檢查:guide_dog_visionguide_dog_inspect
  • 圖像、視頻、語音、音樂、文本與網頁搜索生成
  • Web UI 同源預覽/播放:/guide-dog/media/<file>
  • 設置頁包含認證狀態與 speak tester
  • guide_dog_speak 可複用 audio-conversationspeech-mmx skill pipeline,缺失時回退 mmx speech synthesize
  • 系統提示自動調用視覺檢查工具:guide-dog-vision,order 110
  • 即時通話模式:VAD/壓鍵說話、流式句級 TTS、barge-in、寫操作共識保護、進度提示、中/英文界面
  • 可訪問性模式處於 planned 階段,a11y 配置塊保留

核心功能

視覺描述與檢查

插件提供兩個視覺相關工具:

  • guide_dog_vision:通用視覺描述
  • guide_dog_inspect:結構化視覺檢查

這適合需要模型“看圖”後再繼續工作的場景,例如檢查圖表、截圖、前端設計稿或生成圖片是否符合預期。

插件還會掛載系統提示段落 guide-dog-vision,order 爲 110,用於在需要視覺檢查的任務中自動調用相應工具。

媒體生成

插件提供多類生成能力:

  • 圖像生成
  • 視頻生成
  • 語音生成
  • 音樂生成
  • 文本生成
  • 網頁搜索

生成結果會進入插件的媒體目錄,並在 Web UI 中通過統一路徑預覽或播放。

Web UI 預覽

生成媒體後,插件會提供同源預覽路徑:

/guide-dog/media/<file>

這個路徑用於在對話卡片中渲染或播放生成結果。回覆中應包含返回的 url 字段,便於前端展示可訪問的媒體地址。

語音與即時通話

guide_dog_speak 用於處理語音請求。它可以複用現有的 audio-conversationspeech-mmx skill pipeline;當相關 skill 腳本缺失時,會回退到 mmx speech synthesize

即時通話模式提供以下能力:

  • VAD 或壓鍵說話
  • 流式句級 TTS
  • barge-in
  • 寫操作共識保護
  • 進度提示
  • 中文/英文界面

設置頁中提供認證狀態和 speak tester,可用於檢查語音鏈路是否正常。

可訪問性模式

可訪問性模式目前處於 planned 階段。
倉庫中保留了 a11y 配置塊,用於後續擴展。

安裝與啓用

安裝命令如下:

dsh plugin --profile web add github:AtropinolTT/dsh-guide-dog

這條命令帶有 --profile web,屬於 web profile 安裝。

如果是靜態 bundle 部署,步驟是:

  1. 編輯 plugin-host.js / plugin-client.js
  2. 運行 deploy/convert_bundle.py
  3. 運行 deploy/publish.py
  4. 重啓 DSH

bundle 在 DSH 啓動時解析,因此部署後需要重啓 DSH。當前部署不使用動態插件、審批卡片或 per-session instances。

典型用法

視覺檢查示例

一個典型的視覺檢查流程是:先生成或創建圖片文件,再調用檢查工具,最後根據結果迭代。

示例:創建 chart.png 後,調用:

guide_dog_inspect({ image: "chart.png", focus: "figure" })

根據返回的檢查結果調整圖表,再重新檢查。確認沒有問題後,在最終回覆中返回可預覽的 url

生成媒體後預覽

生成媒體後,在 Web UI 中通過以下路徑預覽:

/guide-dog/media/<file>

同時,在回覆中包含返回的 url 字段,方便用戶在對話卡片中訪問生成結果。

語音請求

語音請求會路由到 guide_dog_speak

如果你已經配置了 audio-conversationspeech-mmx skill pipeline,guide_dog_speak 會複用這些 pipeline;如果缺失,會回退到 mmx speech synthesize

適用場景與注意

這個插件適合需要在 DSH web profile 中增加多模態能力的開發者,尤其是以下場景:

  • 需要讓模型檢查圖片、截圖、圖表或前端設計
  • 需要在對話中生成圖像、視頻、語音、音樂或文本
  • 需要在 Web UI 中直接預覽生成結果
  • 需要語音輸入、語音輸出或即時通話模式

使用前注意:

  • 插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。
  • 媒體全局存儲位於 ~/.dsh/guide-dog,自 2026-08-16 起爲整個 web profile 單實例。
  • 媒體服務使用擴展名 allowlist、basename-only lookup/traversal guard,並支持 byte-range。
  • plugin-source.js 是 legacy 參考文件,不參與當前 deploy flow。

結尾

AtropinolTT/dsh-guide-dog 的價值在於把視覺檢查、多模態生成、語音交互和 Web UI 預覽整合進 DSH web profile,讓插件能力更貼近實際開發流程。

倉庫地址:

https://github.com/AtropinolTT/dsh-guide-dog
羽毛球分组比赛记分
小程序二维码

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

小夜