# SystemTest-Agent P0-02 被控端最小可用实现,首次启动向主控注册并保存 token,后续启动使用本地 token 发送 Bearer 心跳并轮询任务。 ## 一键启动 PowerShell: ```powershell .\start_agent.ps1 ``` CMD: ```bat start_agent.bat ``` 默认会在局域网内自动发现 `8001/8000` 端口上的主控。也可以手工指定主控地址: ```powershell .\start_agent.ps1 -ControllerUrl http://:8001 ``` ```bat start_agent.bat http://:8001 ``` 如果在另一台局域网设备上双击后窗口闪退,常见原因是: - 该设备访问不到主控机的 `8001` 端口,需放行主控机防火墙或手工传入 `http://<主控机局域网IP>:8001` - 该设备没有安装 Python 3,或 `python/py` 不在 PATH - 被控本地服务端口 `18081` 已被占用 新版 `start_agent.bat` 遇到这些错误会暂停并显示原因。 默认被控本地服务端口与 `Agent-S-main/bridge_config.yaml` 的 `log_web_port` 保持一致: - Local health: `http://127.0.0.1:18081/health` - 环境变量:`AGENT_LOCAL_SERVICE_PORT=18081` ## 状态持久化 首次注册成功后写入 `data/agent_state.json`: - `agent_id` - `public_id` - `token` - `registered_at` - `controller_url` 重启时如果该文件存在且机器标识一致,被控端不会重复注册,会直接用 Bearer token 发送心跳和领任务请求。 ## 部署形态 `AGENT_DEPLOYMENT_TYPE=auto` 时自动判断物理机/虚拟机;也可显式设置: - `physical_machine` - `virtual_machine` - `box_physical` - `box_virtual` ## 已完成的 P0-02 验收点 - 首次启动自动注册 - token 保存到本地状态文件 - 后续启动不重复注册 - 心跳和领任务请求使用 `Authorization: Bearer ` - 注册与心跳上报物理机/虚拟机部署形态