前言¶
DeepSeek Harness (DSH) 的核心設計理念是「一切皆插件」。在構建智能體時,會話內容通常僅限於文本。當需要讓智能體直接生成圖片或視頻時,開發者往往需要在代碼中額外集成圖像/視頻 API。這增加了開發複雜度,也破壞了 DSH 統一的插件架構。
dsh-media-gen 插件解決了這個問題。它將 OpenAI 兼容的圖像與視頻生成能力直接集成到 DSH 會話中,讓智能體能夠像調用其他工具一樣生成媒體內容。
插件簡介¶
dsh-media-gen 是一個 DSH 插件,用於在 DSH 會話中生成圖片和視頻。
它複用 DSH 已配置的模型設置(Provider / Model / API Key),不依賴瀏覽器端的 Key,確保安全。插件在設置頁提供了一個獨立的「媒體生成」菜單,並維護了持久索引,重啓後歷史會話中的媒體鏈接依然可用。
核心功能¶
該插件提供以下核心能力:
- 生成圖片和視頻:支持文生圖、圖生圖(圖片編輯)以及視頻生成。
- OpenAI 兼容接口:調用標準的
/images/generations、/images/edits以及/videos接口。 - 複用 DSH 配置:嚴格使用「設置 → 媒體生成」裏配置的 Provider 和 Model,不支持在工具調用中臨時切換模型。
- 獨立設置菜單:在 DSH 設置頁單獨開闢區域,分別配置文生圖、圖生圖、視頻生成三種模式的模型。
- 工具集:提供
media_list_providers(列出可用 Provider)、media_gen_image(文生圖)、media_edit_image(圖生圖/編輯)、media_gen_video(視頻生成)等工具。 - 文件持久化:生成的文件保存到
<當前工作區>/media_gen目錄,並在會話中返回預覽鏈接。 - 持久索引:插件維護
~/.dsh/storages/dsh-media-gen-index.json,重啓後歷史會話裏的圖片/視頻鏈接仍可訪問。
安裝與配置¶
安裝插件需要使用 DSH 的插件管理命令。
dsh plugin --profile web add github:ant404/dsh-media-gen
安裝完成後,重啓或刷新 DSH。進入 設置 → 媒體生成 菜單,爲以下三種模式分別配置 Provider(從 DSH 的 settings.yaml → llm-pi-ai.providers 讀取)和 Model:
- 文生圖模型
- 圖生圖模型
- 視頻生成模型
保存配置後即可在會話中使用。
使用方法¶
基本命令¶
插件提供了以下工具,在會話中直接調用即可:
media_list_providers:列出當前 DSH 可用的 OpenAI 兼容 Provider 及其模型。media_gen_image:執行文生圖(請求/images/generations)。media_edit_image:執行圖生圖或圖片編輯(請求/images/edits),支持傳入本地文件路徑或 http(s) URL。media_gen_video:執行視頻生成(請求/videos或/videos/generations),自動處理異步任務輪詢。
典型示例¶
在會話中直接輸入提示詞:
- 文生圖:
生成一張 16:9 的雪山日出。 - 圖生圖:
把這張圖變成水彩畫風格:C:\path\to\input.png - 視頻生成:
生成一段 5 秒的賽博朋克城市夜景視頻。
交互操作¶
- 圖片預覽:生成的圖片在會話中以小圖顯示(最大約 280px)。左鍵點擊圖片可放大查看,點擊背景或按
Esc關閉。 - 引用路徑:右鍵點擊圖片,在彈出菜單中選擇「引用」,會將該圖片的本地文件路徑插入到對話輸入框,方便後續進行圖生圖或圖生視頻操作。
- 視頻播放:生成的視頻結果會在聊天中以內嵌
<video>標籤顯示,並附帶下載鏈接。
安全與注意事項¶
- 安全隔離:Provider 配置直接從 DSH 的
settings.yaml讀取,API Key 不暴露給瀏覽器。所有配置接口和原始文件訪問(/media-gen/raw/*)均限制爲 Loopback(127.0.0.1/localhost)。 - 模型固定:所有媒體生成工具必須使用設置頁中配置的模型,不支持在工具參數中臨時修改 Provider 或 Model。
- 視頻兼容性:視頻接口兼容性由插件處理。默認請求
/videos,若返回 404/405 則自動重試/videos/generations。對於異步任務(如 Agnes 風格),插件會自動輪詢直到完成。 - 開發審查:插件基於 MIT 許可證開源。安裝前請檢查源碼以確保符合你的使用環境要求。
結語¶
dsh-media-gen 將原本獨立的媒體生成能力無縫集成到 DSH 生態中,爲智能體開發者提供了標準化的工具入口。通過複用統一的配置體系和持久化存儲,它降低了多模態應用的接入門檻。