dsh-wallpaper-engine:Wallpaper Engine 创意工坊侧边栏浏览器

前言

在 DeepSeek Harness(DSH)的开发与使用场景中,有时需要直接在侧边栏访问 Steam 创意工坊壁纸,而不必切换到浏览器。dsh-wallpaper-engine 插件提供了这个连接器:它允许匿名搜索和浏览创意工坊内容,支持关键词搜索、类型筛选、分页浏览,并提供 Steam 登录状态检测与 steam:// 订阅链接。

前置条件

浏览和搜索创意工坊壁纸无需登录 Steam。但若要下载壁纸到本地或在 DSH 中使用壁纸,必须满足以下三项条件:

  1. Steam 客户端:下载创意工坊内容需要 Steam 会话;Wallpaper Engine 本身也仅能通过 Steam 安装。
  2. 登录 Steam 账号:Steam 对匿名下载请求的回答是 {"success":15,"message":"No user"}。
  3. 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 仓库。

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

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

小夜