自动化完成 Microsoft Rewards 任务,轻松赚取积分。
本项目仅供学习和研究使用。使用自动化工具可能违反 Microsoft Rewards 服务条款,可能导致账号被限制或封禁。使用本工具造成的任何后果由使用者自行承担,作者不承担任何责任。
- 桌面端搜索: 自动完成20次桌面搜索任务
- 智能适配: 自动检测登录状态,首次显示浏览器,后续后台运行
- 反检测机制: 集成 playwright-stealth,模拟真实用户行为
- 实时积分监控: 智能检测积分变化,实时监控任务完成情况
- 会话持久化: 一次登录,长期使用,自动保存加密的登录状态
- 健康监控: 内置性能监控,记录执行成功率、响应时间等指标
- 进度跟踪: 阶段化进度显示,智能剩余时间估算,实时状态面板
- 定时执行: 支持每天固定时间自动执行
- 随机调度: 避开高峰时段,随机时间执行(更安全)
- 批量任务: 桌面+移动双重任务,最大化收益
- 日常任务: 自动发现并完成奖励任务(问答、调查、URL任务等)
- 任务过滤: 智能过滤无效任务,只执行有效积分任务
- 错误恢复: 失败任务自动跳过,继续执行其他任务
- 多渠道通知: 支持 Telegram、微信(Server酱)、WhatsApp 推送
- 实时反馈: 任务完成情况、积分增长、异常提醒
- 配置灵活: 可同时启用多种通知方式
采用模块化设计,核心组件包括:
- MSRewardsApp: 主控制器,协调整个系统
- TaskCoordinator: 任务协调器,管理执行流程
- BrowserSimulator: 浏览器管理器,处理自动化
- AccountManager: 账户管理器,处理登录状态
- SearchEngine: 搜索引擎,执行搜索任务
各组件松耦合设计,支持独立测试和维护。
1. 系统初始化
├─ 加载配置文件
├─ 初始化所有组件
└─ 启动健康监控
2. 浏览器管理
├─ 检查登录状态
├─ 需要登录时显示浏览器
└─ 保存登录会话状态
3. 搜索任务执行
├─ 桌面端搜索 (20次)
│ └─ 使用搜索词库+随机延迟
4. 日常任务执行
├─ 发现可用任务
├─ 过滤无效任务
└─ 执行剩余任务
5. 生成报告
├─ 保存执行数据
├─ 发送通知
└─ 清理资源
- 智能检测: 自动检测已有会话,避免重复登录
- 会话持久化: 加密保存登录状态,长期有效
- 会话恢复: 意外退出后可从上次位置恢复
- playwright-stealth: 隐藏自动化特征
- 随机延迟: 搜索间隔随机化,模拟真实用户
- 加权调度: 避开高峰时段,分散执行时间
- 实时监控: 监控每次搜索后的积分变化
- 智能分析: 识别积分异常,及时告警
- 持久化存储: 日志和报告长期保存
# 克隆仓库
git clone https://github.com/Disaster-Terminator/rewards-core.git
cd rewards-core
# 使用 Conda 环境(推荐)
conda env create -f environment.yml
conda activate rewards-core
# 验证安装
python tools/check_environment.py# 克隆仓库
git clone https://github.com/Disaster-Terminator/rewards-core.git
cd rewards-core
# 创建虚拟环境
python -m venv venv
source venv/bin/activate
# 安装依赖
pip install -e ".[dev]"
# 安装浏览器
playwright install chromium# 复制配置文件
cp config.example.yaml config.yaml
# 编辑 config.yaml,填写账号信息
# 安装包(启用 rscore 命令)
pip install -e .
# 直接运行(生产环境,20次搜索)
rscore运行模式说明:
| 模式 | 桌面搜索 | 拟人行为 | 防检测 | 用途 |
|---|---|---|---|---|
| 默认 | 20 | ✅ | ✅ | 生产环境(用户使用) |
--user |
3 | ✅ | ✅ | 鲁棒性测试(开发调试用) |
--dev |
2 | ❌ | ❌ | 快速迭代调试(开发用) |
登录方式:
- 手动登录(推荐):首次运行时浏览器打开,手动登录后保存会话
- 自动登录:在
config.yaml填写账号密码,自动完成登录(需配置 2FA 密钥) - 重新登录:删除
storage_state.json文件后重新运行
# 生产环境(完整搜索,自动调度)
rscore
# 后台运行(服务器部署)
rscore --headless
# 用户测试模式(3次搜索,验证稳定性)
rscore --user
# 开发模式(快速调试)
rscore --devstreamlit run tools/dashboard.py数据面板显示:
- 今天的任务完成情况
- 积分获得详情
- 7天积分增长趋势
- 执行状态和错误信息
- 目标: 每天自动完成所有任务,获得最大积分
- 配置: 启用调度器,设置随机时间执行
- 流程: 早上随机时间自动启动 → 完成所有任务 → 发送结果通知
- 用户指南 - 完整的使用说明、配置详解和故障排除
# 基础配置
search:
desktop_count: 20 # 桌面搜索次数
mobile_count: 0 # 移动搜索次数(已禁用)
wait_interval:
min: 5 # 最小等待时间(秒)
max: 15 # 最大等待时间(秒)
# 调度配置
scheduler:
enabled: true # 启用调度器
mode: "scheduled" # 定时模式
scheduled_hour: 17 # 基准执行时间
max_offset_minutes: 45 # 随机偏移范围
# 通知配置
notification:
enabled: true
telegram:
enabled: true
bot_token: "你的Bot Token"
chat_id: "你的Chat ID"
serverchan:
enabled: true
key: "你的SendKey"本项目仅供学习和研究使用。使用自动化工具可能违反 Microsoft Rewards 服务条款,可能导致账号被限制或封禁。使用本工具造成的任何后果由使用者自行承担。
- 使用本地运行: 在家庭网络环境中运行,避免使用云服务器
- 禁用调度器: 在 config.yaml 中设置
scheduler.enabled: false - 限制执行频率: 不要短时间内多次运行
- 监控日志: 定期检查执行日志,及时发现异常
- 不要在云服务器上运行: 避免使用 AWS、Azure、GitHub Actions 等
- 不要频繁手动运行: 避免一天内多次执行
- 不要修改核心参数: 不要随意减少等待时间
- 不要同时运行多个实例: 避免资源竞争
# 推荐的安全配置
search:
wait_interval:
min: 15 # 较长的最小等待时间
max: 30 # 较长的最大等待时间
scheduler:
mode: "random" # 必须使用随机模式
random_start_hour: 8
random_end_hour: 22 # 工作时间内随机执行
notification:
enabled: true # 启用通知,及时发现问题rewards-core/
├── src/ # 源代码目录
│ ├── account/ # 账户管理
│ ├── browser/ # 浏览器控制
│ ├── infrastructure/ # 基础设施
│ ├── login/ # 登录模块
│ ├── search/ # 搜索模块
│ ├── tasks/ # 任务系统
│ └── ui/ # 用户界面
├── tests/ # 测试目录
│ ├── fixtures/ # 测试固件
│ ├── integration/ # 集成测试
│ └── unit/ # 单元测试
├── tools/ # 辅助工具
│ ├── check_environment.py
│ ├── dashboard.py
│ └── search_terms.txt
├── docs/ # 文档目录
│ ├── guides/ # 用户指南
│ └── reports/ # 技术报告
├── logs/ # 日志文件
├── main.py # 主程序入口
├── config.example.yaml # 配置文件模板(复制为 config.yaml 使用)
└── requirements.txt # Python 依赖
本项目采用 MIT 许可证。详见 LICENSE 文件。
- Playwright - 浏览器自动化框架
- playwright-stealth - 反检测插件
- Streamlit - 数据可视化框架
如果觉得有用,请给个 ⭐ Star!