千机阵 v4.0.2 · macOS 免安装版 使用说明
================================================

【这是什么】
  千机阵：多机矩阵自动刷剧 / 签到宝箱 / 看广告赚金币的自动化调度系统。
  本包为免安装绿色版：内置 Node.js 运行时，双击即用，无需安装 Node。

【快速开始】
  1. 解压本包到任意目录（建议英文路径，如 ~/Apps/qianjizhen）
  2. 双击 start.command
     - 若首次提示「无法打开 / 无法验证开发者」：右键 → 打开，
       或在终端执行一次：
         xattr -dr com.apple.quarantine <你的解压目录>
  3. 脚本自动：启动操控台(端口 8124) + 打开浏览器
  4. 首次使用：在操控台「系统」页输入激活码完成激活（联网绑定本机硬件）
  5. 激活后再次双击 start.command，引擎编排器即会启动开始调度
  ※ 本包已内置 adb 与 scrcpy（tools/ 下），无需手动安装，扫码设备 / 投屏开箱即用。

【首次使用：添加你的手机（发布包零实机配置）】
  1. 本发布包 devices/ 目录为空白模板（devices.json 空注册表 + device_001.json.example 示例），
     不含任何开发机设备信息，请放心分发。
  2. 手机开启「开发者选项 → USB 调试」，用 USB 线连接电脑（本包已内置 adb，无需手动安装）。
  3. 打开操控台 http://127.0.0.1:8124 → 「设备调配」页 → 点「🔄 扫描设备」，
     确认你的手机出现在扫描结果（当前版本扫描为只读登记预览）。
  4. 正式「添加设备」登记按钮将在后续版本开放；当前临时登记方式：
       把 devices/device_001.json.example 复制为 devices/device_XXX.json，用真实信息替换
       REPLACE_ 占位符，再在 devices/devices.json 的 devices 数组登记该设备 id。
  5. 添加设备后重新运行 start.command，引擎编排器即会开始调度。
  ※ 引擎说明：零设备时引擎编排器启动即退出（预期行为，非故障，操控台正常运行并等待用户添加设备）；
    登记并启用设备后重新运行启动器即自动拉起调度；引擎运行期间新增设备约 30 秒自动接入
    （期望状态对账自动完成），无需重启。

【停止】
  双击 stop.command 停止操控台与引擎。

【目录结构】
  runtime/          内置 Node.js 运行时（darwin-arm64 / darwin-x64）
  scheduler/ lib/ dashboard/ actions/ config/ devices/ tools/ install/
                   千机阵 v4.0.2 全部运行代码
  tools/platform-tools/   内置 adb（Android platform-tools，通用二进制，macOS 免装）
  tools/scrcpy/           内置 scrcpy 投屏工具（aarch64 版，含 scrcpy-server）
  devices/devices.json + device_001.json.example
                   空白设备模板（不含实机配置，零痕迹）
  start.command    一键启动器
  stop.command     停止器
  VERSION          版本信息
  logs/            运行日志（首次启动后生成）

【激活码 / 授权】
  - 激活码请联系管理员获取（格式 XXXX-XXXX-XXXX-XXXX）
  - 激活 = 联网调用 License 服务并绑定本机硬件指纹（一码一机）
  - 激活状态存 devices/state/license.json；约 30 天需联网刷新一次
  - 换机：原机器在操控台「系统」页解绑后，新机器重新激活

【内置工具（本包已捆绑 adb + scrcpy，用户免装）】
  - 本包已内置：
      · adb —— tools/platform-tools/adb（Android 官方 platform-tools，通用二进制）
      · scrcpy —— tools/scrcpy/scrcpy（投屏工具，aarch64 版）
  - 启动器会自动把 tools/platform-tools 加入 PATH 并设置 ADB_BIN 指向内置 adb，
    设备扫描 / 刷机 / 投屏均开箱即用，无需 brew install。
  - 投屏时操控台优先使用包内 tools/scrcpy/scrcpy，找不到才回退本机 PATH 的 scrcpy。
  - 仅需：手机开启「开发者选项 → USB 调试」并用 USB 线连接电脑。
  - 若自备 adb，可用环境变量 ADB_BIN 显式指定（优先于内置）。

【常见问题】
  - 双击没反应 / 提示无法验证开发者：执行
      xattr -dr com.apple.quarantine <解压目录>
    （或 系统设置 → 隐私与安全性 → 仍要打开）
  - 端口 8124 被占用 / 启动失败：查看 logs/dashboard.out.log
  - 日志位置：logs/dashboard.out.log、logs/engine.out.log
