43 lines
1.1 KiB
Markdown
43 lines
1.1 KiB
Markdown
# OpenClaw Monitor Agent Plugin 开发计划(草案)
|
||
|
||
## 目标
|
||
让被监测服务器通过 WebSocket 主动接入 HarborForge Backend,并持续上报:
|
||
- OpenClaw 版本
|
||
- agent 列表
|
||
- 每 5 分钟主机指标(CPU/MEM/DISK/SWAP)
|
||
- agent 状态变更事件
|
||
|
||
## 握手流程
|
||
1. Admin 在 HarborForge 后台添加 server identifier
|
||
2. Admin 生成 challenge(10 分钟有效)
|
||
3. 插件请求 获取公钥
|
||
4. 插件构造 payload:
|
||
-
|
||
-
|
||
- (随机)
|
||
- (ISO8601)
|
||
5. 使用 RSA-OAEP(SHA256) 公钥加密,base64 后作为 发给
|
||
6. 握手成功后进入事件上报通道
|
||
|
||
## 插件事件协议
|
||
### server.hello
|
||
|
||
|
||
### server.metrics(每 5 分钟)
|
||
|
||
|
||
### agent.status_changed(可选)
|
||
|
||
|
||
## 实施里程碑
|
||
- M1: Node/Python CLI 插件最小握手联通
|
||
- M2: 指标采集 + 周期上报
|
||
- M3: agent 状态采集与变更事件
|
||
- M4: 守护化(systemd)+ 断线重连 + 本地日志
|
||
|
||
## 风险与注意事项
|
||
- 时钟漂移会导致 校验失败(建议 NTP)
|
||
- challenge 仅一次可用,重复使用会被拒绝
|
||
- nonce 重放会被拒绝
|
||
- 需要保证插件本地安全保存 identifier/challenge(短期)
|