# 接入可靠性升级:2026-09-14 这是本地待发布改动,不代表已经发布新的GitHub版本。范围是首次接入、已有材料复用和错误诊断,不扩展自动发消息,也不改动用户数据库。 ## 反馈与核验 | 反馈 | 核验结论 | 本轮处理 | |---|---|---| | [Issue #3](https://github.com/Rion-Wu-tech/wechat-intelligence-hub/issues/3) | 用户报告实际提权Python无数据库权限;随后又遇到root身份启动PBKDF目标。固定上游代码确实在传入目录后追加`db_storage` | 对实际worker做文件头预检;获取根目录归一化;启动身份仍待真实兼容验证 | | [Issue #2](https://github.com/Rion-Wu-tech/wechat-intelligence-hub/issues/2) | 用户报告副本受系统启动策略阻止,官方微信未恢复 | 保留恢复锁,增加阶段诊断;不自动降级系统防护或声称恢复完成 | | [Issue #75](https://github.com/Rion-Wu-tech/wechat-intelligence-hub/issues/75) | 截图称升级微信至4.1.15后仍`provider_failed`,只有通知预览 | 不能仅按微信版本归因;应收集失败阶段与本机版本组合 | | [开源帖评论:反复退出登录](https://x.com/haofeng_888/status/2098460180711420219) | 用户直接反馈卡在取key、反复退登 | 失败先status,按阶段排查,不重复bootstrap | | [开源帖评论:误把缺材料当权限](https://x.com/JXianSheng/status/2096184121517396402) | 用户贴出`database_access_material_required`并询问权限 | 明确缺材料、文件权限、SQLCipher、调试器和启动失败是不同层 | 来源是公开报告,不等于维护者在相同机器复现。微信私聊与群反馈仅用于本地归类,不把联系人或原文加入公开仓库。开源帖只检查本次页面加载到的评论,不声称覆盖全部评论。 ## 已实现 1. **目录适配**:账号目录、`db_storage`、只含一个账号的数据父目录统一为provider所需的账号根。多账号仍拒绝猜测;普通导出目录不冒充微信账号目录。 2. **材料复用**:相对路径材料在临时目录转换后预检;Reader自己的`salt_keys`也可重新导入。raw key包含salt时校验一致性。只有验证通过并显式`--apply`才发布配置。 3. **提前检查**:实际授权worker先读取目标库文件头,再检查Apple Python能否导入LLDB。前置失败不启动provider,不退出微信。扫描上限沿用用户参数。 4. **失败可定位**:流式读取provider输出,仅保留固定标记与退出码,不存原始日志。区分副本准备、派生捕获、账号salt不匹配、启动失败、部分覆盖等提示;不把提示当根因证明。 5. **安全诊断入口**:`access.sh status`返回当前可读性、版本、覆盖计数和上次尝试的阶段。历史状态与当前状态分开,不自动重试、清锁或运行获取。 6. **安装反馈模板**:提交阶段、版本组合与安全诊断,禁止上传key、数据库、原始日志和聊天截图。 第一阶段源码对照:[原固定wxkey提交](https://github.com/r266-tech/wxkey/blob/9b70eecdde47a7172b19465c3f977c86b6050e8a/cmd/wxkey/main.go)。第一阶段没有修改provider;继续升级后新增了[独立候选补丁与可复现准备流程](../providers/wxkey/README.md),仍未运行真实微信获取。 ## 第二阶段:Provider 候选适配 基线更新到上游`01e96fa`,包含Intel参数读取修复;本地补丁增加目标身份核验、异步有界等待、退出时执行清理及原用户身份重开微信。它不改变当前默认接入工具,也不随安装执行。 已通过16项Python隔离测试、Go针对性回归、普通用户真实LLDB小程序测试和固定源码重新构建。Reader测试现为96项,SQLCipher路径均通过。准备收据明确标记未执行provider,候选状态仍为`candidate_not_default`。 诊断新增实际身份不符/未知、启动入口超时、继续执行失败、重开请求已发出/失败等固定标记。尤其不会把“open命令已发出”写成“微信已经恢复”。 ## 验证与剩余工作 ### 第三阶段:首次接入与恢复闭环 助手修订号更新为`2026-09-14.3`,不改变Reader版本,也不默认执行候选provider。 - `onboard`发现已知wxcli材料文件时,不再进入准备provider分支。此处只判断是否存在,确认来源和账号后再显式导入验证,不读取文件内容到模型上下文。 - 实际worker在provider启动前检查LLDB关键启动身份、进程身份及事件等待接口;区分“无法导入”和“接口不兼容”,不启动调试目标。 - 修复获取成功后过早清除恢复锁的问题:数据库可读与微信恢复是两个状态,前者不再自动证明后者。保留恢复锁不影响日报和正常查询。 - `status`在存在恢复锁时返回只含计数的进程检查;不能证明登录状态,也不能证明所有改名的获取进程都已结束。 - 新增`finish-recovery`。用户事后确认微信正常且获取已结束,再通过当前进程检查,才移除恢复锁;不终止进程、不重启微信、不删除材料。早先的获取授权不是事后确认。 新增测试覆盖已有材料不读取、API不兼容、成功后仍保留锁、残留进程、检查失败、符号链接、不安全权限和锁被替换。真实Apple Python/LLDB接口内省已通过;没有提权、取key或清理本机真实恢复锁。 本阶段最终验证:115项Reader/接入测试在SQLCipher环境全部通过,完整`validate.sh`通过;本机同步后`status`为ready,10个消息库、缺失0,`onboard`明确返回复用旧配置且未获取、未写配置。源码和Skill更新仍待用户确认后发布GitHub。 - Reader测试使用SQLCipher运行环境,覆盖虚构加密库的验证和配置;旧配置保留、跨账号选择、超时和隐私输出也有回归测试。 - 本机已有配置通过只读status验收。这仅证明已接入配置可读,不算新机器获取成功。 - **尚未实机验证**:候选在真实root到普通用户启动微信时的表现;部分系统副本启动限制和GUI恢复也没有通用保证。Windows自动获取仍未实现。 - 下一步是在明确授权的测试机器上,分别验收启动身份、获取、材料校验和微信恢复;不能用反复获取代替修复。 - 成功率需按“独立机器的首次尝试”计数,分别记录准备、获取、材料验证、查询抽检、微信恢复五个阶段。当前没有足够样本发布百分比或承诺通用兼容。 ## 推荐给Codex的提示词 > 请按wechat-cli Skill检查我的本机微信接入。先运行onboard/status,已有配置或材料就复用;材料可能需要格式转换,不要直接当成key失效。失败请根据阶段修复并说明仍未解决的部分,不反复退出登录。确需获取时再核验固定工具、说明影响并征得我确认;密码只由我在系统授权窗口输入。最后用真实数据库读取抽检验收,不把通知预览当完整历史。