运维与插件
这一课你将能做到
- 熟练使用
openclaw doctor做健康检查与修复 - 创建状态备份与灾难恢复
- 用 MCP 扩展 Gateway 的集成能力,理解插件生命周期
为什么要学
bot 上线只是开始,运维是持久战:版本更新会不会搞坏配置?磁盘满了怎么办?新同事要接入 MCP 服务怎么配?这一课解决的是「让 bot 活到下一年」的问题——健康巡检、状态备份、插件治理、灾难恢复。
人话:运维不是救火,是提前把火源掐灭。
先建立图像
运维工具箱
健康检查:openclaw doctor [--fix|--lint|--json]
├── 配置合法性校验
├── 插件加载状态
├── SQLite 维护
└── 会话一致性检查
备份:openclaw backup create
└── 打包 ~/.openclaw/ 全部状态(配置、会话、记忆、插件)
更新:openclaw update [--channel stable|dev]
├── 软件更新
├── 插件迁移
└── 配置自动修复
扩展层
├── MCP:外部服务协议(数据库、API、内部系统)
├── Plugin:OpenClaw 原生插件(渠道、Provider、工具)
└── Skill:轻量能力包(工具+说明书)
跟着做
步骤 1:运行健康检查
# 交互式健康检查
openclaw doctor
# 只读 JSON 报告(CI 友好)
openclaw doctor --json
# 自动修复
openclaw doctor --fix
# 严格检查(CI gate)
openclaw doctor --lint --json
步骤 2:创建备份
# 完整备份
openclaw backup create
# 查看备份位置
openclaw backup list
# 恢复
openclaw backup restore <backup-id>
备份包含配置、会话、记忆、插件安装状态。迁移到新机器时直接恢复即可。
步骤 3:更新与回滚
# 稳定版更新
openclaw update
# 追开发版新特性
openclaw update --channel dev
# 查看更新历史
openclaw update status
# 回滚
openclaw update --rollback
步骤 4:管理 MCP 服务
# 查看已保存的 MCP 服务器
openclaw mcp registry list
# 添加 MCP 服务器
openclaw mcp registry add my-db \
--command "npx -y @modelcontextprotocol/server-postgres" \
--env DATABASE_URL="postgresql://..."
# 以 MCP 服务器模式运行 OpenClaw
openclaw mcp serve
步骤 5:管理插件
# 列出已安装插件
openclaw plugins list
# 安装社区插件
openclaw plugins install @openclaw/telegram-enhanced
# 检查插件健康
openclaw plugins inspect
# 更新插件
openclaw plugins update --all
步骤 6:查看会话与状态
# 查看活跃会话
openclaw sessions list
# 查看系统状态
openclaw status --verbose
# 查看日志
openclaw logs --tail 50
讲清楚要点
- doctor 是运维核心工具:不只是检查,还能
--fix自动修复配置迁移、--lint做 CI gate、--state-sqlite compact做数据库维护。上线前、升级后、出问题时都要跑。 - 备份是状态全量打包:
openclaw backup create备份~/.openclaw/下全部状态,恢复后 Gateway、记忆、会话、配置全回来。定期备份是底线要求。 - 更新有预检和回滚:
openclaw update先下载、校验、预检,再应用;出问题用--rollback回退。注意:更新前backup create+doctor是标准流程。 - MCP 是外部集成标准:OpenClaw 支持作为 MCP 客户端连接外部服务器(如数据库、文件系统、搜索),也支持自身作为 MCP 服务器供其他工具调用。MCP 比 Skill 更适合复杂外部集成。
- 插件有生命周期:install → load → run → update → uninstall。
plugins inspect检查加载状态,plugins list看已安装,plugins update --all批量更新。
你可能会懵的地方
-
doctor --fix会改什么? 只改配置迁移和已知兼容性问题(如旧 key 重命名),不改业务逻辑。它会提示你确认,非交互模式下用--non-interactive自动确认。 -
备份占多大空间? 取决于会话历史。长期运行后 SQLite 会膨胀,可在备份前先
doctor --state-sqlite compact压缩。 -
更新失败了怎么办? 先看
openclaw doctor的错误;如果 Gateway 起不来,用openclaw update --rollback回滚;回滚失败就用备份恢复。 -
MCP 和 Plugin 什么关系? MCP 是协议标准,Plugin 是 OpenClaw 原生扩展。一个 Plugin 可以提供 MCP 能力,也可以用 MCP 连接外部服务。简单说:MCP 是「语言」,Plugin 是「实现」。
-
Skill、Plugin、MCP 三者怎么选? 简单能力(一个脚本+说明书)→ Skill;深度集成(渠道、Provider、工具链)→ Plugin;跨工具标准对接(数据库、搜索、IDE)→ MCP。三者可混用。
错法对照
| 错法 | 问题 | 正解 |
|---|---|---|
| 从来不备份 | 磁盘坏、误操作、升级失败 = 全部从头来 | 每周 backup create,异地保存 |
| 更新前不跑 doctor | 配置不兼容导致更新后 Gateway 起不来 | 更新前:doctor → backup create → update |
| 插件装太多不清理 | 启动慢、配置冲突、内存膨胀 | 定期 plugins list,卸载不用的 |
| MCP 凭据写进 server 配置 | 密钥泄露风险 | MCP server 的环境变量用 SecretRef |
用 kill -9 修卡死的 Gateway | 状态写坏、会话损坏 | openclaw gateway stop 或 doctor --fix |
卡点急救
- Gateway 更新后启动失败:
openclaw doctor --fix→openclaw gateway restart;如果不行,openclaw update --rollback回滚到上一版本。 - 磁盘满了:
openclaw doctor --state-sqlite compact压缩数据库;清理旧备份和日志;长期方案是配置会话保留策略(pruning)。 - 插件加载失败:
openclaw plugins inspect看错误;可能是 Node 版本不兼容或依赖缺失;openclaw doctor会给出修复建议。
面试常问
-
OpenClaw 的运维标准流程是什么? 日常巡检:
openclaw doctor --lint --json(CI gate);定期备份:openclaw backup create;更新流程:doctor→backup create→update→doctor→gateway restart;故障恢复:gateway stop→doctor --fix→backup restore(必要时)。 -
MCP 在 OpenClaw 中的两种用法? 作为客户端:OpenClaw 连接外部 MCP 服务器(如数据库、搜索),扩展工具能力;作为服务器:
openclaw mcp serve让其他 MCP 客户端(如 Claude Desktop、Cursor)调用 OpenClaw 的功能。两种用法覆盖「OpenClaw 作为主控」和「OpenClaw 作为服务」两种架构。 -
插件生态的版本管理策略? Plugin 有版本号,与 OpenClaw 主版本有兼容性矩阵。更新主版本前先用
plugins inspect检查兼容性;openclaw update会自动尝试更新插件;社区插件建议锁定版本号,避免追新引入不兼容。关键生产环境用backup create+--dry-run预检更新。
自测三问
doctor --fix、doctor --lint、doctor --json三者的使用场景?- 更新前的标准三步流程?
- Skill、Plugin、MCP 的选型原则?
小结一句话
运维是 bot 的生命线:doctor 巡检、backup 保命、update 有序、MCP 扩展——四项基本功让 bot 从上线第一天活到持续运营。
延伸
- Doctor CLI 文档
- 备份与迁移
- MCP 文档
- 课程结束:你已掌握 OpenClaw 的完整链路——部署、配置、渠道、模型、技能、记忆、多 agent、自动化、安全、运维。下一课是实战项目:把 AI agent 接入团队工作流。