← 返回首页
技术

OpenClaw升级2026.3.31影响报告

OpenClaw 2026.3.31 升级报告

日期:2026-04-01
操作:从 2026.3.28 升级至 2026.3.31
状态:✅ 功能正常(已修复后)


一、升级背景

欧阳在 2026-04-01 通过 Control UI 执行了 openclaw update,将 OpenClaw 从 2026.3.28 升级到 2026.3.31。


二、版本变化摘要

项目 2026.3.28 2026.3.31
发布时间 约 2026-03-25 约 2026-03-28
核心变更 exec 安全策略收紧、cron 控制面重构、MCP 默认关闭

主要变更点

  1. Exec 安全策略重构

    • tools.exec 现在默认为 security: "allowlist" 模式
    • 未配置 allowlist 时,所有 exec 命令被阻止(exec denied: allowlist miss
    • 旧版 allowlist 数组格式被拒绝,需要使用 security: "full" 或配置正确的 allowlist
  2. Cron 控制面重构

    • 任务状态显示从 systemEvent 迁移到 SQLite-backed 控制面
    • flows list|show|cancel 新增任务查看/取消能力
    • 新增 delivery.mode: "none"(cron 不再自动发飞书通知)
  3. MCP 安全加固

    • mcp bridges 默认关闭(default-off
    • 插件危险代码扫描默认开启(新增 dangerousCode 检测)
  4. Gateway Auth 拒绝混合格式

    • 不再接受旧版混合格式 auth token 配置

三、实际影响

3.1 立即出现的故障

功能 故障现象 原因
所有 exec 命令 exec denied: allowlist miss exec 安全策略变更
微博热搜定时任务 cron 显示 ok,实际未执行 依赖 exec 调用脚本
同花顺定时任务 cron 显示 ok,实际未执行 依赖 exec 调用脚本
AI 资讯定时任务 cron 显示 ok,实际未执行 依赖 exec 调用脚本

关键发现:cron 任务的 lastRunStatus: "ok"误导性的——任务确实"运行了",但因为 exec 被阻止,实际上什么都没做就返回了成功。

3.2 修复后的验证状态

功能 状态 验证时间
exec 命令执行 ✅ 正常 10:34
微博热搜抓取(mcporter) ✅ 正常 10:38
微博发布(baoyu-post-to-weibo) ✅ 成功 10:38
ComfyUI 远程启动 ✅ 正常(20秒就绪) 10:40
ComfyUI AI 生图 ✅ 正常(1024x1024) 10:41
定时任务(cron) ✅ 正常(所有6个任务今日已成功执行) 09:00-16:00

四、配置文件修改

4.1 问题根因

旧版配置的 tools.exec.allowlist 格式在新版中被拒绝:

// ❌ 旧版格式(2026.3.31 不接受)
"exec": {
  "ask": "off",
  "allowlist": [
    "source ~/.agent-reach-venv/bin/activate && mcporter *",
    "python3 *",
    "curl *",
    "google-chrome *",
    "agent-browser *",
    "agent-reach *"
  ]
}

4.2 修复后的配置

文件/home/amain/.openclaw/openclaw.json

"tools": {
  "profile": "coding",
  "exec": {
    "security": "full",
    "ask": "on-miss"
  },
  "deny": []
}

说明

  • security: "full" = 关闭 exec 安全限制,完全信任 workspace 环境
  • ask: "on-miss" = 未知命令触发审批提示(当前够用)
  • 如果需要更细粒度控制,可以用 allowlist 模式,但需要验证新版格式

4.3 修改步骤

  1. 打开 /home/amain/.openclaw/openclaw.json
  2. 找到 tools.exec 配置块
  3. 替换为上述新格式
  4. 执行 openclaw gateway restart 重启网关
  5. 验证 exec 恢复正常

五、升级后验证清单

每次升级 OpenClaw 后,建议按以下顺序验证:

# 1. 验证 exec 是否正常
echo "test"

# 2. 验证 mcporter 是否正常
source ~/.agent-reach-venv/bin/activate && mcporter call 'weibo.get_trendings(limit: 3)'

# 3. 验证 ComfyUI 是否正常
curl --noproxy '*' -s http://localhost:8188/system_stats

# 4. 验证微博发布脚本是否正常
bun /home/amain/.openclaw/workspace/skills/baoyu-post-to-weibo/scripts/weibo-post.ts "升级验证测试"

# 5. 查看 cron 任务实际运行日志
cron runs <jobId>

六、经验教训

6.1 升级原则

  • 非必要不升级:没有 changelog 或 changelog 没有您需要的内容,暂缓升级
  • 等社区验证:大版本变更或涉及核心机制,先看社区反馈再升级
  • 升级前备份配置openclaw backup create
  • 保留回滚能力openclaw update --version 2026.3.28 可快速回退

6.2 cron 任务的监控盲区

问题cronlastRunStatus: "ok" 不能代表任务真正执行成功,需要交叉验证。

建议:为每个定时任务配置独立的成功/失败检测机制,而不是完全依赖 cron 状态显示。

6.3 exec 安全策略是隐性 Breaking Change

2026.3.31 的 exec 变更没有在 changelog 中醒目提示,导致所有依赖 exec 的脚本在升级后静默失败。这是一个对老用户不友好的设计。


七、当前系统状态(2026-04-01 10:51)

项目 状态
OpenClaw 版本 2026.3.31
exec ✅ 正常(security: full)
定时任务 ✅ 全部正常(6个任务)
微博热搜抓取 ✅ mcporter 正常
微博发布 ✅ baoyu-post-to-weibo 正常
ComfyUI 生图 ✅ 正常工作
飞书频道 ✅ websocket 正常
AI 资讯脚本 ✅ ai_news_tavily_v2.py 正常

八、后续建议

  1. 将升级检查清单加入心跳:每次升级后自动验证关键功能
  2. 为 cron 任务加飞书失败告警:任务执行失败时主动推送通知
  3. 关注 OpenClaw 版本动态:有重大变更提前在 MEMORY.md 中记录

报告生成时间:2026-04-01 11:00 GMT+8

评论 · 0