壁纸切换器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_5d10d7f7/wallpaper-switcher。
技能介绍
要解决什么问题
在桌面环境里换壁纸,听起来只是「下载一张图再设成背景」,但在 AI Agent(例如 TRAE)里跑脚本时,Windows 尤其 Windows 11 24H2 会踩坑:SystemParametersInfo 可能返回成功却桌面变黑;Known Folder 重定向 会让 IDesktopWallpaper 对 Pictures/Desktop 等路径报 0x80070002;Agent 会话与用户桌面会话隔离,用户目录里的文件未必能被设置流程读到。
本技能把「取图 + 设壁纸」收成一条可重复执行的流水线,让智能体根据自然语言选模式,无需用户再手动点设置。
技能如何工作
意图识别(由 Agent 按规则选模式):
- 提到「必应/bing」→ 模式 A(今日)或 D(指定日期历史)
- 「随机/随便/换一个」→ 默认风景类随机
- 「动漫/风景/AI/4K/二次元」等 → 模式 C 分类
- 含具体日期 → 模式 D
执行链路(scripts/wallpaper.py + scripts/SetWallpaper.ps1):
- 从免费 API 下载壁纸到技能目录
wallpapers/ - Windows 上复制到
%TEMP%\current_wallpaper.jpg,绕过重定向目录限制 - 用 IDesktopWallpaper COM 设壁纸(Fill),并辅以
SystemParametersInfo与注册表HKCU\Control Panel\Desktop\Wallpaper做兼容 - Linux(GNOME/KDE)与 macOS 分别走
gsettings/qdbus/osascript
| 模式 | 用途 |
|------|------|
| A | 必应每日(可选 date、resolution 4k/1080) |
| B | 图库随机 |
| C | 分类(如 landscape、anime、ai_drawing 等) |
| D | 指定日期的必应历史 |
适用边界与注意点
- 依赖网络拉取图片;失败时先查连通性。
- 壁纸文件会落在技能目录,设置前会经
%TEMP%中转,属预期行为。 - 切换后桌面刷新可能有 1~2 秒延迟;Win11 24H2 黑屏问题文档中已针对 COM 路径说明。
- 分类名需与速查表一致,不存在时会设置失败或需改参数。
使用场景
- 在 TRAE 等 Agent 会话里用一句话要「今天的必应壁纸」,由脚本下载并自动设为当前桌面,不必打开系统个性化设置。
- Win11 24H2 上普通设壁纸 API 返回成功却黑屏时,需要走 TEMP 中转与 IDesktopWallpaper 的一键切换流程。
- 演示或投屏前想按「风景」「动漫 4K」「AI 艺术」等分类快速换一张背景,而不是自己搜图再右键设壁纸。
- 想按 YYYY-MM-DD 取某天的必应历史图(模式 D),下载后立刻应用到本机壁纸做纪念或会议背景。
适合人员
- 在 Windows 11 24H2 上通过智能体执行 `wallpaper.py`、遇到过设壁纸无效或桌面全黑的 Windows 桌面用户
- 使用 TRAE 等与会话隔离的环境、无法手动把图片设为壁纸、希望 Agent 端到端完成的远程开发者
- 使用 GNOME 或 KDE 桌面、希望通过分类/随机/必应接口用脚本或对话触发 `gsettings`/`qdbus` 换图的 Linux 用户
- 负责办公室演示机或工位电脑、需要每日必应图或随机风景图自动更新、不想每天手动下载保存的维护者