全新的 v2 版本目前处于测试阶段(Beta Testing)。
这意味着您可以尝试使用该脚本,但过程中可能会遇到漏洞(bug)或意外问题。
v2 版本目前为测试版,您可立即试用,但需留意可能出现的漏洞或异常情况——您的反馈将有助于稳定最终版本。
我们强烈建议您 报告遇到的任何问题。您的反馈极具价值,将帮助我们改进脚本,以推出稳定版本。
v2 分支代码仓库:点击查看 v2 版本
👉 您可在我们的 Discord 服务器 上直接反馈问题、提出建议或寻求帮助:
点击加入
克隆 v2 分支(推荐操作):
感谢您协助测试并改进此项目!
git clone -b v2 --single-branch https://github.com/wzx009412/Microsoft-Rewards-Script-chinese.git👉 支持与反馈(仅针对 v2 版本):
我们的 Discord 服务器仅用于处理 v2 版本相关的问题与贡献。请仅在该服务器上报告 v2 版本的问题、请求帮助或讨论改进方案。旧版稳定分支(v1 / 1.5.3)不支持在该服务器获取帮助。
加入链接: https://discord.gg/h6Z69ZPPCz
最简单的上手方式——下载并运行即可!
-
下载或克隆 源代码
可选择 克隆 v2 分支(参考上方命令)或下载压缩包(zip)。 -
运行设置脚本:
- Windows 系统:双击
setup/setup.bat文件,或在命令行中运行该文件 - Linux/macOS/WSL 系统:执行命令
bash setup/setup.sh - 其他方式(全平台通用):执行命令
npm run setup
- Windows 系统:双击
-
跟随提示操作:设置脚本将自动完成以下任务:
- 将
accounts.example.json重命名为accounts.json - 提示您输入 Microsoft 账号凭据(用户名/密码)
- 提醒您在
config.json中检查并配置相关选项 - 安装所有依赖项(执行
npm install命令) - 构建项目(执行
npm run build命令) - 可选:立即启动脚本
- 将
操作完成! 后续所有流程均由设置脚本自动处理。
- Windows 系统:双击
setup/setup.bat,或在命令提示符(CMD)中运行该文件 - Linux / macOS / WSL 系统:
bash setup/setup.sh
- 其他方式(全平台通用):
npm run setup
- 跟随设置提示操作。脚本将自动执行:
- 将
accounts.example.json重命名为accounts.json - 提示输入 Microsoft 账号凭据
- 提醒您检查
config.json配置文件 - 安装依赖项(执行
npm install) - 构建项目(执行
npm run build) - 可选:立即启动脚本
- 将
至此操作结束——剩余流程均由设置脚本自动处理。
- 获取 Nix 工具
- 执行命令
./run.sh - 操作完成!
若自动设置脚本在您的环境中无法运行,可按以下步骤操作:
- 从 https://nixos.org/ 下载并安装 Nix
- 执行命令:
./run.sh- 将
src/accounts.example.json复制并重命名为src/accounts.json,然后添加账号信息。 - 根据需求编辑
src/config.json配置文件。 - 安装依赖项:
npm install- 构建项目:
npm run build- 启动脚本:
npm run start部署前准备
- 若您之前已在本地构建过项目,请删除本地的
/node_modules和/dist文件夹。 - 若从 v1.4 或更早版本升级,请删除旧的 Docker 卷(volume)。
- 可复用旧版本的
accounts.json文件。
快速 Docker 部署(推荐用于定时任务)
适用于自动化定时执行与容器化部署场景。
- 手动将
src/accounts.example.json重命名为src/accounts.json - 在
accounts.json中添加您的 Microsoft 账号信息 - 根据偏好自定义
src/config.json配置文件 - 安装依赖项:执行
npm install - 构建项目:执行
npm run build - 启动脚本:执行
npm run start
-
克隆 v2 分支并配置
accounts.json文件。 -
确保
config.json中设置"headless": true(无头模式,即无浏览器界面运行)。 -
编辑
compose.yaml文件:- 设置
TZ(时区,例如Asia/Shanghai) - 设置
CRON_SCHEDULE(定时任务表达式,可参考 crontab.guru 生成) - 可选配置:设置
RUN_ON_START=true(部署后立即执行一次脚本)
- 设置
-
启动容器:
docker compose up -d- 查看日志(监控运行状态):
docker logs Microsoft-Rewards-Script-chinese注意:为模拟更自然的人工操作,容器会在定时任务执行时随机延迟 5–50 分钟。
- 浏览器进程清理:若您在未关闭浏览器窗口的情况下停止脚本(且配置为
headless=false,即非无头模式),需通过任务管理器(Windows)或执行npm run kill-chrome-win命令清理残留的浏览器进程。 - 自动化定时执行:建议每天至少运行两次脚本;若需在无可用积分时跳过执行,可将配置项
"runOnZeroPoints"设置为false。 - 多账号支持:脚本支持集群模式(clustering),可在
config.json中配置clusters项(设置并发运行的账号实例数量)。
- 无头模式(headless=false)下的清理:若未关闭浏览器窗口就停止脚本,需通过任务管理器(Windows)或执行
npm run kill-chrome-win命令关闭残留的浏览器实例。 - 定时执行建议:每天至少运行两次;可在配置中设置
"runOnZeroPoints": false,以在无可用积分时跳过执行。 - 多账号配置:通过
config.json中的clusters项,可设置多账号并行运行。
可通过编辑 src/config.json 文件自定义脚本行为。
| 设置项(Setting) | 描述(Description) | 默认值(Default) |
|---|---|---|
baseURL |
Microsoft Rewards 页面链接 | https://rewards.bing.com |
sessionPath |
会话/浏览器指纹存储路径 | sessions(即 sessions 文件夹) |
headless |
是否以后台模式运行浏览器 | false(显示浏览器界面) |
parallel |
是否同时运行移动端/桌面端任务 | true(同时运行) |
runOnZeroPoints |
无可用积分时是否继续执行 | false(不继续执行) |
clusters |
并发账号实例数量 | 1(单账号运行) |
| 设置项(Setting) | 描述(Description) | 默认值(Default) |
|---|---|---|
baseURL |
Microsoft Rewards 链接 | https://rewards.bing.com |
sessionPath |
会话/指纹存储路径 | sessions |
headless |
后台运行浏览器 | false |
parallel |
同时运行移动端/桌面端任务 | true |
runOnZeroPoints |
无积分时是否执行 | false |
clusters |
并发账号实例数 | 1 |
| 设置项(Setting) | 描述(Description) | 默认值(Default) |
|---|---|---|
saveFingerprint.mobile |
是否复用移动端浏览器指纹 | false(不复用) |
saveFingerprint.desktop |
是否复用桌面端浏览器指纹 | false(不复用) |
| 设置项(Setting) | 描述(Description) | 默认值(Default) |
|---|---|---|
saveFingerprint.mobile |
复用移动端指纹 | false |
saveFingerprint.desktop |
复用桌面端指纹 | false |
| 设置项(Setting) | 描述(Description) | 默认值(Default) |
|---|---|---|
workers.doDailySet |
是否完成“每日任务组”活动 | true(完成) |
workers.doMorePromotions |
是否完成促销活动任务 | true(完成) |
workers.doPunchCards |
是否完成“打卡任务”(PunchCard) | true(完成) |
workers.doDesktopSearch |
是否执行桌面端搜索任务 | true(执行) |
workers.doMobileSearch |
是否执行移动端搜索任务 | true(执行) |
workers.doDailyCheckIn |
是否完成每日签到 | true(完成) |
workers.doReadToEarn |
是否完成“阅读赚积分”活动 | true(完成) |
| 设置项(Setting) | 描述(Description) | 默认值(Default) |
|---|---|---|
workers.doDailySet |
执行每日任务组 | true |
workers.doMorePromotions |
执行促销活动任务 | true |
workers.doPunchCards |
执行打卡任务 | true |
workers.doDesktopSearch |
执行桌面端搜索 | true |
workers.doMobileSearch |
执行移动端搜索 | true |
workers.doDailyCheckIn |
执行每日签到 | true |
workers.doReadToEarn |
执行阅读赚积分任务 | true |
| 设置项(Setting) | 描述(Description) | 默认值(Default) |
|---|---|---|
searchOnBingLocalQueries |
是否使用本地预设搜索词(而非在线获取) | false(使用在线获取) |
searchSettings.useGeoLocaleQueries |
是否生成基于地理位置的搜索词 | false(不生成) |
searchSettings.scrollRandomResults |
是否随机滚动搜索结果页面 | true(随机滚动) |
searchSettings.clickRandomResults |
是否随机点击搜索结果链接 | true(随机点击) |
searchSettings.searchDelay |
两次搜索之间的延迟时间(最小值/最大值) | 3-5 minutes(3-5 分钟) |
searchSettings.retryMobileSearchAmount |
移动端搜索任务的重试次数 | 2(重试 2 次) |
| 设置项(Setting) | 描述(Description) | 默认值(Default) |
|---|---|---|
searchOnBingLocalQueries |
使用本地搜索词 | false |
searchSettings.useGeoLocaleQueries |
生成地理位置相关搜索词 | false |
searchSettings.scrollRandomResults |
随机滚动搜索结果 | true |
searchSettings.clickRandomResults |
随机点击搜索结果链接 | true |
searchSettings.searchDelay |
两次搜索间隔 | 3-5 minutes |
searchSettings.retryMobileSearchAmount |
移动端搜索重试次数 | 2 |
| 设置项(Setting) | 描述(Description) | 默认值(Default) |
|---|---|---|
globalTimeout |
操作超时时间 | 30s(30 秒) |
logExcludeFunc |
日志中需排除的功能模块 | SEARCH-CLOSE-TABS(搜索-关闭标签页模块) |
webhookLogExcludeFunc |
Webhook 通知中需排除的功能模块 | SEARCH-CLOSE-TABS |
proxy.proxyGoogleTrends |
是否为 Google Trends 请求设置代理 | true(使用代理) |
proxy.proxyBingTerms |
是否为 Bing Terms 请求设置代理 | true(使用代理) |
| 设置项(Setting) | 描述(Description) | 默认值(Default) |
|---|---|---|
globalTimeout |
操作超时时间 | 30s |
logExcludeFunc |
日志排除的功能模块 | SEARCH-CLOSE-TABS |
proxy.proxyGoogleTrends |
为 Google Trends 配置代理 | true |
proxy.proxyBingTerms |
为 Bing Terms 配置代理 | true |
| 设置项(Setting) | 描述(Description) | 默认值(Default) |
|---|---|---|
webhook.enabled |
是否启用 Discord 通知 | false(禁用) |
webhook.url |
Discord Webhook 链接 | null(未设置) |
conclusionWebhook.enabled |
是否启用“执行总结”专属通知 | false(禁用) |
conclusionWebhook.url |
“执行总结”通知的 Webhook 链接 | null(未设置) |
| 设置项(Setting) | 描述(Description) | 默认值(Default) |
|---|---|---|
webhook.enabled |
启用 Discord 通知 | false |
webhook.url |
Discord Webhook 链接 | null |
conclusionWebhook.enabled |
启用执行总结通知 | false |
conclusionWebhook.url |
执行总结通知 Webhook 链接 | null |
- ✅ 多账号支持
- ✅ 会话存储与持久化
- ✅ 双重认证(2FA)支持
- ✅ 无密码登录支持
- ✅ 无头浏览器运行(后台运行,无界面)
- ✅ 集群支持(多账号同时运行)
- ✅ 可配置任务选择
- ✅ 代理支持
- ✅ 自动定时执行(基于Docker)
- ✅ 桌面端与移动端搜索
- ✅ 微软Edge浏览器搜索模拟
- ✅ 基于地理位置的搜索查询
- ✅ 模拟滚动与链接点击
- ✅ 每日任务组完成
- ✅ 促销活动参与
- ✅ 打卡任务(PunchCard)完成
- ✅ 每日签到
- ✅ 阅读赚积分活动参与
- ✅ 问答解题(10分制与30-40分制两种类型)
- ✅ “二选一”问答(随机答案)
- ✅ ABC问答解题
- ✅ 投票任务完成
- ✅ 点击赚积分任务
- ✅ Discord机器人(Webhook)集成
- ✅ 专属执行总结机器人(Webhook)
- ✅ 全面日志记录
- ✅ 带监控功能的Docker支持
- 多账号支持
- 持久化会话与浏览器指纹
- 双重认证(2FA)支持与无密码登录选项
风险自负! 使用自动化脚本可能导致你的微软奖励(Microsoft Rewards)账号被暂停或封禁。
- 无头浏览器运行与集群功能
- 可选择任务组
- 代理支持与定时执行(基于Docker)
本脚本仅用于教育目的。作者对微软针对账号采取的任何措施不承担责任。
- 桌面端与移动端搜索
- 模拟浏览、滚动、点击
- 每日任务组、促销活动、打卡任务、问答解题
- 问答解题(10分制与30-40分制两种类型)
- 投票、ABC问答、“二选一”问答答题
- Discord机器人(Webhook)与执行总结机器人(Webhook)
- 用于调试的详细日志
欢迎大家贡献代码,但请确保修改内容与现有配置系统兼容。本仓库主要用于v2版本的开发——有关功能开发与问题反馈,请在Discord(v2专属服务器)上协调沟通。
本项目主要供个人使用,但同样欢迎贡献。请确保所有修改均能与现有配置系统保持兼容。