Skip to content

Releases: O-kai/Xiaomi-HyperOs-pickup-code-grabber

取件码助手 v3.1.0 · 更新链路打通 + 提取正确性修复

Choose a tag to compare

@O-kai O-kai released this 04 Oct 10:43

🔄 更新检查合并为一个入口

菜单里原本是两项:「检查软件更新」和「检查规则更新」。现在合并为 「🔄 检查更新(软件 + 规则)」,一次查完给一条结论。

温和联动:即使发现了新版本,也照样先把规则集拉下来。这样你点「下次再说」不升级软件时,规则其实已经是新的了——多花一次请求,换来不必二选一。

  • 手动检查不受「允许联网」开关限制(你主动点的动作不该被拦)
  • 自动检查仍是懒加载,每 3 天最多一次;关掉联网即进入完全离线模式,核心功能不受影响
  • 升级 App 后会自动拉一次最新规则

🐛 修了一类「测试全绿但真机出错」的问题

这一轮做了四轮独立代码审计(提取引擎 / 跨进程 / 界面 / 并发与失败路径),下面每一条都能通过编译、都能通过全部回归测试,但装到手机上会出错。

1. 锚点短信抓错码

取件码 xxx 这类短信此前只做码形检查,不做语义排除,于是:

  • 「…3号柜284号格口,取件码284」 → 误取 284(其实是柜号)
  • 「…取件码为159****6739」 → 误取 159(掩码手机号前半段)
  • 「…取件码为123123123」 → 误取(其实是订单号)

而锚点短信恰恰是大家反馈"抓错码"的主要来源。现已补齐语义排除,并新增 21 项专项回归锁住——一半验证"该拦的拦住",一半验证"真码不被误伤"。

2. 写入失败会被永久吞掉

去重指纹原本在写库之前就记下了,写入失败没有回滚。一次 root 授权超时或 sqlite3 异常,这个取件码从此被去重挡掉,你再也收不到这条提醒,界面上却看不出任何异常。现已改为失败即撤销。

3. 单段短信永远不处理

短信缓冲原本要凑够"多段"或"超 8 秒"才派发,而超时检查只在下一条短信到达时才触发。如果你当天不再收短信 → 这条永远不处理,且没有任何日志。这是唯一一条默认配置下就会丢码的路径,已修。

4. 通知通道一直在用旧规则

系统进程读不到 App 的私有存储,所以规则热更对通知取件完全不生效——短信通道修好了、通知通道还在用编译时打包的旧规则,而且你在界面上完全看不出来。现已把生效中的规则同步给系统进程。

同类问题一并修好的还有:黑名单、待办模板、写入目标在冻结兜底通道里与主通道不一致的问题。

5. 升级 App 后新规则读不到

本地旧缓存会"压住"新版 App 自带的新规则,离线或弱网用户会一直用旧规则。已改为按版本取新。

6. root 授权弹窗不响应会卡死所有短信

写库没有超时,su 卡在授权弹窗时线程会永久挂住;更糟的是这发生在去重锁内部,一旦挂死,后续所有短信全部堆积。现已加 15 秒超时并强制中断。

7. 通知开关显示假的"已开启"

如果没在 LSPosed 勾选「Android 系统」作用域,通知取件根本不会工作,但界面一直显示绿字"已开启",重启也没用。现在会在后台校验作用域,没勾选时明确显示「作用域未勾选」并告诉你怎么勾。

8. 写入失败你完全不知道

目标待办表不存在、root 没授权、sqlite3 没部署……这些情况以前完全静默,你只看到"待办里什么都没有"。现在会弹一条通知说明原因。


🧪 链路测试现在能验证号码专属规则了

一键链路测试新增发送方输入框。此前它没有这个框,而用户规则页重点推荐的「号码专属规则」(精确/前缀/包含匹配)在没有发送方时永远不会命中——等于你无法验证自己最需要验证的功能。现在第 2 步解析与第 3 步写入使用同一个号码。

🔧 其他

  • 用户规则页补上「地点取第几个捕获组」输入框(该字段此前有校验和解析,但界面改不了)
  • 错题本增加清空入口
  • 待办模式、模板、自定义模板的修改现在都会同步给系统进程
  • 切写入目标时会先检查对应 App 是否安装,未安装直接拒绝并说明
  • 诊断报告脱敏扩充:字母码(A88123)、裸数字码、身份证号不再明文;同时验证过版本号、日期、堆栈行号、日志 PID 不会被误伤
  • 体检在 HyperOS 上不再出现"root 授权 ✓ 但 sqlite3 探测失败"的自相矛盾

📋 升级说明

  • 直接覆盖升级即可,设置项、用户自定义规则、去重记录都会保留
  • 若你之前手动编辑过手机里的规则缓存文件导致模块不工作,升级后会被自动纠正
  • LSPosed 作用域若有改动,记得重启手机

🔗 相关

  • 技术全景文档(含"哪些问题脱机测试覆盖不到"):docs/ARCHITECTURE.md
  • 用户自定义规则手册:docs/user-rules-guide.md
  • 问题反馈:QQ 群 901543676 | GitHub Issues

感谢每一位反馈问题、提 PR、提供测试机的朋友。 🙏

取件码助手 v3.0.1 · 用户规则稳定性修复

Choose a tag to compare

@O-kai O-kai released this 28 Sep 03:40

📦 取件码助手 v3.0.1 · 用户规则稳定性修复

3.0.0 发布后收到不少反馈,这一版集中修复「用户自定义规则」的稳定性问题。
没有新增功能,都是让已有功能真正可用的修复。

🐛 主要修复

① 升级后体检误报「未注入,请重启手机」
之前判定注入状态靠一个本地标记文件,但该文件会在升级安装或清理数据时被删除,
于是出现「明明取件码能正常抓到、体检却说你没注入」的情况。
现在改为实时内存标记判定:模块被 LSPosed 加载时立即置位,
与体检代码同进程,检测结果不再受文件、升级、权限影响。

② 一条短信里多个取件码只提取一个
现在与官方引擎行为一致:按 ,,、;; 自动拆分,每个码写一条独立待办。

③ 规则状态内外显示不一致
保存规则后内部提示「已启用」但实际未启用,且返回首页不刷新。
现保存即自动启用,首页状态实时同步。

④ 编辑规则时内容被挤出屏幕
测试样本加到第 3 条后,下方内容显示不全。已修正。

⑤ 测试样本可无限添加却无法删除
简化为单条必填(仍必须自测通过才能保存),并保留对旧规则的兼容。

⑥ 自测不通过会导致已填内容全部丢失
现在自测失败时编辑页保持打开,可原地修改后再次自测。

⑦ 危险正则误伤
多码簇写法曾被误判为危险构造而拦截,现精准区分:安全写法放行,
(a+)+ 这类真会导致系统卡死的写法仍严格拦截。

⑧ 链路测试看不出用的哪条规则
结果页现在明确显示:📘 官方规则集 v4 或 🧩 用户自定义规则 · 你的规则名。

🧪 质量保证

  • 官方规则回归 38/38
  • 用户规则安全测试 55/55(新增多码相关 10 条断言)
  • 规则溯源测试 7/7(新增)

✅ 文件校验

  • 文件名:pickup-code-grabber-v3.0.1.apk
  • SHA-256:e2bd618dae7dc5c1170dc600415db55248fbe49c524fd277150d5f53e2ddf8ed

📖 相关链接

⚠️ 声明

  • 本版经作者本机实测:Redmi K90 Pro Max / HyperOS
  • ColorOS 便签修复仍待真机复测,欢迎反馈
  • 非小米/OPPO 官方作品,MIT 许可,使用风险自担

🎁 取件码助手 v3.0.0 · 用户自定义规则(国庆献礼)

Choose a tag to compare

@O-kai O-kai released this 26 Sep 20:18

🎁 国庆节礼物 · 取件码助手 v3.0.0

「这个月本来只想安静修 bug,但写着写着发现自己最想要的东西,是想让你们自己也能修。」
—— 送给大家的一份小礼物,希望国庆取快递的时候,少找一会儿取件码。

自动提取快递取件码 → 写入「待办」(新码置顶)→ 通知点击复制 / 一键已取件。


🧩 本次重磅:用户自定义规则

官方规则集已覆盖全国主流快递,但自建驿站 / 学校自提柜 / 物业柜的文案千差万别。
从这一版开始,你可以为自己所在的那一家单独写一条规则,从此再也不漏抓。

模式 适用场景 例子
🌐 不限来源 官方规则没覆盖到的,兜底 —
📞 精确匹配 驿站 / 快递员固定号码 1069888877
📞 前缀匹配 虚拟号前几位固定、后几位随机 1069
📞 包含匹配 号码里带文字 菜鸟驿站

优先级:精确 > 前缀 > 包含 > 全局,号码专属不会被宽泛规则抢先匹配。

三道安全防线:危险正则静态拦截 / 强制自测样本不通过不允许启用 / 50ms 耗时熔断

权限边界(不可配置):只定义「从短信里提取取件码 / 来源 / 地点」,
无法也无法修改任何数据库写入行为。规则完全本地存储,不经过任何服务器。

📖 用户自定义规则参考手册

🧪 一键链路测试

新功能:分步验证「解析 → 写入 → 去重 → 通知」整条链路是否正常。
不消耗真实短信、不产生费用,测试记录可随时删除。

✍️ 手动输入短信测试(v2.9.5 起)

一键测试下方新增:粘贴任意短信 → 立即看到解析结果,默认只解析不写库。

🔧 架构修复

  • 冷启动热更失效:init() 原先只在手动打开 App 时调用,导致未打开过 App 时
    真实短信链路走的是编译内置旧规则。现已在四个进程入口统一初始化。
  • ColorOS 便签写入失败:感谢社区 PR #1 作者 Vv-Ww 定位——INSERT 值数(48)多于列数(47)。
    本版已修正为 47/47(并新增列值校验防回归),小米与 ColorOS 日历后端一字未动。
    ⚠️ 已通过程序级校验,尚待 ColorOS 真机复测,如有异常欢迎反馈。

🎨 界面重做

固定头部(滑动时始终可见 App 名 / 版本号 / 菜单)+ 可滚动内容,
全部模块统一为灰底圆角卡片,行距、字距、内外边距拉齐。


✅ 文件校验

  • 文件名:pickup-code-grabber-v3.0.0.apk
  • SHA-256:e36e6e09a4571e798ad4bf7f746ce915004f44b173c007099c494c1c90db8695

📖 相关链接

⚠️ 声明

  • 本版经作者本机实测:Redmi K90 Pro Max / HyperOS(短信全链路 + 用户规则全链路)
  • 直写系统待办库:不承诺云同步;只增行 / 定点标记,不删改已有数据
  • 非小米/OPPO 官方作品,MIT 许可,使用风险自担。打赏纯属自愿。

取件码助手 v2.9.2 · 规则评分体系进化与正反向过滤

Choose a tag to compare

@O-kai O-kai released this 13 Sep 21:00

📦 取件码助手 v2.9.2 · 规则评分体系进化与正反向过滤

自动提取快递取件码 → 写入「待办」(新码置顶)→ 通知点击复制 / 一键已取件。

🆕 本次更新:彻底消除催取提醒短信误报

  • 🛑 正反向双通道与评分熔断机制:
    • 针对类似“【拼多多】您的商品在代收点已超6小时未取,请尽快取件”这类非取件码通知,增加负向特征过滤;
    • 细化评分体系:排除时间/时长(如“6小时”)、前后缀修饰(“超/过/满”),彻底解决单个数字被误提为取件码的偶发问题;
  • ⚡ 规则集同步升级至 v3:
    • 提取规则数据平滑演进,本地内置 + 远程热拉取,双向自愈无感兼容;
  • 📋 错题本直达手动上报:
    • 无论错题本有无内容,菜单内均支持直接点击「✍️ 手动上报」进入预填反馈页面,无需繁琐操作;
  • 🧪 语料库全量回归通过:
    • 27 条测试用例与 13 处地点用例全部脱机与端侧自动化测试通过。

✅ 文件校验

  • 文件名:pickup-code-grabber-v2.9.2.apk
  • SHA-256:9b2bdb532c054338cd59944c2c6332eb6f234467a1c33da3f0529e885c27b92c

📖 相关链接

⚠️ 声明

  • 实测 Redmi K90 Pro Max / HyperOS 4.0 / Android 17 与一加 9 Pro / ColorOS 16;
  • 直写系统待办库:不承诺云同步;只增行 / 定点标记,不删改已有数据;
  • 非小米/OPPO 官方作品,MIT 许可,使用风险自担。打赏纯属自愿。

取件码助手 v2.9.1 · 提取规则 v2(真实语料驱动)

Choose a tag to compare

@O-kai O-kai released this 10 Sep 10:42

📦 取件码助手 v2.9.1 · 提取规则 v2(真实语料驱动)

自动提取快递取件码 → 写入「待办」(新码置顶)→ 通知点击复制 / 一键已取件。

🆕 本次更新:识别规则大升级(源自酷安/QQ 群用户真实反馈语料)

  • 码形大扩展:M-2-5341(字母段)、D4-7048、S3-2043(字母+数字)、109-6-4006、
    4-2-02015、凭取件码267961(连写)——之前全部漏抓,现在全部稳定提取;
  • 防误抓:取尾号9100包裹 这类快递单尾号不再被误当取件码;
  • 地点提取重构:「到/至……取」动词夹取新策略(任意结尾的门面房/小平房/文化广场东侧/
    快递服务中心二楼都能吃进来),原词表匹配保留回退;
  • 来源识别重构:优先读短信【】括号里的品牌名(欢猫驿站等新品牌零规则自动支持);
  • 热更新安全加固:新引擎的规则永远不会被拉进老版本(版本强校验闸门);
  • 质量:回归集扩至 39 断言(26 码 + 13 地点 + 冒烟门禁)全 PASS。

已装 v2.8.0+ 的用户:更新本版后 3 天内自动拉取规则 v2;或点右上角「⋮ → 检查规则更新」立即生效。

✅ 文件校验

  • 文件名:pickup-code-grabber-v2.9.1.apk
  • SHA-256:6a5318ff4259df7fc6d25bc0bc19a14eb3e3b134ad1dd2f038f00787f9e3e7ae

📖 相关链接

⚠️ 声明

  • 实测 Redmi K90 Pro Max / HyperOS 4.0 / Android 17 与一加 9 Pro / ColorOS 16;
  • 直写系统待办库:不承诺云同步;只增行 / 定点标记,不删改已有数据;
  • 非小米/OPPO 官方作品,MIT 许可,使用风险自担。打赏纯属自愿。

取件码助手 v2.9.0 · 通知取件提取 + 规则热更新(v2.8+v2.9 合并发布)

Choose a tag to compare

@O-kai O-kai released this 10 Sep 09:33

📦 取件码助手 v2.9.0 · 通知取件提取(双通道时代)

自动提取快递取件码 → 写入「待办」(新码置顶)→ 通知点击复制 / 一键已取件。
本次两大版本(v2.8.0 + v2.9.0)合并发布说明。

🔔 v2.9.0:通知取件提取(默认关,设置页一键开)

不止短信——菜鸟 / 菜鸟裹裹 / 京东 / 淘宝 / 拼多多 / 顺丰等 App 的取件通知也能提取了:

  • 在系统通知管线内拦截快递 App 通知(白名单初筛,不碰无关 App),
    无需"通知使用权"权限,无保活问题,后台冻结也不影响;
  • 与短信通道共用「码+地点」指纹去重:同一包裹既发短信又弹通知,绝不重复写入;
  • 开启方式:设置页「🔔 通知取件提取」→ 开启 → 重启手机生效。

⚡ v2.8.0:规则热更新 + 离线优先 + 漏抓错题本

  • 规则热更新(引擎/规则冷热分离):提取规则外置 rules.json,
    jsDelivr CDN + GitHub 兜底拉取,3 天一次静默自愈;
    新规则必须先过端侧沙箱冒烟门禁(10 条黄金用例含反例)才能生效——
    任何写坏的规则都会被自动拦截回退,绝不翻车;
  • 离线优先设计:本地缓存 → 内置档案 → 编译默认三级回退,
    断网/禁网全功能可用;规则引擎版本实时显示在体检卡;
  • 🌐 允许联网总开关:不想联网?一键关闭,软件自动更新和规则热更新全部停止,
    进入纯离线模式——核心功能(提取/写入/通知/体检)零影响;
  • 📋 疑似漏抓错题本:收到快递特征短信但没提出码?自动记入错题本
    (手机号/链接自动脱敏),右上角菜单一键复制上报给作者,下一版规则就能修。

✅ 文件校验

  • 文件名:pickup-code-grabber-v2.9.0.apk
  • SHA-256:70903f5dd1584e5256e6a8f923a9500cd12051e414dafe8d4552a594224858f4

📖 相关链接

⚠️ 声明

  • 实测 Redmi K90 Pro Max / HyperOS 4.0 / Android 17 与一加 9 Pro / ColorOS 16;
  • 直写系统待办库:不承诺云同步;只增行 / 定点标记,不删改已有数据;
  • 非小米/OPPO 官方作品,MIT 许可,使用风险自担。打赏纯属自愿。

取件码助手 v2.7.1 · 规则增强与动态适配微调

Choose a tag to compare

@O-kai O-kai released this 09 Sep 21:10

📦 取件码助手 v2.7.1 · 规则增强与动态适配微调

自动提取快递取件短信取件码 → 写入「待办」(新码置顶)→ 通知点击复制 / 一键已取件。

🆕 本次更新

  • 🐛 修复 ColorOS 便签写入:合并社区开发者 @Vv-Ww 的 PR #1,修正 ColorOS 便签备用后端的 SQL 列值不匹配问题;
  • 📍 地点与来源提取更聪明:
    • 支持类似“苍山下坡圆通快递”、“老菜场斜对面申通快递”等末尾为快递网点的地点提取;
    • 来源识别细分补充“妈妈驿站”、“兔喜生活”、“申通快递”、“极兔速递”等品牌;
    • 未提取到地点或来源时,统一优雅显示为“—”(不再展示生硬的“未知地点”);
  • 🛡 冻结免疫直写按系统动态显隐:
    • 小米系统环境:默认直接隐藏该功能,无需多余设置与权限;
    • ColorOS 系统环境:正常展示并默认开启,保障划掉后台时的短信入库;
  • 🧪 语料回归集扩充:新增真实短信测试用例,18/18 样本全量通过。

✅ 文件校验

  • 文件名:pickup-code-grabber-v2.7.1.apk
  • SHA-256:5b3f855f94667c0a7473df3bc08ccebc87688f53ddb7644057998ab156002ca1

📖 相关链接

⚠️ 声明

  • 实测 Redmi K90 Pro Max / HyperOS 4.0 / Android 17 与一加 9 Pro / ColorOS 16;
  • 直写系统待办库:不承诺云同步;只增行 / 定点标记,不删改已有数据;
  • 非小米/OPPO 官方作品,MIT 许可,使用风险自担。打赏纯属自愿。

取件码助手 v2.7.0 · ColorOS 16 正式支持

Choose a tag to compare

@O-kai O-kai released this 08 Sep 20:59

📦 取件码助手 v2.7.0 · ColorOS 16 正式支持

自动提取快递取件短信取件码 → 写入「待办」(新码置顶)→ 通知点击复制 / 一键已取件。

🆕 本次更新:多 ROM 支持(ColorOS 16)

  • ColorOS 16 正式适配:新增写入后端抽象层(NotesBackend),自动识别 ROM——
    小米/HyperOS 写小米笔记待办(原有行为逐字节等价保留),
    ColorOS 16 写日历「待办」(系统 CalendarProvider tasks.db,root 直写,
    规避平台签名接口限制);
  • 写入目标可手动切换:设置页可选 小米笔记 / ColorOS 日历待办 / ColorOS 便签置顶笔记;
  • 冻结免疫兜底(默认关闭,设置页可开):模块 App 被划掉/冻结时,
    短信 Hook 进程内直写兜底,保证「后台被杀也能写」;
  • 🙏 ColorOS 适配源自社区贡献(上游整合),感谢社区开发者的实机侦察与 PR;
  • 小米原有用户:本版本对你们零行为变化——如升级后有异常,请立刻反馈(QQ 群见 App 首页)。

✨ v2.6 系列回顾

  • 提取引擎 v3:码形状优先 + 上下文排除,新品牌/新措辞/新码形兜得住;
  • 界面大修:体检折叠、模板所见即所得、切换零卡顿、QQ 群入口。

✅ 文件校验

  • 文件名:pickup-code-grabber-v2.7.0.apk
  • SHA-256:117fe4e0a3c9d4c79dd5cacbd054a2fc251bf57c2ef057cbcdac8695887ef75b

📖 相关链接

⚠️ 声明

  • 实测 Redmi K90 Pro Max / HyperOS 4.0 / Android 17 与一加 9 Pro / ColorOS 16;
  • 直写系统待办库:不承诺云同步;只增行 / 定点标记,不删改已有数据;
  • 非小米/OPPO 官方作品,MIT 许可,使用风险自担。打赏纯属自愿。

取件码助手 v2.6.1 · 提取引擎 v3

Choose a tag to compare

@O-kai O-kai released this 07 Sep 18:39

📦 取件码助手 v2.6.1 · 提取引擎 v3

自动提取快递取件短信取件码 → 写入小米笔记「待办」(新码置顶)→ 通知点击复制 / 一键已取件。

🆕 本次更新:识别引擎大重构

有用户反馈"链路全通但自己的取件码没识别"——这版从根上解决:

  • 新三层策略:关键词锚定 → 凭码/出示(容忍引号)→ 全文候选评分兜底,
    没见过的新驿站、新措辞、新码形也能抓到(兔喜生活 / 妈妈驿站 / 引号码实测全过)
  • 反误报:验证码 / 银行 / 支付类短信入口即拒(实测拦截"支付宝动态验证码")
  • 码形扩展:2-3-05025 这类 5 位尾段、纯数字码、字母数字混合码全支持
  • 地点增强:xx市xx路185号店 这类完整地址写进待办

🧪 质量保障

  • 建立 16 条真实短信语料回归集(test/sms-cases.txt),今后每次引擎改动全量回归;
  • 发现自己的取件短信没识别?进群发原文(群入口在 App 首页,进群备注「取件码助手」),
    下一版就能修。

✅ 文件校验

  • 文件名:pickup-code-grabber-v2.6.1.apk
  • SHA-256:71218b6031833a985b710803f15cb5fd24003ec600957060f8387966b1154da6

📖 相关链接

⚠️ 声明

  • 仅实测 Redmi K90 Pro Max / HyperOS 4.0 / Android 17;其他机型欢迎反馈;
  • 直写小米笔记数据库:不承诺云同步;只增行 / 定点标记,不删改已有数据;
  • 非小米官方作品,MIT 许可,使用风险自担。打赏纯属自愿。

取件码助手 v2.6.0 · 界面大修版

Choose a tag to compare

@O-kai O-kai released this 06 Sep 22:04

📦 取件码助手 v2.6.0 · 界面大修版

自动提取快递取件短信取件码 → 写入小米笔记「待办」(新码置顶)→ 通知点击复制 / 一键已取件。

🔮 下一步大计划(预告)

通知分析与取件码读取——计划支持读取 Android 手机通知信息,自动识别并添加取件码,
让取件方式更多样、更省心。这个功能正在规划中,欢迎进群聊你的使用场景:
QQ 群 901543676(进群备注「取件码助手」),你的想法可能就是下一个版本的功能。

🆕 本次更新

  • 界面大扫除:体检全绿自动收成一行「✅ 一切正常」,有问题才展开;常用功能上移
  • 待办模板重构:极简/完整所见即所得预览;自定义模式编辑 + 保存 / 恢复默认,
    保存带校验(必须含 {code})
  • 切换模板不再触发体检重跑(旧版会卡 2-5 秒)
  • QQ 群入口:版本号下方一键复制群号;反馈渠道弹窗(QQ 群 / GitHub / 酷安)
  • 作用域指引强化:「Android 系统」不带推荐角标也必须勾(别漏勾、别勾错)
  • 修复:清空过待办的新用户首条写入失败的问题(2.5.2 已修,未更新的用户请直接装本版)

✅ 文件校验

  • 文件名:pickup-code-grabber-v2.6.0.apk
  • SHA-256:dfb6f1df938f850c355fc2ec7a492687cd0b7189d8c473ffa6d6ac6ed1ff9471

📖 相关链接

⚠️ 声明

  • 仅实测 Redmi K90 Pro Max / HyperOS 4.0 / Android 17;其他机型欢迎反馈;
  • 直写小米笔记数据库:不承诺云同步;只增行 / 定点标记,不删改已有数据;
  • 非小米官方作品,MIT 许可,使用风险自担。打赏纯属自愿。