EdgeOps · OpenClaw 插件(claw-ops)
在 OpenClaw 网关内连接 EdgeOps,用统一工具完成 主机资产、探活、集成运维对话,无需在聊天里手写 curl / PowerShell 调 EdgeOps API。
npm 包名:@edgeops/claw-ops(需在 registry 发布后,方可用于 openclaw plugins install @edgeops/claw-ops@<版本>;未发布时正常现象)
插件 ID:claw-ops(openclaw.json 里 plugins.entries.claw-ops)
版本:见 package.json / openclaw.plugin.json(与 EdgeOps 产品对齐时可对照仓库 config.py 中 VERSION)。
安装(不依赖 ClawHub 时推荐)
- 离线包:仓库内
npm run pack→ 将生成的edgeops-claw-ops-*.tgz拷到目标机 →openclaw plugins install <tgz 路径>。 - npm:包已
npm publish后 →openclaw plugins install @edgeops/claw-ops@x.y.z(x.y.z与package.json的version一致;或用@latest等 tag,勿写npm:前缀、勿用^范围)。ClawHub 忙/429 时作用域包可能仍先撞 ClawHub,优先用离线.tgz或本地目录安装。 - npm 装不上/很慢:可先设
npm_config_registry(如https://registry.npmmirror.com)再执行openclaw plugins install …,与常见npx … --registry=…同类;不能解决 ClawHub 限流,详见 OPENCLAW_INSTALL.md §3.7。 - ClawHub 慢 / 429:可配置
CLAWHUB_SITE与CLAWHUB_REGISTRY指向国内镜像 https://mirror-cn.clawhub.com,详见 OPENCLAW_INSTALL.md(§3.6 · 国内镜像)。 - 详表与 ClawHub 说明见 OPENCLAW_INSTALL.md §3。
功能概览
| 能力 | 工具名 | 说明 |
|---|---|---|
| 探活 / 版本 | edgeops_gateway_ping | GET /api/version |
| 主机列表 | edgeops_list_hosts | GET /api/hosts(分页) |
| 主机检索 | edgeops_search_hosts | GET /api/hosts/search(别名/标签/remark) |
| 提示词检索主机 | edgeops_search_hosts_by_prompt | GET /api/integration/hosts/search-by-prompt |
| 主机详情 / 提示词 / 标签 | edgeops_get_host / edgeops_get_host_prompt / edgeops_list_host_tags | 解析 host_id 与约定 |
| 探活 / 统计 / 最佳实践 | edgeops_host_alive / edgeops_host_stats / edgeops_search_best_practices | 轻量查询 |
| 运维对话 | edgeops_ops_chat | POST /api/integration/ops-chat/complete(解析出 host_id 后请传入) |
所有 HTTP 均在 OpenClaw Gateway / 插件进程 内通过 fetch 完成;Bearer 只来自插件配置 或 OpenClaw 密钥引用,不应出现在本机 exec 或用户粘贴的命令里。
执行方式(与网页的关系)
- 不依赖打开 EdgeOps 浏览器界面,也不依赖网页里的 AI 聊天区、Web 终端 DOM。
- 集成路径对应 EdgeOps 的
session_scope: integration会话:在服务端完成推理与工具调用,与是否有人开着网页无关。 - 插件会在
before_prompt_build注入系统说明,引导模型优先使用edgeops_*;可选在before_tool_call拦截指向已配置 EdgeOps 的exec类调用(blockLocalEdgeOpsExec,默认开启)。
配置要点(必须配齐才能工作)
未在 openclaw.json 中正确配置时,edgeops_* 不可用或不会出现在模型工具列表中。
| 项 | 说明 |
|---|---|
plugins.allow | 可选。若配置了非空 plugins.allow,则必须含 "claw-ops" 才会加载本插件;未配置或为空时插件仍可能被自动发现(官方会建议改为显式白名单)。 |
plugins.entries.claw-ops | enabled: true;hooks.allowPromptInjection 建议 true。 |
plugins.entries.claw-ops.config.baseUrl | 可修改;省略时默认 https://ops.pinglan.cc(自建请填实际根地址,无尾斜杠)。 |
plugins.entries.claw-ops.config.accessToken | 必填(EdgeOps JWT 或 eop_ Token)。 |
config.appendOpenClawUiHints / config.blockLocalEdgeOpsExec | 写在 config 下(不是 hooks);可按需设为 true/false。 |
tools.alsoAllow | 使用 tools.profile: coding 等精简集时须含 "claw-ops"。 |
完整可合并示例:openclaw.claw-ops.example.json(填入真实 accessToken 后合并进 ~/.openclaw/openclaw.json)。
详细安装、命令行改配置、ClawHub、打包与跨平台说明见 OPENCLAW_INSTALL.md。
环境要求
- Node.js ≥ 22
- OpenClaw CLI / Gateway 版本满足
package.json中openclaw.compat与openclaw.build要求 - 可访问的 EdgeOps 实例与有效令牌
开发与仓库
- 源码:https://github.com/messageloop2025/edgeops-claw-ops
- 构建:
npm run build(输出dist/) - 打本地包:
npm run pack或./pack.sh/pack.bat
发布至 npm / ClawHub 前请阅读 OPENCLAW_INSTALL.md 与 OpenClaw Plugin Setup。
许可证
MIT-0(MIT No Attribution):与常见 MIT 类似,但不要求再分发时附带版权或许可正文。全文见仓库根目录 LICENSE;package.json 中 license 字段为 MIT-0。