# 自动化与设备托管：上线前 9 项验收清单

> 免费下载，可直接照打勾。适用于「无人值守取码 / 批量登录 / 设备托管 / 脚本常驻」这类自动化上线前的自检。
> 维护方：AI智工坊（苏州广视人工智能科技有限公司） · 版本 2026-10-28

## 一、通道自检（3 项）

- [ ] **1. 设备列表唯一且为 device**
  `adb devices` 必须只有一行 `device`。出现 `unauthorized` 视为不可用（设备在、命令不报错、但读什么都返回空）。
- [ ] **2. 降级路径明确**
  主通道不可用时，脚本必须**主动降级**到备用通道（如邮箱转发），并把「本次已降级」写进日志。
  判据：日志里能搜到降级记录；上层收到的不是「空」，而是「已降级」。
- [ ] **3. 常驻进程真的活着**
  `adb shell pidof <包名>` 有输出才算活。判据写成「连续 N 次为空 → 告警 + 尝试拉起」，单次为空可能只是重启瞬间。

## 二、权限与存活（2 项）

- [ ] **4. 系统层能改的都改了**
  Doze 白名单：`dumpsys deviceidle whitelist +<包名>`
  待机分桶：`am set-standby-bucket <包名> active`
  注意：`appops set ... RUN_IN_BACKGROUND` 在 Android 13 普通 adb 下报 `MANAGE_APP_OPS_MODES` 权限拒绝，需 root，别在这上面耗时间。
- [ ] **5. 厂商层已人工确认（ADB 改不了）**
  最近任务里长按卡片锁定 / 电池→应用耗电管理→不限制 / 手机管家→自启动管理→开启。
  **这三条必须人在手机上点**，脚本无法代劳；上线前让责任人当场点一遍并截图。

## 三、数据正确性（2 项）

- [ ] **6. 通知类短信必须判为「无码」**
  拿一条真实银行账单短信喂进去，结果必须是 `NO_CODE_FOUND` / exit 1，**不能返回任何数字**。
  这是最容易被忽略的一项：兜底正则（独立 6 位数字）会把金额、卡号尾数、日期当成验证码，把「通道故障」伪装成「验证码错误」。
- [ ] **7. 多来源过滤有效**
  双卡双待场景下，用 `--from <平台名>` 一类过滤能挡住另一张卡的验证码。
  判据：不过滤时能复现取错码，过滤后不再出现。

## 四、故障演练（2 项）

- [ ] **8. 三种故障各演一次**
  断网 / 拔线 / 杀进程，分别确认上层收到的是「失败」而不是「空」，且失败原因可区分（不是三条都报同一个错）。
- [ ] **9. 回滚路径存在**
  改过配置的，先备份原配置；出问题能在 5 分钟内回到上一个可用状态。没有回滚路径的改动不算上线。

## 三条边界（写给你自己看的）

1. **人机验证越不过去。** 滑块、点选、行为风控，任何基于「一部手机 + ADB / 转发 App」的方案都过不了。正确设计是「机器负责常规的 95%，剩下 5% 明确抛给人」，而不是把失败重试到天亮。
2. **手机不是服务器。** 一台长期插着 USB 的日常手机，会被拿走、被误关后台、被厂商更新改权限策略。把它当基础设施前，先指定「谁负责让它一直在线」。
3. **不要用「多腿冗余」冒充健康。** 五条通知腿里有三条已经死了，顶层接口仍然返回成功。判健康必须逐腿看结果，不能只看总状态。

---

需要按你的场景落地这套东西（含脚本、看护、验收记录、故障演练），可以走企业服务页：
https://www.aizhigongfang.com/services/

下单 / 询价前缀：`ORDER-OPS-`（自动化与设备托管）
