3.6 KiB
3.6 KiB
WP-CONSOLE-58 · M2-08 自动接入准备包
一句话结论
已经把“下载 → 安装 → 扫码 → 首次 WSS 上线 → 设备列表 → 单机页回读”收成一个默认只读、可回滚、必须独占发布口令才能放行的执行器。当前只完成本地离线演练,手机动作数为 0。
现状判断
- 已有 M2-08 页面入口、APK/Agent 资源和二维码页面;这些内容只做本地清单与哈希核对。
- 已有绑定测试手机的历史回读证明在线、微信运行和一次 4.786 秒重连,但它不是首次安装扫码链路。
- 现有资源包发布门禁仍是阻断态,且记录了 Hook 内嵌资产与源文件哈希不一致;真实执行前必须重新生成并复核资源包。
- 现有无线 Agent 脚本包含停进程或依赖主机调试通道的分支,本准备包不调用它。
文件
| 文件 | 作用 |
|---|---|
wp_console_58_onboarding.py |
主执行器;默认 --dry-run,真实模式必须同时满足发布口令、独占窗口释放、资源门禁、唯一设备 ID 和适配器存在 |
config.example.json |
参数模板;不含口令、令牌或密钥 |
adapter_contract.md |
设备端无线适配器输入/输出契约;当前仓库没有可直接复用的安装适配器,所以真实执行会闭锁 |
BACKUP_MANIFEST.json |
已有 Agent/APK/安装包备份的本地路径与 SHA-256 摘要 |
DRY_RUN_RESULT.json |
本轮离线演练证据 |
test_wp_console_58_onboarding.py |
标准库单元测试,覆盖门禁、计时、唯一 ID 和失败回滚 |
离线验证
cd "/Users/karuo/Documents/开发/2、私域银行/工作手机"
PYTHONDONTWRITEBYTECODE=1 python3 20260809_WP_CONSOLE_58_ONBOARDING_PREP/wp_console_58_onboarding.py \
--dry-run \
--output 20260809_WP_CONSOLE_58_ONBOARDING_PREP/DRY_RUN_RESULT.json
PYTHONDONTWRITEBYTECODE=1 python3 -m unittest \
20260809_WP_CONSOLE_58_ONBOARDING_PREP/test_wp_console_58_onboarding.py -v
演练会验证两条路:
- 没有独占发布口令时必须拒绝进入真实执行;
- 使用内存夹具模拟成功闭环和上线阶段失败,确认 180 秒计时、目标 ID 一致性、回滚调用和单机页回读契约都成立。
真实执行前置
- 复制
config.example.json为本地私有配置,填入完整目标设备 ID、SDK 地址、资源期望哈希和无线适配器绝对路径。 - 资源包发布门禁必须变为 released;当前阻断态不得放行。
- 独占窗口释放描述必须明确写入
window_file,且 scope、window_id、target_device_id 与任务完全一致。 - 发布口令只通过权限受控的文件传入,脚本只比对 SHA-256,不把口令写入日志。
- 适配器必须只走 CLI/API → WSS Agent,不得使用 USB、ADB、界面点击或主机调试兜底。
真实执行命令模板
下面命令只是模板;未填私有配置、未生成发布口令和未提供适配器时会直接闭锁:
python3 20260809_WP_CONSOLE_58_ONBOARDING_PREP/wp_console_58_onboarding.py \
--execute \
--config /ABSOLUTE/PATH/config.json \
--release-token-file /ABSOLUTE/PATH/release.token \
--output /ABSOLUTE/PATH/run-result.json
回滚原则
- 下载完成前失败:只保留本地运行证据,不触碰手机。
- 安装或扫码阶段失败:先调用适配器
rollback,再保留备份、日志和原始回执;不自动解绑、不重启、不清配置。 - 上线或单机页回读失败:按失败处理,不把“命令已发送”算成成功。
- 任何设备 ID、窗口 ID、资源 SHA、通道或回读不一致,立即停在当前阶段。