前言¶
在 DeepSeek Harness(DSH)的開發與使用場景中,有時需要直接在側邊欄訪問 Steam 創意工坊壁紙,而不必切換到瀏覽器。dsh-wallpaper-engine 插件提供了這個連接器:它允許匿名搜索和瀏覽創意工坊內容,支持關鍵詞搜索、類型篩選、分頁瀏覽,並提供 Steam 登錄狀態檢測與 steam:// 訂閱鏈接。
前置條件¶
瀏覽和搜索創意工坊壁紙無需登錄 Steam。但若要下載壁紙到本地或在 DSH 中使用壁紙,必須滿足以下三項條件:
- Steam 客戶端:下載創意工坊內容需要 Steam 會話;Wallpaper Engine 本身也僅能通過 Steam 安裝。
- 登錄 Steam 賬號:Steam 對匿名下載請求的回答是
{"success":15,"message":"No user"}。 - Wallpaper Engine(付費):唯一能渲染場景壁紙並把壁紙鋪到桌面上的程序。
插件會自動檢測這三項前置條件,並在面板頂部逐條標出缺失項。
核心功能¶
該插件主要提供以下能力:
- 瀏覽與篩選:瀏覽熱門/最新/評分/訂閱榜,支持關鍵詞搜索和 14 類類型篩選。
- 分頁控制:支持翻頁,顯示總條數、總頁數,並提供跳頁功能。
- 詳情查看:點擊卡片彈出詳情彈窗,顯示訂閱數、收藏、瀏覽量、大小、標籤和簡介。
- 訂閱鏈接:點擊訂閱按鈕會喚起
steam://協議,直接交給 Steam 客戶端處理。 - 縮略圖:直接從 Steam CDN 加載壁紙縮略圖。
- 前置檢測:檢測 Steam 客戶端和登錄狀態,引導用戶完成配置。
能力邊界¶
在使用前需明確以下限制:
- 場景類壁紙無法渲染:Wallpaper Engine 有兩類壁紙,DSH 僅能處理視頻/圖片類(mp4/webm/jpg)。場景類(.pkg)包含私有二進制包和渲染管線,瀏覽器無法還原,只能下載後由 Wallpaper Engine 使用。
- 不讀取賬號憑據:插件只讀取 Steam 的
loginusers.vdf中的暱稱來判斷登錄態,不讀取令牌、不發起需要登錄的請求,下載由 Steam 客戶端完成。 - 成人內容過濾:成人內容標籤在匿名請求下不可見,過濾開關基於標籤但可能存在盲區。
安裝¶
使用官方安裝命令添加插件:
dsh plugin --profile web add dsh-wallpaper-engine
或從 GitHub 倉庫直接安裝:
dsh plugin --profile web add github:HaydenSmith1121/dsh-wallpaper-engine
安裝後需要重啓 DSH 或讓 profile 的 patchReload: live 生效。
配置¶
配置文件位於 $DSH_HOME/storages/dsh-wallpaper-engine/config.json,不寫入 DSH 的共享 settings.yaml。
| 字段 | 默認值 | 說明 |
|---|---|---|
sort |
trend |
默認排序方式 |
showAdult |
false |
成人內容顯示開關 |
proxy |
"" |
代理地址;留空時讀取環境變量 |
使用示例¶
常見的使用場景包括:
1. 瀏覽創意工坊壁紙,篩選特定類型。
2. 搜索壁紙關鍵詞,查看詳情彈窗。
3. 點擊訂閱按鈕,通過 steam:// 喚起 Steam 客戶端。
4. 配置代理地址以解決網絡連接問題。
結構¶
插件包含以下主要源碼文件:
src/index.js:宿主半入口,負責註冊插件。src/host/net.js:自帶 CONNECT 隧道的 HTTP 請求模塊,不依賴 Node 的fetch。src/host/store.js:配置文檔的原子讀寫。src/host/workshop.js:創意工坊抓取與解析邏輯。src/host/steam.js:讀取loginusers.vdf報告登錄態。src/host/routes.js:路由分發。src/shared/constants.js:兩半共用的 URL 構造、HTML 解析與配置規範。src/client.js:側邊欄面板 UI。
結語¶
dsh-wallpaper-engine 是 DSH 與 Wallpaper Engine 之間的連接器,解決了在 DSH 環境下直接訪問 Steam 創意工坊的需求。更多細節與源碼請參考 GitHub 倉庫。