70 lines
1.8 KiB
Markdown
70 lines
1.8 KiB
Markdown
# 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://<controller-lan-ip>:8001
|
||
```
|
||
|
||
```bat
|
||
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>`
|
||
- 注册与心跳上报物理机/虚拟机部署形态
|