# BingRewards **Repository Path**: gjConsole/bing-rewards ## Basic Information - **Project Name**: BingRewards - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-10-23 - **Last Updated**: 2026-10-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 微软积分(持续修复版) [![仓库地址](https://img.shields.io/badge/%E4%BB%93%E5%BA%93%E5%9C%B0%E5%9D%80-Gitee-brightgreen?logo=gitee&logoColor=white)](https://gitee.com/yehai/bing-rewards) [![Star](https://gitee.com/yehai/bing-rewards/badge/star.svg?theme=dark)](https://gitee.com/yehai/bing-rewards/stargazers) [![版本](https://img.shields.io/badge/%E7%89%88%E6%9C%AC-1.2.0-blue)](https://gitee.com/yehai/bing-rewards) [![License](https://img.shields.io/badge/License-MIT-orange)](https://gitee.com/yehai/bing-rewards/blob/master/README.md) > 点击角标可跳转至开源仓库:[https://gitee.com/yehai/bing-rewards](https://gitee.com/yehai/bing-rewards) Microsoft Rewards(必应积分)自动化油猴脚本,每天在后台自动完成签入、阅读、活动卡片、任务卡、搜索等任务,并把**服务端真实结果**汇总后推送到你的聊天工具。 > 本脚本开源免费(MIT),请勿购买任何收费版本。 ## 功能特性 | 任务 | 说明 | | ---- | ---- | | 每日签入 | PC + App 双端签到,状态以服务端计数器(`DailyCheckIn_*`)为准 | | 新闻阅读 | 自动识别 `msnreadearn` offerid,兼容各区域 | | 活动卡片 | 日常任务卡片 / 每日连续打卡 / 升级活动 / 任务卡(PunchCard)子任务 | | Quiz / 拼图 | 自动答题、拼图类卡片自动上报 | | PC 搜索 | 按间隔自动搜索(随机词 / 热搜词),每次有效搜索计 1 分 | | 待领取积分 | 自动检测并领取,**以余额实际变化**判断是否真的到账 | | 启动预检 | 每轮开始先读服务端状态,跳过已完成任务,避免重复执行 | | 就绪探测 | 唤醒/休眠后先探测网络,未就绪直接中止本轮,不产生无效失败 | | 防重复运行 | 持久化运行锁 + 心跳,避免休眠唤醒后新旧两轮同时执行 | | 结果复核 | 活动卡片上报后回查 dashboard,区分「已计分 / 仅受理 / 无法回查」 | | 汇总推送 | 半程进度、每日日报、异常提醒三类消息,按天去重、短行排版 | ### 推送内容 推送统一使用服务端数据(DAPI 余额 + earn 页今日获取),固定 7 行内,适配窄聊天窗口: ``` 📊 日报 10/22 💰 7863 · 今日 +177 ✍️ 签到 PC✅ APP✅ 📖 阅读 ✅ 30/30 · 🔍 搜索 ⏳ 45/90 🎯 日常 ✅ 3/3 · 任务卡 ⏳ 1/2 🎴 活动 ✅ 5/5 · 打卡 3天 ⚡ 成功 8 · 失败 1 · 待领 0 ``` - **半程推送**:搜索进度突破 50% 时立即推送一次(每天最多一次;搜索已满额时只推日报) - **每日日报**:任务全部完成时推送;未完成则在 22 点后补推一次(每天最多一次) - **异常提醒**:登录失效、Token 失效、搜索受限、领取失败等,同类错误限频 支持渠道:企业微信、钉钉、飞书群机器人、PushMe、Bark(均为可选,不填不发)。 ## 安装 1. 安装浏览器扩展 [Tampermonkey](https://www.tampermonkey.net/)(或 ScriptCat / 暴力猴) 2. 新建脚本,将 [main.js](./main.js) 全部内容粘贴保存 3. 打开 `https://rewards.bing.com/`,脚本会在后台自动运行 ## 首次使用:手动授权(重要) 脚本需要 OAuth Token 才能完成 App 端签到 / 阅读 / DAPI 任务。首次运行时: 1. 点击油猴菜单中的 **「🔑 手动授权」**,浏览器会打开微软登录页 2. 登录后页面会跳转到 `login.live.com/oauth20_desktop.srf?code=...` 3. **复制浏览器地址栏中的完整跳转 URL** 4. 点击油猴菜单中的 **「📋 粘贴授权码」**,粘贴该 URL 5. 脚本会立即尝试换取 Token 并弹窗提示结果 说明: - 授权码是一次性的,若提示「授权码已失效」,请重新走一遍上述流程 - 菜单 **「📊 Token状态」** 可随时查看 Token 是否有效 - 若浏览器已登录微软账号,脚本也会尝试自动获取授权码(成功则无需手动) ## 网页会话(PC 签到 / 搜索 / 领取积分) 脚本在后台 service worker 中运行,浏览器会丢弃手动设置的 `Cookie` 头,因此 PC 签到、搜索上报、Server Action 领取仍然依赖你的必应网页会话: - 只有日志出现 `IsAuthenticated:false`(搜索上报不再计分)时才需要重新登录:打开 [https://cn.bing.com/?scope=web](https://cn.bing.com/?scope=web),点击右上角「登录」后即可恢复 - 单独的 `HTTP 401` 多为休眠唤醒后会话/防伪 Token 尚未就绪,脚本会等待搜索结束后用服务端计数器复核签到状态,不会直接判定会话失效 - 不需要重装脚本、重新授权或修改 Cookie 注入方式 ## 菜单命令一览 | 菜单 | 功能 | | ---- | ---- | | 🔑 手动授权 | 打开微软授权页面(登录后复制跳转 URL) | | 📋 粘贴授权码 | 粘贴跳转 URL / 授权码,立即换取 Token | | 📊 Token状态 | 查看当前 Token 与授权码状态 | | 🚀 立即运行 | 立即执行一遍全部任务 | | 🔔 配置通知接口 | 配置企业微信 / 钉钉 / 飞书 / PushMe / Bark | | 📢 测试通知 | 发送测试消息验证推送配置 | | 📋 查看通知状态 | 查看各推送渠道配置情况 | | 🔧 调试信息 | 汇总环境、账号、任务、登录、Server Action 与最近接口响应;自动复制并显示复制结果 | | 🧪 导出诊断数据 | 采集完整诊断 JSON,自动脱敏后复制到剪贴板 | | 🔕 / 🔔 浏览器通知 | 关闭 / 开启浏览器原生通知 | > 调试类信息默认不再写入运行日志,统一收进「🔧 调试信息」面板;「🧪 导出诊断数据」的结果只复制到剪贴板并展示在面板中,不写入日志与控制台。 ## 配置项说明 脚本配置面板(油猴「用户配置」)分三组: **Config(基础)** - `持续检测`:全部任务完成后是否继续后台检测(默认开) - `锁定国区`:非大陆 IP 自动停止,避免账号风险(默认开) - `搜索间隔`:PC 搜索间隔秒数,30 秒起(默认 30±15) - `搜索词接口`:`offline`(内置随机词,不联网)或热搜 API(拉取真实热搜词) - `授权码链接`:粘贴授权跳转 URL 的文本框(也可用菜单操作) **Tasks(任务开关)** - 每日签入 / 新闻阅读 / 活动卡片(含打卡)/ Quiz 自动答题 / PC 搜索,均可独立开关 **Notice(通知)** - 浏览器通知开关,以及 5 个推送渠道的密钥(不填则不发送) ## 隐私说明 脚本遵循「数据最少化」原则,全部数据仅存于浏览器本地(GM 存储),**不会将任何账号凭据、Token、Cookie 发送到第三方服务器**。对外网络请求仅限以下几类: | 目标 | 用途 | 是否默认开启 | 上送数据 | | ---- | ---- | ---- | ---- | | login.live.com | OAuth 授权 / 换取 Token | 是(功能必需) | 授权码 / refresh_token(微软官方 OAuth) | | rewards.bing.com、cn.bing.com、www.bing.com | 任务完成、搜索、上报 | 是(功能必需) | 任务参数、搜索词(与手动使用必应一致) | | prod.rewardsplatform.microsoft.com | App 端签到 / 阅读 / 任务领取 | 是(功能必需) | 任务上报参数 + Bearer Token(微软官方 Rewards API) | | hot.baiwumm.com / cnxiaobai.com / hotapi.nntool.cc | 获取热搜词做搜索模拟 | 否(默认 `offline`) | 仅 GET 拉取热搜列表,无任何账号数据 | | disp-qryapi.3g.qq.com | IP 归属地查询 | 仅在 IP 非大陆时触发 | 仅 GET,无账号数据 | | 企业微信 / 钉钉 / 飞书 / PushMe / Bark | 任务完成通知推送 | 否(需自行填密钥) | 仅任务状态文案,不含 Token / 账号信息 | 安全建议: - 搜索词接口保持默认 `offline` 可完全避免第三方热榜服务访问 - 推送密钥只发到你自己配置的机器人 Webhook,不会外传 - 需要更高隔离时,可删除 `@connect` 中的第三方域名行(不影响核心任务功能) ## 常见问题 **Q:提示「自动获取授权码失败」?** 点「🔑 手动授权」登录后,复制完整跳转 URL 到「📋 粘贴授权码」。 **Q:手动粘贴授权码一直没用?** v1.0.1 起已修复:粘贴后立即换 Token 并弹窗反馈;若提示失败,请重新授权获取新码(授权码一次性)。 **Q:签到明明完成了,脚本却显示未签到?** v1.1.0 起签到状态改为读取服务端计数器(`DailyCheckIn_Sapphire*` / `DailyCheckIn_Bing_*`),不再依赖页面文案;PC/APP 都完成才会跳过重复签入。 **Q:搜索一直完成不了 / 搜索了不积分?** v1.2.0 起只有日志出现 `IsAuthenticated:false` 才表示网页会话真的失效,按上文「网页会话」重新登录即可;单独的 `HTTP 401` 不再等同于会话过期。v1.1.0 已修正本地进度每次 +3 的误判,改为每次有效搜索 +1。 **Q:为什么「待领取积分」提示已领取但我没看到积分?** v1.1.0 起只以服务端余额实际增加为准:回执成功但余额未变会提示「已受理但余额未变化」,不会再误报「已自动领取」。 **Q:任务卡片 / 打卡活动不自动完成?** v1.0.1 起新增 DAPI 接口优先、动态 Server Action id 解析、访问型卡片自动上报;v1.1.0 补齐 Server Action 缓存与 chunk 扫描范围;v1.2.0 增加上报后 dashboard 复核,日志会区分「已计分 / 上报已受理但卡片仍未完成 / 暂无法回查状态」。可在「🔧 调试信息」查看解析结果。 **Q:打卡类任务带锁是什么?** 锁表示该活动当前未解锁(数据字段 `isLocked`,常见原因是等级或前置任务未达成、未到开放日)。解锁前任何上报都不会计分,脚本会在解锁后自动执行。 **Q:推送太长,聊天窗口看不全?** v1.1.0 已压缩为固定 7 行短行格式,每行最多两个字段。 **Q:脚本启动时如何避免重复做已完成任务?** v1.1.0 新增启动预检:每轮开始先读取服务端签到状态、阅读/搜索计数与已完成活动列表,已完成项直接跳过。 v1.2.0 增加冷启动就绪探测与持久化运行锁:唤醒后网络未就绪会等待再跑,休眠前后也不会出现两轮同时执行。 ## 免责声明 本脚本仅供学习交流,使用风险自负。请遵守 Microsoft 服务条款,控制使用频率,避免账号异常。 ## License MIT