New structure:
├── package.json # Root package
├── README.md # Documentation
├── plugin/ # OpenClaw plugin
│ ├── openclaw.plugin.json # Plugin manifest
│ ├── index.ts # Plugin entry (TypeScript)
│ ├── package.json
│ └── tsconfig.json
├── server/ # Telemetry sidecar
│ └── telemetry.mjs
├── skills/ # OpenClaw skills
└── scripts/
└── install.mjs # Installation script
Matches PaddedCell project structure.
Provides install.mjs with build/install/configure/uninstall commands.
168 lines
5.0 KiB
Markdown
168 lines
5.0 KiB
Markdown
# HarborForge OpenClaw Plugin
|
|
|
|
OpenClaw 插件,将服务器遥测数据流式传输到 HarborForge Monitor。
|
|
|
|
## 项目结构
|
|
|
|
```
|
|
HarborForge.OpenclawPlugin/
|
|
├── package.json # 根 package.json
|
|
├── README.md # 本文档
|
|
├── plugin/ # OpenClaw 插件代码
|
|
│ ├── openclaw.plugin.json # 插件定义
|
|
│ ├── index.ts # 插件入口
|
|
│ ├── package.json # 插件依赖
|
|
│ └── tsconfig.json # TypeScript 配置
|
|
├── server/ # Sidecar 服务器
|
|
│ └── telemetry.mjs # 遥测数据收集和发送
|
|
├── skills/ # OpenClaw 技能
|
|
│ └── (技能文件)
|
|
└── scripts/
|
|
└── install.mjs # 安装脚本
|
|
```
|
|
|
|
## 架构
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────┐
|
|
│ OpenClaw Gateway │
|
|
│ ┌───────────────────────────────────────────┐ │
|
|
│ │ HarborForge.OpenclawPlugin/plugin/ │ │
|
|
│ │ - 生命周期管理 (启动/停止) │ │
|
|
│ │ - 配置管理 │ │
|
|
│ └───────────────────────────────────────────┘ │
|
|
│ │ │
|
|
│ ▼ 启动 telemetry server │
|
|
│ ┌───────────────────────────────────────────┐ │
|
|
│ │ HarborForge.OpenclawPlugin/server/ │ │
|
|
│ │ - 独立 Node 进程 │ │
|
|
│ │ - 收集系统指标 │ │
|
|
│ │ - 收集 OpenClaw 状态 │ │
|
|
│ │ - 发送到 HarborForge Monitor │ │
|
|
│ └───────────────────────────────────────────┘ │
|
|
└─────────────────────────────────────────────────┘
|
|
│
|
|
▼ HTTP/WebSocket
|
|
┌─────────────────────┐
|
|
│ HarborForge Monitor │
|
|
└─────────────────────┘
|
|
```
|
|
|
|
## 安装
|
|
|
|
### 快速安装
|
|
|
|
```bash
|
|
# 克隆仓库
|
|
git clone https://git.hangman-lab.top/zhi/HarborForge.OpenclawPlugin.git
|
|
cd HarborForge.OpenclawPlugin
|
|
|
|
# 运行安装脚本
|
|
node scripts/install.mjs
|
|
```
|
|
|
|
### 开发安装
|
|
|
|
```bash
|
|
# 仅构建不安装
|
|
node scripts/install.mjs --build-only
|
|
|
|
# 指定 OpenClaw 路径
|
|
node scripts/install.mjs --openclaw-profile-path /custom/path/.openclaw
|
|
|
|
# 详细输出
|
|
node scripts/install.mjs --verbose
|
|
```
|
|
|
|
## 配置
|
|
|
|
1. 在 HarborForge Monitor 中注册服务器,获取 `challengeUuid`
|
|
|
|
2. 编辑 `~/.openclaw/openclaw.json`:
|
|
|
|
```json
|
|
{
|
|
"plugins": {
|
|
"harborforge-monitor": {
|
|
"enabled": true,
|
|
"backendUrl": "https://monitor.hangman-lab.top",
|
|
"identifier": "my-server-01",
|
|
"challengeUuid": "your-challenge-uuid-here",
|
|
"reportIntervalSec": 30,
|
|
"httpFallbackIntervalSec": 60,
|
|
"logLevel": "info"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
3. 重启 OpenClaw Gateway:
|
|
|
|
```bash
|
|
openclaw gateway restart
|
|
```
|
|
|
|
## 配置选项
|
|
|
|
| 选项 | 类型 | 默认值 | 说明 |
|
|
|------|------|--------|------|
|
|
| `enabled` | boolean | `true` | 是否启用插件 |
|
|
| `backendUrl` | string | `https://monitor.hangman-lab.top` | Monitor 后端地址 |
|
|
| `identifier` | string | 自动检测 hostname | 服务器标识符 |
|
|
| `challengeUuid` | string | 必填 | 注册挑战 UUID |
|
|
| `reportIntervalSec` | number | `30` | 报告间隔(秒) |
|
|
| `httpFallbackIntervalSec` | number | `60` | HTTP 回退间隔(秒) |
|
|
| `logLevel` | string | `"info"` | 日志级别: debug/info/warn/error |
|
|
|
|
## 收集的指标
|
|
|
|
### 系统指标
|
|
- CPU 使用率 (%)
|
|
- 内存使用率 (%)、已用/总量 (MB)
|
|
- 磁盘使用率 (%)、已用/总量 (GB)
|
|
- 交换分区使用率 (%)
|
|
- 系统运行时间 (秒)
|
|
- 1分钟平均负载
|
|
- 平台 (linux/darwin/win32)
|
|
- 主机名
|
|
|
|
### OpenClaw 指标
|
|
- OpenClaw 版本
|
|
- Agent 数量
|
|
- Agent 列表 (id, name, status)
|
|
|
|
## 卸载
|
|
|
|
```bash
|
|
node scripts/install.mjs --uninstall
|
|
```
|
|
|
|
## 开发
|
|
|
|
### 构建插件
|
|
|
|
```bash
|
|
cd plugin
|
|
npm install
|
|
npm run build
|
|
```
|
|
|
|
### 本地测试 telemetry server
|
|
|
|
```bash
|
|
cd server
|
|
HF_MONITOR_CHALLENGE_UUID=test-uuid \
|
|
HF_MONITOR_BACKEND_URL=http://localhost:8000 \
|
|
HF_MONITOR_LOG_LEVEL=debug \
|
|
node telemetry.mjs
|
|
```
|
|
|
|
## 依赖
|
|
|
|
- Node.js 18+
|
|
- OpenClaw Gateway
|
|
|
|
## 文档
|
|
|
|
- [监控连接器规划](./docs/monitor-server-connector-plan.md) - 原始设计文档
|