# ms-wallpaper-assistant **Repository Path**: kele551/ms-wallpaper-assistant ## Basic Information - **Project Name**: ms-wallpaper-assistant - **Description**: 已迁移到 GitCode:gitcode.com/kele551/ms-wallpaper-assistant(国内、可统计下载)。Gitee 停止更新,最后一版 v2.3.2(2026-10-17)。原因:Gitee 不公开下载数、API 有限。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2026-09-20 - **Last Updated**: 2026-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
桌面壁纸

桌面壁纸

Downloads Gitee 访问 License Platform Release Last Commit GitHub Star Gitee Star GitHub Fork Follow Author Category No Admin Local Only 4K Download from Gitee GitHub mirror Bilibili demo Issues Sponsor

🖼 让电脑桌面壁纸自己换,你不用管 · 必应每日一图 + Windows 聚焦

2026-10-12 产品更名:「微软壁纸助手」→「壁纸助手」(仓库名与下载地址不变;界面显示名一直是「桌面壁纸」)

作者 海风(kele551) · Gitee(主) · GitHub(镜像) · AtomGit(镜像) · English

> **📦 已迁移到 GitCode,本仓库(Gitee)停止更新(2026-10-17)** > > **Gitee 最后一版是 v2.3.2(2026-10-17)**;以后的更新只在 [GitCode](https://gitcode.com/kele551/ms-wallpaper-assistant/releases)(主源)与 [GitHub](https://github.com/kele551/ms-wallpaper-assistant)(镜像)发布。 > > - **为什么迁**:Gitee 不公开发行版附件的下载数,统计不到真实下载量;GitCode(=AtomGit)能放 exe 附件、有准确的下载数接口,API 也更全。 > - **老用户怎么过渡**:照常从本仓库升级即可,升到 **v2.3.2** 后客户端会自动切到 GitCode,不用重装、不用改配置。 > - **三平台关系**:GitCode(主源)· Gitee(历史 + 旧入口)· GitHub(镜像),代码逐字节一致。
📊 仓库数据一览(点击展开)

Release Date Commit Activity Contributors Issues Resolved Gitee Fork Language Code Size PRs Welcome

Windows 桌面壁纸自动轮换工具。图来自两个公开图源(只下到你自己电脑上,不随程序分发): | 图源 | 说明 | |---|---| | **必应每日一图** | 微软必应每天换的那张,4K 原图 | | **Windows 聚焦** | 微软官方聚焦图库,一次能刷一批,也是 4K | > 本项目与任何图源厂商无隶属关系;「必应」「Windows 聚焦」等名称只用于描述图片来源。 > 图片版权归原提供方,仅供个人桌面使用,请遵守各图源的使用条款。 它有几个地方跟别的壁纸软件不一样: - **不用安装** —— 下载一个 exe,双击就用 - **不要管理员权限**,不写自启动注册表项、不装服务与计划任务 (「开机自动换壁纸」是**在「启动」文件夹里放一个快捷方式**实现的;菜单 `[B]` 可一键关闭并删除它) - **改写系统的只有一件事**:设壁纸走 Windows 标准做法 (`SystemParametersInfo(SPI_SETDESKWALLPAPER)`),其中「壁纸填充方式」写在 Windows 自己的 `HKCU\Control Panel\Desktop`(`WallpaperStyle` / `TileWallpaper`,与系统「个性化」是同一个位置), **写前先比对,值相同就不写;不改系统代理、不改 DNS、不改 hosts** - **后台换图时一个窗口都不闪**,你根本感觉不到它在跑 - **几天没开机也不漏图** —— 错过的必应壁纸会自动补齐 - **图片都存在你自己电脑上**,不上传任何东西 --- ## 目录 **上手**:[下载](#下载) · [三步用起来](#三步用起来) · [菜单上都有什么](#菜单上都有什么) · [壁纸存哪?能自己删吗?](#壁纸存哪能自己删吗) · [常见问题](#常见问题) **版本与规划**:[版本迭代](#版本迭代) · [路线图(Roadmap)](#路线图roadmap) · [参与贡献与治理](#参与贡献与治理) · [许可](#许可) · [第三方组件与许可](#第三方组件与许可) **治理文档**:[代码签名政策](docs/CODE_SIGNING_POLICY.md) · [贡献指南](docs/CONTRIBUTING.md) · [安全政策](docs/SECURITY.md) · [English](docs/README_EN.md) **上手代码**:[项目结构与上手路线](docs/ARCHITECTURE.md) —— 15 分钟看懂从哪进、改哪儿、改完怎么验 --- ## 下载 ### 👉 [点这里下载 v2.3.2 安装包](https://gitee.com/kele551/ms-wallpaper-assistant/releases/download/v2.3.2/MSWallpaperAssistant-v2.3.2.zip) > **三个平台代码一致**:[Gitee](https://gitee.com/kele551/ms-wallpaper-assistant)(主源)· [GitHub](https://github.com/kele551/ms-wallpaper-assistant)(镜像)· [AtomGit](https://atomgit.com/kele551/ms-wallpaper-assistant)(代码镜像,只提供源码归档)。 > **二进制发行包请从 Gitee(主)或 GitHub(镜像)下载**;三个平台都收 Issue / PR。 > 约 7.2 MB 的 zip(7,561,140 字节),解压后里面就两样东西:`壁纸助手.exe`(双击这个)+ `使用说明.txt`。 > 就这一个 exe,不用挑、不用装、不用下一步下一步。 > > **杀软报毒是误报,可以放心。** 程序没有数字签名、又是「单文件自解压」打包、自动升级还会下载脚本再运行, > 这三样最容易触发杀软的启发式误判。想自己确认文件没被动过:发行页上写了安装包的 SHA256, > 下载后执行 `certutil -hashfile 壁纸助手.exe SHA256` 比对即可;一致就是原版。 > 处理办法:把这个 exe 加进杀软的信任/排除名单。源码全部公开,可自行查阅。 > > **本次更新了安装包,但版本号没有变**:已装 v2.2.1 的朋友不会收到升级提示(升级是拿线上版本号和本地版本号比的); > 觉得用着不顺畅(例如**壁纸重复得太快**),可以**重新下载最新安装包**覆盖安装一次,配置与收藏都会保留。 > 这版安装包新增(都经过实机测试): > - **填充方式(拉伸 / 适应 / 填充)会被记住**:程序第一次动它之前你原来是什么,它先记下来; > 想还原按 `[S]` → `[4]` → `[r]`(旧版没有这个入口,重新下载后就有)。 > - **轮换顺序改成「永远按最旧优先」**:必应图库和聚焦合成一个池子,从最旧的一张一路往最近的走; > 每天开机第一张仍然是"当天的必应一图"。 > - **省硬盘的两个新开关**:`[S]` → `[b] 必应库上限`、`[S]` → `[c] 下载画质`(详见下面菜单说明)。 > 注意:**移进回收站不等于腾出空间** —— 回收站还在同一块盘上,想真腾地方得清空回收站。 --- ## 三步用起来 **第 1 步** —— 解压,双击 `壁纸助手.exe`,菜单就出来了。 **第 2 步** —— 第一次打开,它会自动下载今天的必应图 + 一批聚焦图,屏幕上会告诉你壁纸存在哪。等几十秒就好。 **第 3 步** —— 想让它以后开机自己换,菜单里按一下 **[A]**。 ``` 想立刻看效果?菜单里按 [1],马上换一张。 ``` > 按 `[A]` 不用管理员。它只是在 Windows「启动」文件夹里放一个快捷方式而已。 > 想先看它长什么样:[演示视频](docs/demo/index.html)(页面内嵌播放,**录制于 v2.1.0**,界面以实际版本为准)。 --- ## 菜单上都有什么
菜单上都有什么(点击展开) ``` ============================================================ 桌面壁纸 v2.3.2 作者: 海风(kele551) gitee.com/kele551/ms-wallpaper-assistant ============================================================ 换图 下次自动换 21:30 · 每 30 分钟 · 后台在跑 · 今日必应 已切 图库 必应 128 张 · 聚焦 96 张 · 待换 12 张 · 累计下载 356 张 位置 D:\图片\壁纸 壁纸 2026-09-22-Bing-xxxxxxx-UHD.jpg ------------------------ 换图 ------------------------ [1] 换一张壁纸 [2] 下载聚焦图片 [3] 浏览壁纸库 [4] 下载必应图片 [F] 收藏 / 取消当前这张 --------------------- 后台与设置 --------------------- 开机自动换: 开 · 后台正在跑 [B] 关掉开机自动换 [S] 设置 [U] 检查更新 ------------------------ 其它 ------------------------ [L] 查看日志 [R] 刷新 [Q] 退出 ``` ### 上面那几行状态 状态区就是三行:`换图` / `图库` / `位置`+`壁纸`。**只有开着「只在收藏里轮换」时才会多一行** `收藏`。 真出问题时,下面会多出一片黄字**提醒**——**平时一个字都不显示**。会冒出来的有: 坏图被隔离、聚焦库空、图库里混进了外来图、保存位置不安全、图库超上限、有新版本可升、 库里一张图都没有、程序位置变过。每条都写清了按哪个键处理。 > 状态是进菜单那一刻的快照,窗口一直开着不会自己更新 —— 想重算,按一下 `[R]`。 ### 按键与设置 菜单上按一个键就能用:`[1]` 换一张 · `[2]` 下载聚焦图片 · `[3]` 浏览壁纸库 · `[4]` 下载必应图片 · `[F]` 收藏 / 取消 · `[A]`/`[B]` 开关开机自动换(**只显示当前能按的那一个**,不会按反)· `[S]` 设置 · `[U]` 检查更新 · `[L]` 看日志 · `[R]` 刷新 · `[Q]` 退出。 > **完整的键位表**(含每个键的子菜单操作、「开机自动换」的状态对照表)与 **`[S]` 里 13 个设置项的全表** > (换图间隔 / 每轮抓几张 / 保存位置 / 填充方式 / 收藏夹 / 桌面快捷方式 / 数据目录 / 图库上限 / > 必应库上限 / 重新抓取源池 / 自动补新图 / 小图不放大 / 下载画质 / 单张超时)见 > [CONTRIBUTING.md](docs/CONTRIBUTING.md) 第九节。 ### 图源抓取纪律与授权 聚焦和必应两套图库共用同一套抓取纪律(程序内部是**可插拔图源**结构:每个源各自一个目录、各自的去重记录、 各自的容量上限,0 = 不限),让有限的源池永远有图可换:**限速慢慢补**(每源单轮 6 张 · 每天 20 张)、 **库满了就不补**、**连续 3 轮没新图就退避**、**老图够 30 天回炉**。主菜单和 `[S]` 里都有一行「源池状态」, 直接告诉你现在是还有新图、进入老图循环、还是源池已抓到尽头(等官方更新,下次尝试 时间)。 > 四条机制的默认值与说明、为什么这样设计、以及抓到头为什么**不报错也不空转**,见 > [CONTRIBUTING.md](docs/CONTRIBUTING.md) 第十节。 **授权(重要)**: - 图只**下载到你自己电脑上**,不随发行版打包分发,也不上传到任何地方; - 接入**公版库**类图源时,程序**逐张校验公版标记**,非公域的一律不看; - 图片版权归**原提供方**,仅供个人桌面使用,请遵守各图源的使用条款; - 本项目与各图源厂商**均无隶属关系**,名称只用于描述图片来源。 `[4]` 填充方式改完**立刻应用到当前这张壁纸**,当场就能看到效果。 > 退出请按 `[Q]`。老版本里 `o` 也能退出,现在 `o` 只用来「打开文件夹」,不会关掉程序了。 看到喜欢的图,主菜单按 `[F]` 就收下了,再按一次取消。收藏够了到 `[S]` → `[5]` 里打开 「只在收藏里轮换」,以后换出来的都是你自己挑过的图。
--- ## 壁纸存哪?能自己删吗? 默认存在**「图片」文件夹里的「壁纸」**,下面两个子目录:`必应`(必应每日一图)与 `聚焦`(Windows 聚焦);位置随时可以在菜单 `[S] 设置 - [3]` 里改。 **库里的图你随便删、随便挪、随便拷走,程序完全不受影响**:删掉的不再排进轮换、也不会被重新下载回来;整个库挪走了,菜单会提醒你到设置里把位置指过去;正在用的那张被移走会如实写出来,换一张就更新了。 > 「图片」文件夹在 C 盘时怎么找现成能放图的位置、以及为什么不会凭空多造一个文件夹(v1.6.2 定下的行为),见 [CONTRIBUTING.md](docs/CONTRIBUTING.md) 第十节;完整口径见 [CHANGELOG.md](docs/CHANGELOG.md)。 --- ## 常见问题
常见问题(点击展开) | 问 | 答 | |---|---| | **双击没反应?** | 多半是安全软件拦了,把它加入信任就行。程序联网只有这几种情况:从 bing.com 与微软官方接口下图、检查更新时访问 Gitee / GitHub、补漏与归档时可能经第三方 GitHub 加速节点(`ghfast.top` / `gh-proxy.com`)中转。**全程没有任何上传行为。** | | **中文显示成乱码?** | 系统「非 Unicode 程序语言」要设成「中文(简体, 中国)」。 | | **会不会拖慢电脑?** | 只有「开机自动换」开着时后台才有一个进程,平时占 30 MB 左右,绝大多数时间在睡觉。关掉就完全不占。 | | **提示某个盘「写不进去」?** | 那是这台机器那个盘的权限设置(常见于用第三方分区工具格的盘),不是程序不支持它。按提示选 `[1]` 一键修好,或者换个盘 —— 壁纸放哪个盘都能用。 | | **不想用了怎么卸?** | 菜单按 `[B]` 关掉自动换 → 删掉 exe → 想连配置也清掉就再删数据目录(`[S]` 设置 `[7]` 里能看到位置)。**下载的壁纸一张都不会被删。** |
--- ## 自动更新是怎么保证安全的 在线升级会先做**两道校验**,全过才替换文件: 1. **Ed25519 公钥验签**:线上 `version.json` 必须带一份同目录的 `version.json.sig` (由维护者的离线私钥签名),客户端用内置公钥验签,**验不过一律拒绝、保留旧版**; 2. **sha256 指纹**:脚本与主程序下载后逐字节比对 `version.json` 里声明的 sha256,对不上就丢弃。 签名**私钥只在维护者机器上、绝不进仓库**(公钥公开无妨,本来就随程序分发)。 要说清能力边界:这道验签防的是「升级源被篡改 / 中间人换包」,**防不了**维护者机器上的私钥本身被偷, 也**不等于** Windows 代码签名证书(那是另一回事,见下面「Code signing policy」)。 --- ## 用了之后,跟我说说感受 好不好用、哪儿别扭、还想要什么功能 —— 都欢迎说,一句两句也行:**提 Issue**(推荐)[GitHub Issues](https://github.com/kele551/ms-wallpaper-assistant/issues) · [Gitee Issues](https://gitee.com/kele551/ms-wallpaper-assistant/issues),或直接在 [Gitee 仓库](https://gitee.com/kele551/ms-wallpaper-assistant) 留言。 顺手带上这几样能省一轮来回:**Windows 版本**(设置 → 系统 → 关于)· **程序版本号**(菜单标题上就有,比如 `v2.3.2`)· **`wallpaper.log` 末尾十几行**(菜单 `[L]` 能看到)。 --- ## Code signing policy(代码签名政策) **Free code signing provided by [SignPath.io](https://about.signpath.io), certificate by [SignPath Foundation](https://signpath.org).** 本项目正在申请这项免费代码签名服务;**目前发布的 exe 尚未签名**,请以发行页上的 SHA256 自行核对(构建命令见 [CONTRIBUTING.md](docs/CONTRIBUTING.md) 第四节,任何人可复现)。提交者与审查者、签名批准者均为 [@kele551](https://github.com/kele551)(一人维护,已启用两步验证 MFA)。本程序只在取图时访问微软官方图源,**不收集、不上传任何用户数据**。 > 隐私声明全文、卸载与填充方式还原清单、发布产物的来源与核验方式见 [CODE_SIGNING_POLICY.md](docs/CODE_SIGNING_POLICY.md)。 --- ## 版本迭代 **当前最新:v2.3.2**(2026-10-12;安装包曾在版本号不变的前提下更新过一次,内容见「下载」一节)。最近三代改了什么: - **v2.2.x**:产品更名「桌面壁纸」;升级可靠性、轮换顺序(永远按最旧优先)、硬盘占用(两个库都设上限 + 按屏幕挑画质)。 - **v2.1.0**:显示名与合规调整;修真机上「升级后起不来」的事故。 - **v2.0.x**:代码质量改进(升级源调整、自动备份、日志分级);添加本地下载统计页面。 > 每个版本的逐条改动见 [CHANGELOG.md](docs/CHANGELOG.md);**v1.0 ~ v2.0 各代汇总表**与 v1.5.x / v1.6.x 各小版本的详细说明见 [CONTRIBUTING.md](docs/CONTRIBUTING.md) 第七节。v1.2.0 以前是「安装版」(双击 bat 装计划任务),那个做法已作废 —— 现在直接下最新版就行。 --- ## 免责声明 > 完整合规声明见 **[COMPLIANCE.md](docs/COMPLIANCE.md)**(功能边界 / 图源与版权 / 隐私 / 第三方组件与许可)。 - 本工具是**个人学习用的桌面壁纸工具**,只把各图源**公开提供**的图片下载到**用户自己的电脑**上, **不随发行版打包分发任何图片**。 - 所有壁纸图片的**版权归原提供方**(如必应每日一图、Windows 聚焦等);本工具对相关名称**仅作描述性使用**, **与各厂商无隶属关系、也不代表其认可**。图片仅供个人桌面使用,请遵守各图源的使用条款。 - 本工具**不用于任何商业用途**,不含广告、不收费,也没有付费功能。 - **不采集、不上传任何用户数据**;不需要登录、不要任何账号,网络请求只用于取图。 - 只用各图源**公开的接口**取图,每轮按固定间隔、**不并发压站**;站点若通过 robots.txt 或接口说明表达不希望被访问,会按要求移除对应来源。 - 权利人如认为本工具使用了不应使用的图片或来源,**请提 Issue 说明**,核实后会立即移除。 --- ## 许可 MIT(见 [LICENSE](LICENSE))。 ### 第三方组件与许可 运行本程序**不需要安装任何第三方 Python 包**。下表列出全部外部组件,依赖清单同时放在 仓库根目录的 [`requirements.txt`](requirements.txt)。 | 组件 | 用在哪 | 许可证 | | --- | --- | --- | | PowerShell(Windows 自带) | 程序主体 `core.ps1` / `menu.ps1` | 随 Windows 提供,不单独分发 | | Python 标准库 | 启动器 `launcher.py`(只负责启动与自动升级) | PSF License | | PyInstaller | **仅打包 exe 时**使用,产物是独立 exe | GPL-2.0-with-exception(官方明确:打包产物不受 GPL 约束) | | requests | **仅**发版工具 `tools/publish.py` 使用 | Apache-2.0 | 图片来源与授权、商标与命名、隐私边界等说明见 [COMPLIANCE.md](docs/COMPLIANCE.md)。 --- ## 路线图(Roadmap) 按优先级从高到低,都是已经排进计划、能落到代码上的事: 1. **代码签名**:README 已公开[代码签名政策](#code-signing-policy代码签名政策)(申请 SignPath 免费签名)。 通过之后产物在构建流程中自动签名,用于缓解"单文件自解压 + 自动升级"被安全软件误报的问题。 现状说明:**目前发布的 exe 没有数字签名**,所以杀软可能报毒 —— 请以发行页上的 SHA256 自行核对。 2. **更多图源评估**:现在只有必应每日一图与 Windows 聚焦两个微软官方图源。 程序内部已经是可插拔图源结构(加一个源只需加一条定义 + 它的搜索/取图两个函数), 评估新图源的标准是"本地优先、失败可回退、不收集数据",外加一条**出图必须适合当壁纸** (接近 16:9:方形图铺满会裁掉主体,超宽长卷铺满会留两条空)—— 2026-10-09 就因为这个原因摘掉了两个试过的图源。宁可不加也不塞一个会拖慢启动、或出的图不能看的源。 3. **安装体验优化**:保持绿色单文件(不引入安装器),把"首次运行"再做省心一点 —— 减少第一次双击时的等待与提示条数,让"下载 → 双击 → 有壁纸"这条路上没有需要读文档的步骤。 > 路线图只列真实在办的事,做完一项改一项;临时想到的、还没验证的想法不写在这里。 --- ## 参与贡献与治理 - **维护者**:[@kele551](https://github.com/kele551)(海风),一人维护,同时担任提交者、审查者与发布批准者;Issue / PR 一般 **7 天内**给第一次答复,安全类问题按 [SECURITY.md](docs/SECURITY.md) 私下走、**3 天内**响应。 - **许可**:MIT(见 [LICENSE](LICENSE));提交贡献即表示同意按同一许可发布。 - **参与方式**:Issue 模板、PR 流程、代码风格、本地构建与自查、提交信息规范见 [CONTRIBUTING.md](docs/CONTRIBUTING.md)。 - **发布纪律**:发版前必须跑发版前自检 `tools/preflight_release.py` 并全绿(版本一致性、成品与升级源同源、`.ps1` 的 BOM 与语法、对外文档不含私人邮箱),红一条不许发;[.github/workflows/build.yml](.github/workflows/build.yml) 在 Windows runner 上真实打包并输出 SHA256(每天构建只需 `pyinstaller`,运行主程序**零第三方依赖**)。 --- ## 从源码构建 不想下载现成 exe、想自己从源码打一份的话,最短路径就是下面三步(**Windows 10/11 x64 + Python 3.11 及以上**): ```powershell pip install "pyinstaller==6.22.3" # 只有打包用得到;运行主程序零第三方依赖 python build-exe.py --release # 出成品 python tools/preflight_release.py # 发版前自检:全绿才算可用 ``` - **产物**:仓库根目录的 `壁纸助手.exe`(固定名,日常就这一份);加 `--release` 还会多出 `壁纸助手-v<版本>.exe` 与发给用户的 `MSWallpaperAssistant-v<版本>.zip`。 - **怎么核对**:`python tools/preflight_release.py` 会查 Python 语法、`.ps1` 的 BOM 与语法、版本一致性、成品与升级源同源等;`[SKIP]` 是「本机没装依赖 / 没有成品 exe / 没联网」,不算失败,`[FAIL]` 一条都不许有。 - 改完代码要跑哪些命令、容器/CI 里怎么打、键位与设置全表在哪,见 [CONTRIBUTING.md](docs/CONTRIBUTING.md) 第四节;仓库结构与「改哪儿」见 [ARCHITECTURE.md](docs/ARCHITECTURE.md)。 --- ## 支持项目 如果 **桌面壁纸** 帮到了你,**给仓库点个 Star ⭐** 就是最好的支持 —— 它能让更多人看到这个项目。 如果想再进一步,请作者喝杯咖啡(**完全自愿,不影响任何功能**):

海风的微信赞赏码
微信扫一扫 · 金额随缘

> 本项目以 MIT 协议自由开源,**没有付费版、也没有付费功能**;捐赠纯属自愿, > 与功能开放、版本更新、Issue 响应**没有任何关系**。 ---

© 2026 海风(kele551) · MIT License · Gitee 主仓库 · GitHub 镜像