项目版本号遵循 SemVer。
稳定性与健壮性版本:修复 2 个 P0 级问题、吸收同类开源项目精华(SmsForwarder / ItsAzni NotificationForwarder),全链路真机验证通过。
- 监听断线自动重绑:通知监听被系统断开(强杀/权限重置)时自动
requestRebind自愈 - 跳过分组汇总通知:微信多条折叠产生的 summary 不再重复转发
- 黑名单支持正则:
/正则/语法(如/^fps|游戏$/),非法正则自动降级为包含匹配 - 队列指数退避:重试间隔 60s → 32min 封顶(原固定 60s 全量重试,断网更省电)
- 首页状态卡:通知权限 + 电池优化白名单 + 队列状态实时可见
- PC 规则测试器
test_rule.py:粘贴样本消息 → 查看规则命中与分类结果(支持--no-ai) - 启动器崩溃自动重启:接收器/分类器任一崩溃自动拉起(连续 3 次快速崩溃才停下提示)
- 断点丢消息(P0):接收器先落盘成功再推进
last_id,落盘异常不再导致消息永久丢失 - 主线程 ANR(P0):队列补发改为锁外发送(快照→发送→合并写回),
size()去同步 - 去重键加入 ntfy 消息 id:同秒同内容的两条独立消息不再误删
- 断点状态文件原子写;备用文件带日期按天切换
- 分类器一次性模式与监听模式行为统一(规则层优先)
- 分类缓存原子写 + 追加去重;无 time 字段消息不再被跳过;无 Key 时不空发请求
- 摘要按天过滤(原"今日"混入全部历史);补分类工具通用化
load_seen日期提取 bug(原导致去重集为空,断点回退时全量重拉)- 队列合并竞态丢消息(改用唯一 id 判重);黑名单写盘放大;WakeLock 永久持有耗电
- Manifest:关闭明文流量与数据备份、补前台服务类型声明;BootReceiver 改引导式
- 新增
tests/test_fixes.py(断点原子性/去重/规则层一致/按天过滤)与tests/test_launcher.py(崩溃自动重启),共 21 个用例全绿
首个公开版本。
- Android 端:监听微信通知(NotificationListenerService)并转发到 ntfy.sh,零侵入、免 Root
- 黑名单过滤:按群名/联系人屏蔽(包含匹配),内置游戏群预填,App 内「屏蔽群管理」可视化增删
- 发送队列自动重试:断网/限流时消息排队补发(队列上限 200 条、单条重试 50 次、60 秒间隔)
- PC 端接收器:长轮询 +
since=<last_id>断点续传 + 内存去重,重启不重复不漏收 - AI 智能分类:规则层优先(工作/游戏关键词零延迟)→ DeepSeek 兜底,输出 待办/重要/工作 归档
- 分类进度时间游标:清理旧记录不会导致漏分类(含旧版条数进度自动迁移)
- Windows 一键启动器:双击启动、关窗即停(Job Object 兜底,零残留)
- 定期清理脚本:删除超过保留天数(默认 7 天)的记录
- 修复分类进度用条数索引导致清理后漏分类的问题(改为时间游标)
- 修复 Android 队列补发在主线程执行导致 ANR 风险(移后台线程)
- 修复发送队列静默丢弃失败消息(保留重试至上限)
- 修复 HTTP 连接未关闭的泄漏
- 「仅转发微信」开关默认值对齐(UI 与 Service 一致)
- 新增
tests/(unittest):分类进度游标、清理回归、旧版迁移
- README(特性/架构/快速开始/配置/FAQ)、UPLOAD(上传指南)、CONTRIBUTING、SECURITY
- MIT 许可证
版本历史(开发期,未对外发布):
- v6(2026-08-02):防漏机制(前台服务 + WakeLock + 开机自启)
- v5(2026-08-02):断点续传 + 去重
- v4~v1(2026-08-02):链路打通、轮询/长连接方案迭代