openclaw-agent-feed.md 2.3 KB

OpenClaw Agent 数据接入说明

推荐方式

推荐 自动获取为主,ops 兜底修正,不要让 ops 手动维护整个页面内容。

最适合当前局域网部署的一版是:

  1. OpenClawops agent 定时生成一份 JSON 文件
  2. 把文件写到:
    • storage/agents/openclaw-agents.json
  3. 网站的 /api/agents 自动读取这份文件
  4. 如果文件不存在,再回退到演示数据

这样做的好处:

  • 不需要网站直接耦合 OpenClaw 内部实现
  • 数据源坏了时,网站不会直接崩
  • 后续迁移到 MacBook 很简单
  • ops agent 只需要负责“产出标准 JSON”

当前页面真正需要的字段

现在 Agent 页已经按任务监控页收成紧凑工作列表,重点展示:

  • id
  • name
  • role
  • status
  • statusLabel
  • host
  • owner
  • currentTask
  • taskId
  • taskStage
  • queueDepth
  • todayCompleted
  • uptime
  • lastHeartbeat
  • updatedAt
  • lastOutput
  • lastError
  • tags

JSON 示例

{
  "fetchedAt": "2026-03-27T12:30:00.000Z",
  "agents": [
    {
      "id": "main-orchestrator",
      "name": "main",
      "role": "主调度 Agent",
      "avatarKind": "male-dispatcher",
      "status": "working",
      "statusLabel": "工作中",
      "host": "macbook-ops.local",
      "owner": "OpenClaw Core",
      "currentTask": "拆分今日任务并下发给下游 agent",
      "taskId": "orch-20260327-0841",
      "taskStage": "dispatching",
      "queueDepth": 3,
      "todayCompleted": 18,
      "uptime": "12天 4小时",
      "lastHeartbeat": "2秒前",
      "updatedAt": "刚刚",
      "lastOutput": "已完成一轮任务编排,正在等待下游结果。",
      "lastError": "",
      "tags": ["调度", "编排", "主控"]
    }
  ]
}

ops 运维专员应该做什么

ops agent 不应该手工逐条编辑页面内容,而应该:

  1. 负责采集 OpenClaw agent 状态
  2. 负责把状态转成标准 JSON
  3. 定时刷新本地 JSON 文件
  4. 在 OpenClaw 数据异常时写入 lastError
  5. 在没有真实数据时告警,而不是伪造状态

后续更进一步

如果后面要做强实时版本,可以再从“本地 JSON 文件”升级到:

  • 本地 HTTP 状态接口
  • WebSocket / SSE 推送
  • SQLite 历史状态记录

但第一版局域网部署,先用本地 JSON 文件是最稳的。