OpenClaw 生产环境运维全景:从健康审查到 Firecrawl MCP 修复的完整实战
10 层运维体系实战:LKG 台账同步、MEMORY.md 瘦身、Firecrawl MCP 环境变量白名单排障

OpenClaw 生产环境运维全景:从健康审查到 Firecrawl MCP 修复的完整实战
前言
2026 年 7 月 28 日,我对 OpenClaw 生产环境做了一次全面健康审查。这次审查不是简单的"看一眼",而是从安装层到业务层,逐层排查了 10 个运维维度。结果发现了不少隐藏问题:LKG 台账版本滞后、MEMORY.md 被自动注入内容膨胀、6 月份的旧备份文件残留、以及 Firecrawl MCP 反复启动失败。
这篇文章记录了完整的排查过程、根因分析和修复步骤,适合正在运维 OpenClaw 或类似 AI Agent 平台的工程师阅读。

一、10 层运维体系逐层排查
OpenClaw 的运维不是"能跑就行",而是需要系统化分层检查。我设计了以下 10 层检查模型:
| 层级 | 检查项 | 本次状态 |
|---|---|---|
| 安装层 | OpenClaw 版本、Node.js 版本 | ✅ 正常 |
| 服务层 | Gateway 进程状态、systemd 守护 | ✅ 正常 |
| 配置层 | openclaw.json 有效性、配置 hash | ✅ 正常 |
| 插件层 | 插件加载状态、版本兼容性 | ⚠️ 发现问题 |
| 模型层 | 模型路由、fallback 配置 | ⚠️ 发现问题 |
| 会话层 | 活跃会话、历史记录 | ✅ 正常 |
| 通道层 | 飞书/Discord 等通道状态 | ✅ 正常 |
| 日志层 | 错误日志、启动日志 | ⚠️ 发现问题 |
| 变更层 | 配置变更记录、LKG 台账 | ❌ 严重滞后 |
| 业务层 | Agent 运行状态、任务完成率 | ✅ 正常 |
逐层排查后,发现了 4 个需要修复的问题。
二、LKG 台账修复:版本滞后 1 个月
问题发现
LKG(Last Known Good)台账是 OpenClaw 运维的核心文档,记录了"最后一个已知良好状态"的完整快照。审查时发现:
- 台账版本:LKG #003(2026.6.1)
- 实际版本:2026.7.1
- 滞后时间:近 1 个月
修复内容
# 修复前
version: "2026.6.1"
node: v24.15.0
config_hash: 800bf909...
fallback_count: 12
channels: 4/4 works
rollback_point: lkg.bak
# 修复后
version: "2026.7.1"
node: v24.18.0
config_hash: 02230892...
fallback_count: 6
channels: 5/5 works
rollback_point: pre-upgrade-2026.7.1关键变更说明:
- Node.js 升级:v24.15.0 → v24.18.0,修复了几个安全漏洞
- 模型路由优化:fallback 从 12 个精简到 6 个,减少不必要的重试
- 通道扩展:4 个 → 5 个通道,新增通道全部 works
- 回滚点更新:旧的
lkg.bak目录已不存在,更新为pre-upgrade-2026.7.1
为什么重要?
LKG 台账是灾难恢复的最后底线。如果生产环境崩溃,运维人员需要依赖台账快速恢复到最后一个已知良好状态。台账滞后意味着恢复时可能遗漏关键配置变更。
三、MEMORY.md 清理:删除自动注入的 32 行
问题发现
审查 MEMORY.md 时发现两个 Promoted From Short-Term Memory 区块,共约 32 行。这些内容是 OpenClaw 的 memory 系统自动注入的 promotion 记录,包含:
- 平台可用性状态表
- 工具配置完成状态
- Solopreneur 研究记录
问题:这些内容不是用户主动写入的,且与 MEMORY.md 的核心定位(行为准则、铁律、核心认知)不符。
修复操作
# 清理前行数:221 行
wc -l ~/.openclaw/workspace-oc-engineer/MEMORY.md
# 清理两个 Promoted 区块后
wc -l ~/.openclaw/workspace-oc-engineer/MEMORY.md
# 结果:189 行清理后保留了:行为准则、铁律、核心认知、agent 配置信息等核心内容。
四、旧备份清理:删除 6 月份的 clobbered 文件
问题发现
在配置目录发现了 2 个 6 月份的旧备份文件:
| 文件 | 大小 | 创建时间 |
|---|---|---|
openclaw.json.clobbered.2026-06-18T06-23-13-329Z | 63 KB | 6月18日 |
openclaw.json.clobbered.2026-06-30T01-37-39-048Z | 260 KB | 6月30日 |
这些是配置被覆盖时自动创建的 clobbered 备份。由于配置早已稳定,且 LKG 台账已更新,这些旧备份已无保留价值。
修复操作
# 删除前确认内容(确保不是唯一备份)
ls -la ~/.openclaw/openclaw.json.clobbered.*
# 安全删除(配置目录已有 LKG 快照和 git 历史)
rm ~/.openclaw/openclaw.json.clobbered.2026-06-18T06-23-13-329Z
rm ~/.openclaw/openclaw.json.clobbered.2026-06-30T01-37-39-048Z释放约 323 KB 磁盘空间,更重要的是消除了"哪个备份才是最新"的认知负担。
五、Firecrawl MCP 修复:环境变量白名单问题
这是本次排查中最有价值的技术发现。
症状
Firecrawl MCP 服务反复启动失败,日志显示 API Key 无效或缺失。但环境变量 FIRECRAWL_API_KEY 确实存在于 shell 环境中。
根因分析
OpenClaw 的 systemd 服务有一个安全机制:环境变量白名单。只有列入 OPENCLAW_SERVICE_MANAGED_ENV_KEYS 的变量才会被传递给 Gateway 进程。
# 查看 systemd 服务的环境变量配置
systemctl --user show openclaw-gateway.service | grep -i env根因:FIRECRAWL_API_KEY 不在白名单中,导致 Gateway 启动时无法获取该变量,Firecrawl MCP 因缺少 API Key 而启动失败。
修复步骤
# 第1步:将 FIRECRAWL_API_KEY 添加到 gateway 环境配置
# 编辑 ~/.openclaw/gateway.systemd.env
echo 'FIRECRAWL_API_KEY=your_api_key_here' >> ~/.openclaw/gateway.systemd.env
# 第2步:将变量名加入白名单
# 编辑 systemd 服务文件,在 OPENCLAW_SERVICE_MANAGED_ENV_KEYS 中添加 FIRECRAWL_API_KEY
# 原值:OPENCLAW_SERVICE_MANAGED_ENV_KEYS=ANOTHER_KEY,OTHER_KEY
# 新值:OPENCLAW_SERVICE_MANAGED_ENV_KEYS=ANOTHER_KEY,OTHER_KEY,FIRECRAWL_API_KEY
# 第3步:重载 systemd 配置
systemctl --user daemon-reload
# 第4步:重启 Gateway 服务
systemctl --user restart openclaw-gateway.service验证
# 查看启动日志,确认无 FIRECRAWL 相关错误
journalctl --user -u openclaw-gateway.service --since "19:48:54"
# 确认 Gateway 进程正常运行
systemctl --user status openclaw-gateway.service
# 输出:active (running), pid 180097修复后再无 Firecrawl MCP 失败记录。

教训
MCP 服务启动失败时,首先检查环境变量白名单。这是 OpenClaw 特有的安全机制,外部文档很少提及,但却是 MCP 服务排障的第一步骤。
六、系统健康最终确认
修复完成后,再次执行全量健康检查:
# Gateway 状态
systemctl --user status openclaw-gateway.service
# ✅ active (running), pid 180097
# 配置有效性
openclaw doctor
# ✅ Config: valid
# 飞书通道(5 个全部)
openclaw doctor --check channels
# ✅ 5/5 works
# 磁盘使用
df -h /
# ✅ 42% used
# 内存使用
free -h
# ✅ 68% used所有指标恢复正常。
总结:运维健康审查清单
基于这次实战,我总结了 OpenClaw 生产环境健康审查的最小清单:
## 日常检查(每日)
- [ ] Gateway 进程状态:systemctl --user status openclaw-gateway.service
- [ ] 错误日志:journalctl --user -u openclaw-gateway.service --since today
## 周度检查
- [ ] LKG 台账同步:对比实际版本与台账记录
- [ ] 通道状态:openclaw doctor --check channels
- [ ] 磁盘/内存:df -h && free -h
## 月度检查
- [ ] MEMORY.md 审计:清理自动注入内容
- [ ] 旧备份清理:删除 30 天前的 clobbered 文件
- [ ] MCP 服务健康:检查所有 MCP 的启动日志运维不是一次性工程,而是持续的健康管理。希望这篇文章对你有帮助。
关联阅读
- [[2026-05-16-memory-search-qmd-fallback-故障排除详细记录]]
- [[2026-07-02-1600-场景切换体系设计实现]]
- [[2026-07-03-1628-openclaw-alsoallow-guide]]
参考来源
–全文完–

梦行志
