DSH 智能体开发中,桌面壁纸的动态切换是常见需求。手动从 Wallpaper Engine 创意工坊挑选并下载壁纸效率较低,且国内网络环境对 Steam 访问有诸多限制。这个插件旨在解决上述问题,将 Steam Web API 与 steamcmd 集成到 DSH 中,实现壁纸的自动化管理。
插件介绍¶
dsh-we-wallpaper-sync 是由 tiger0012 维护的一个联网工具类插件(MIT 许可证)。它是一个可复用技能,主要功能是批量浏览、搜索、下载 Wallpaper Engine(Steam 应用 431960)的创意工坊壁纸,并将下载好的文件接入 DSH 皮肤中心,使其成为智能体的 GUI 背景。
核心功能¶
-
搜索与预览
插件支持通过 Steam Web API Key 进行搜索或浏览创意工坊。用户可以按订阅数、趋势、最新发布或关键词进行筛选。插件会抓取作品的标题、订阅数和预览图,并生成网格列表供用户选择。 -
批量下载
使用steamcmd配合 Docker 执行批量下载。这种方式无需安装 Steam 客户端,也不依赖系统级的 32 位库,直接在容器环境中运行。 -
网络突破
针对国内网络环境,插件支持通过代理配置绕过对 Steam HTTP 的封锁,以及解决异地登录拦截问题。这需要出口 IP 与账号常住地保持一致,并配置相应的代理策略。 -
落盘与接入
下载完成后,壁纸会落盘到~/Steam/steamapps目录。用户需要在~/.dsh/settings.yaml中配置skin-wallpaper.weLibraryDirs,DSH 皮肤中心的 Wallpaper Engine 桥(WE 桥)扫描到该目录下的workshop/content/431960文件夹后,即可应用为 GUI 背景。
使用方式¶
安装插件后,在 DSH 中调用技能 dsh-we-wallpaper-sync,按照步骤执行即可。也可以直接读取插件包内的 SKILL.md 文件查看具体命令。
注意事项¶
该插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证。以下是使用过程中需要注意的关键点:
- 勿硬编码凭证:技能内用
<账号>/<KEY>/<密码>占位,请勿在配置中硬编码 Steam API Key 或密码。 - 网络与代理:国内封禁 Steam 的 HTTP 域名,但
steamcmd走 Steam CM 网络(不看 HTTP),直连往往能通。然而,Steam 会比对登录 IP 与账号常住地;不匹配会拦截登录。需使用出口 IP 与账号一致的代理,并在steam.cfg中使用SocksProxy解决。 - 容器路径:容器内 steamcmd 目录是
/root/.local/share/Steam/steamcmd,请勿用空目录挂载覆盖(会导致steamcmd.sh not found),需使用+force_install_dir指定落盘路径。 - 第三方站点:不建议依赖第三方下载站(如 steamworkshopdownloader.io),其后端常报 500 错误。
- 扫描路径:皮肤中心 WE 桥扫描路径为
<库根>/steamapps/workshop/content/431960。
总结¶
该插件为 DSH 开发者提供了一个标准化的入口来管理 Wallpaper Engine 资源,省去了手动操作和配置网络代理的繁琐步骤。相关目录与源码见下: