分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

TheNetsky/Microsoft-Rewards-Script

效率与系统工具

自动完成 Microsoft Rewards 的每日任务与搜索,支持多账号、浏览器或 API 模式以及定时运行。

1,154
253
TypeScript
GPL-3.0
创建于 3 年前

项目介绍

Microsoft Rewards Script 把赚取 Microsoft Rewards 积分的重复操作自动化:Daily Set、促销、punchcard、积分领取,桌面端与移动端搜索、Bing 上的 Explore、Daily Check-In 和 Read to Earn。可选功能包括 Visual Search 与后台 Edge 浏览。脚本支持保存登录会话、多个编号账号、按账号地区选择搜索词,并可向 Discord、Telegram 或 ntfy 推送通知。运行有两种模式:browser 用真实浏览器渲染任务卡片并调用 GhostCursor;api 保存登录会话后关闭浏览器,改用 HTTP 请求。可选的 Control API 提供实时事件、持久历史、punchcard 进度和活动积分余额观测。

本地安装与首次运行

需要 Node.js 24 或更高版本。在仓库根目录执行:

npm ci
npm run install:browser
npm run build
cp env.example .env
cp config.example.json config.json

Linux 上还需用 npx patchright install --with-deps chromium 安装 Chromium 的系统依赖;Windows 上用文件资源管理器或 PowerShell 复制两个示例文件,而不是 cp。

在 .env 中设置 ACCOUNT_1_EMAIL 及对应的登录项,检查 config.json 后启动:

npm start

每增加一个账号就添加一组编号配置;免密码账号可以不填密码。账号变量见 env 示例,登录方式见账号与会话说明。需要手动登录的账号可以打开可见浏览器:

npm run manual-login -- user@example.com --platform both

运行前值得确认的设置包括 rewardsMode(browser 或 api)、workers、taskDelay、searchSettings.searchDelay、searchSettings.useAccountLocale、searchSettings.parallelSearching 和 ensureStreakProtection,完整列表见设置参考。

Docker 部署

先从 env.example 创建 .env,再确认 compose.yaml 中的时区和计划:

docker compose up -d --build
docker compose logs -f

已发布的 v5 镜像为 ghcr.io/thenetsky/microsoft-rewards-script:5,想用镜像代替本地构建可参考 Docker 说明。Docker 会把配置保存在 ./config、会话保存在 ./sessions、可选的错误记录保存在 ./diagnostics,必要时用默认值生成 config/config.json。RUN_ON_START 控制启动后是否立即运行,CRON_SCHEDULE 设置初始计划。要在 Docker 中启用 Control API,按其 Docker 配置操作。

使用约束

  • 本地流程要求 Node.js 24 或更高版本。
  • 可用活动取决于账号和地区,不是每个用户都会看到清单中的全部任务。
  • .env、本地配置、会话数据库和诊断文件包含登录信息,应保持私密。
  • 项目采用 GPL-3.0-or-later 许可证。
  • 当前开发分支为 v5;如需旧结构,v3 和 v4 分支仍然保留。

HotRepo 点评

2026-11-01,该项目出现在 HotRepo 的 TypeScript 日榜第 15 位,当天新增 7 个 Star,累计 1,153 Star、253 Fork。由于只有单日记录,这只能说明当天它在 TypeScript 社区获得了较多关注,不能据此判断使用量在持续加速。对读者来说,主要取舍在两种模式之间:browser 更贴近奖励页面的真实渲染方式,api 更快,但依赖已保存的会话持续有效。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。