什么是Self-Upgrade (Tianyi)
Self-Upgrade(天翼)是 OpenClaw 系统内置的自我迭代升级技能,旨在实现系统的自动化维护与持续演进。该技能通过智能识别配置变更、依赖缺失及版本差异,自动执行安全范围内的修复操作,从而减少人工干预,提升系统稳定性。其核心设计遵循‘安全分级’原则:低风险操作如日志清理可自动完成;中风险任务如配置更新需用户确认;高风险行为如服务重启则必须获得明确授权,确保关键变更可控。升级过程强调向后兼容性,保留旧字段并标记为废弃状态,而非直接删除,最大限度避免因升级导致的功能中断。 在技术实现上,Self-Upgrade 提供了一套完整的流程机制。首先进行版本检查,比对当前系统与配置文件中的元数据版本号;随后执行配置迁移,自动将废弃字段(例如 `authToken` 迁移至 `gateway.auth.token`)转换为新版结构;接着扫描必要技能包是否完整,并校验 npm 全局依赖的版本一致性。所有变更前均会创建带时间戳的配置备份,支持一键回滚。整个过程可通过 PowerShell 脚本 `self-upgrade.ps1` 手动触发,也支持集成到 CI/CD 流程或定期维护计划中。 该技能不仅用于常规维护,更作为系统健壮性的重要保障。当用户运行 `openclaw doctor –fix` 命令时,或检测到配置格式错误、技能加载失败等情况,Self-Upgrade 将被自动激活。它输出详细的升级报告,包含变更摘要、备份路径、验证结果和后续建议,让用户清晰掌握系统状态。无论是开发环境调试还是生产部署,Self-Upgrade 都能显著降低运维复杂度,让开发者专注于业务逻辑而非环境管理。
核心功能特点
- 基于风险分级的自动化升级策略,低风险操作自动执行,中高风险需用户确认或授权
- 支持配置字段自动迁移与格式化,兼容旧版配置并保留废弃字段标记
- 内置健康检查与依赖完整性验证,自动检测缺失技能包或 npm 模块版本问题
- 所有变更前强制创建带时间戳的配置备份,提供一键回滚机制
- 通过 PowerShell 脚本实现灵活控制,支持自动模式、干跑预览和指定回滚目标
- 输出结构化升级报告,包含执行摘要、备份位置、验证结果与用户建议
适用场景
Self-Upgrade 技能特别适用于需要长期稳定运行的 OpenClaw 实例,尤其是在无人值守的服务器或容器化环境中。例如,在每日定时维护窗口中,系统可自动执行日志清理、配置格式化和废弃字段迁移,释放磁盘空间并保持配置整洁,而无需人工登录操作。对于频繁迭代的技能开发场景,当新版本的 OpenClaw 发布后,Self-Upgrade 可在首次启动时自动完成配置升级与依赖安装,大幅缩短部署周期并降低人为失误风险。 在企业级部署中,该技能能有效应对多节点同步更新的挑战。假设某次技能包更新引入了新的配置结构,Self-Upgrade 会在每个节点上独立判断是否需要迁移,并在用户授权后统一处理,确保集群内配置一致性。此外,当遭遇意外故障导致配置损坏或技能丢失时,通过运行 `openclaw doctor –fix` 即可触发自我修复流程,快速恢复系统至可用状态。这种主动防御机制特别适合对可用性要求高的应用场景。 对于 DevOps 团队而言,Self-Upgrade 可作为基础设施即代码(IaC)的一部分嵌入自动化流水线。在镜像构建阶段加入健康检查步骤,或在 Kubernetes 的 Init Container 中调用升级脚本,提前规避运行时问题。同时,其详细的日志输出和回滚能力也为故障排查提供了可靠依据,使团队能够在最小化停机时间的前提下完成系统演进。
