前言¶
在 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 仓库。