--- trio: standard-v4 trio-initialized: 2026-07-13 trio-migrated-v3: 2026-07-13 trio-migrated-v4: 2026-07-13 status: active desc: "跨平台铁路发票自动化独立运行时" --- # Autotrain Next · Agent 操作守则 > **上来先读这份**,再看 [INDEX.md](./INDEX.md) 找模块、当前接力与常用命令。 > > 本项目是**独立根项目**,通用项目管理协议见 [docs/trio-protocol.md](./docs/trio-protocol.md),目标与边界见 [docs/CHARTER.md](./docs/CHARTER.md)。不得读取、导入或运行其所在目录之外的旧工程代码、配置或工作文件。 ## 这是什么项目 跨 macOS / Windows 的铁路发票 Android 自动化运行时。它以手机 serial 隔离档案、录制采样和任务数据,并以受控原子工具循环取代单体脚本。 ## 上手三步 1. 读 [docs/CHARTER.md](./docs/CHARTER.md),确认目标、范围与安全边界。 2. 读 [INDEX.md](./INDEX.md),确认模块、当前接力和本项目内命令。 3. 先运行 `python3 -m unittest discover -s tests -v`;真机前运行 `python3 scripts/autotrain_next.py device-status`。 ## 项目专属硬规则 - 本项目必须在自身目录内可运行:禁止 `import` 父目录模块、引用父目录相对路径,或读取父项目的配置/工作文件。 - 密钥仅可放在被忽略的 `config.local.json` 或环境变量;身份证号、二维码、截图、录制与任务日志仅存 `work/`,严禁提交。 - 所有 ADB 操作必须携带任务 `device_serial`;多台设备连接时不得默认选择设备。 - 坐标只能持久化为 `0..1` 归一化值;不得新增机型或分辨率专用像素常量。 - LLM 输出必须经过 `planner.validate_llm_steps`;业务提交权限默认关闭,须由创建任务者明确授权。 - 对话记录只保存脱敏摘要到根目录 [CONVERSATION_LOG.md](./CONVERSATION_LOG.md),不得写入密钥、身份证号、二维码或截图内容。 ## 目录约定 | 目录 / 文件 | 用途 | |---|---| | `autotrain_next/` | 核心运行时:ADB、档案、采样、视觉、工具、规划与 Web UI | | `scripts/` | 独立 CLI 入口 | | `tests/` | 无真机单元测试 | | `work/` | 忽略的设备档案、导入物、任务及输出 | | `docs/` | 总纲、项目管理协议与详细文档 | | `config.local.json` | 忽略的本地模型与安全配置 | ## 项目专属反例 - ❌ 为“兼容”而调用或复制父项目 Python 模块。 - ❌ 把本地凭证、乘车人数据或手机采样纳入版本控制。 - ❌ 未经用户确认启动真实提交任务,或绕过设备档案验证。