Files
GUI-Agent/SystemTest-Agent

SystemTest-Agent

P0-02 被控端最小可用实现,首次启动向主控注册并保存 token,后续启动使用本地 token 发送 Bearer 心跳并轮询任务。

一键启动

PowerShell:

.\start_agent.ps1

CMD:

start_agent.bat

默认会在局域网内自动发现 8001/8000 端口上的主控。也可以手工指定主控地址:

.\start_agent.ps1 -ControllerUrl http://<controller-lan-ip>:8001
start_agent.bat http://<controller-lan-ip>: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 <token>
  • 注册与心跳上报物理机/虚拟机部署形态