核心用法
OpenClaw Update Checker 是一个轻量级的 Python 脚本,用于检测本地安装的 OpenClaw 是否为最新版本。支持两种输出格式:人类可读的文本摘要(默认)和机器可读的 JSON 格式(--format json)。JSON 输出包含已安装版本、最新版本、是否最新、中间版本列表及 changelog 链接,便于集成到监控面板或自动化工作流。
显著优点
- 完全只读设计:不执行任何写操作、子进程调用或服务重启,风险极低
- 零依赖:仅使用 Python 标准库(
urllib.request),无需额外 pip 安装 - 双重路径兼容:自动检测
/usr/lib和/usr/local/lib下的全局 npm 安装 - 灵活集成:JSON 模式专为 cron 心跳、CI/CD 流水线、监控告警设计
- 透明查询:直接对接 npm 官方 registry,无需认证,数据来源可信
潜在局限
- 单包限定:仅支持 OpenClaw 一个包,无法泛化到其他 npm 包版本检查
- 全局安装依赖:要求 OpenClaw 必须全局安装(
npm install -g),不支持本地node_modules检测 - 网络依赖:必须能访问
registry.npmjs.org,内网或代理环境可能失败 - Python 版本限制:需 Python 3.10+(使用
|联合类型注解),旧系统兼容性受限 - 无缓存机制:每次查询都实时拉取 registry,高频调用可能触发速率限制
适合人群
- 运维工程师:需要周期性监控 OpenClaw 版本状态
- DevOps 团队:希望在 CI/CD 中嵌入版本检查步骤
- OpenClaw 管理员:多实例部署时批量确认版本一致性
- 自动化脚本开发者:需要机器可读的版本数据作为下游决策输入
常规风险
- 网络超时/阻断:registry 访问失败会导致脚本异常退出,需处理网络故障场景
- 权限问题:若
package.json路径权限受限,可能无法读取本地版本 - 语义化版本解析:自定义版本号格式(如
2026.2.21-2)若偏离 semver,可能导致比较逻辑异常 - MITM 风险:虽使用 HTTPS,但若系统 SSL/TLS 配置陈旧或证书异常,可能连接失败