月度归档:2026年05月

OpenClaw 文档规范更新:5个页面如何修复98个排版问题?

——

OpenClaw 文档规范更新:5个页面如何修复98个排版问题?

文档质量是开源项目专业度的直接体现。本文深入解析 OpenClaw 最新的一次文档优化提交——在 5 个核心页面中修复 98 个排版字符问题,并消除重复的 H1 标题。这次更新不仅提升了文档的可读性,更为 AI Agent 插件开发者提供了清晰的规范参考。

为什么排版规范对技术文档至关重要

技术文档的排版质量直接影响开发者体验。不规范的字符(如弯引号、非标准连字符)可能导致:

  • 搜索失效:特殊字符干扰代码片段的复制粘贴
  • 渲染异常:不同平台对 Unicode 字符的支持不一致
  • 自动化困难:CI/CD 流程中的文本处理工具可能报错

OpenClaw 作为 AI Agent 插件开发平台,其文档需要支持多种自动化场景,包括 SDK 生成、测试用例提取等。因此,建立严格的 typography hygiene(排版卫生)规范成为必然选择。

本次更新的核心改动

修复98个非ASCII排版字符

根据 docs/CLAUDE.md 中定义的 heading and content hygiene rules,本次提交将以下字符统一替换为 ASCII 等价形式:

| 非标准字符 | ASCII 替换 | 使用场景 |
|———–|———–|———|
| ' (弯单引号) | ' (直单引号) | 代码字符串、所有格 |
| " (弯双引号) | " (直双引号) | 代码引用 |
| (em dash) | --- | 范围表示 |
| (en dash) | - | 数值范围 |
| (非断连字符) | - | 普通连字符 |

受影响的5个文档页面

查看具体修改分布

docs/plugins/sdk-migration.md # 20 个字符 docs/help/testing.md # 20 个字符 docs/automation/tasks.md # 20 个字符 docs/plugins/sdk-channel-plugins.md # 19 个字符 docs/channels/yuanbao.md # 19 个字符 + H1 修复

消除重复的 H1 标题

docs/channels/yuanbao.md 中,移除了正文内的 # Yuanbao 标题。原因是 Mintlify 文档平台会自动从 frontmatter 渲染页面标题:

---
title: "Yuanbao"
description: "Yuanbao 渠道配置指南"
---



正文内容从这里开始...

这种重复会导致:

  • 搜索引擎抓取到两个 H1,影响 SEO
  • 屏幕阅读器重复朗读标题
  • 目录结构显示异常

如何在项目中实施排版规范

第一步:配置自动化检测

OpenClaw 项目中,可以通过 GitHub Actions 添加排版检查:

.github/workflows/docs-lint.yml

name: Documentation Lint

on: pull_request: paths: - 'docs/**'

jobs: typography-check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Check for curly quotes run: | # 检测弯引号 if grep -r "[\'\"\"'']" docs/ --include="*.md"; then echo "❌ 发现非标准引号,请替换为 ASCII 等价字符" exit 1 fi - name: Validate H1 uniqueness run: | # 确保每个 markdown 文件只有一个 H1 for file in docs/*/.md; do h1_count=$(grep -c "^# " "$file" || true) if [ "$h1_count" -gt 1 ]; then echo "❌ $file 包含 $h1_count 个 H1 标题" exit 1 fi done

第二步:本地预提交钩子

使用 Huskylint-staged 在提交前自动修复:

安装依赖

npm install --save-dev husky lint-staged

配置 package.json

{ "lint-staged": { "docs/*/.md": [ "node scripts/fix-typography.js", "git add" ] } }

第三步:自定义修复脚本

// scripts/fix-typography.js
const fs = require('fs');
const path = require('path');

const REPLACEMENTS = [ { pattern: /[\u2018\u2019]/g, replacement: "'" }, // 弯单引号 { pattern: /[\u201C\u201D]/g, replacement: '"' }, // 弯双引号 { pattern: /\u2014/g, replacement: '--' }, // em dash { pattern: /\u2013/g, replacement: '-' }, // en dash { pattern: /\u2011/g, replacement: '-' }, // 非断连字符 ];

function fixTypography(content) { return REPLACEMENTS.reduce( (text, { pattern, replacement }) => text.replace(pattern, replacement), content ); }

// 处理指定文件 const filePath = process.argv[2]; const content = fs.readFileSync(filePath, 'utf8'); const fixed = fixTypography(content);

if (content !== fixed) { fs.writeFileSync(filePath, fixed); console.log(✅ 已修复: ${path.basename(filePath)}); }

Mintlify 平台的最佳实践

OpenClaw 使用 Mintlify 作为文档托管平台。理解其渲染机制对避免标题重复至关重要:

Frontmatter 优先原则

Mintlify 的页面标题解析优先级:
1. title frontmatter 字段
2. 第一个 H1 标题(# Title
3. 文件名(转换为标题格式)

因此,推荐始终使用 frontmatter 定义标题,正文不再包含 H1:

---
title: "SDK 迁移指南"
description: "从旧版 SDK 迁移到 OpenClaw 新架构的完整步骤"
---

准备工作

内容从这里开始,使用 H2 作为最高层级...

验证工具

本地预览时检查标题结构

npx mintlify dev

访问 http://localhost:3000 确认渲染效果

FAQ:常见问题解答

Q1: 为什么必须使用 ASCII 字符,Unicode 不是更标准吗?

Unicode 排版字符在印刷场景更美观,但技术文档的核心需求是可复制性一致性。ASCII 字符确保代码片段在任何编辑器、终端、自动化工具中表现一致,避免 “智能引号” 导致的语法错误。

Q2: 如何批量检查现有文档的排版问题?

可以使用 grep 结合 Unicode 范围快速扫描:

查找所有非 ASCII 标点

grep -rP '[^\x00-\x7F]' docs/ --include="*.md" | \ grep -E '[\u2018-\u201D\u2013\u2014\u2011]'

或集成 Vale 文档检查工具,自定义样式规则。

Q3: Mintlify 的 H1 重复会影响 SEO 吗?

是的。搜索引擎(如 Google)将 H1 视为页面主题的核心标识。多个 H1 会稀释关键词权重,可能导致排名下降。Mintlify 的 frontmatter 机制正是为了避免这种问题。

Q4: 这次更新对 OpenClaw 插件开发者有什么影响?

开发者无需修改现有代码,但建议参考更新后的文档风格编写插件 README。一致的排版规范有助于 OpenClaw 自动化工具正确解析文档,生成准确的 SDK 参考和 API 文档。

Q5: 如何为我的项目引入类似的文档规范?

1. 创建 CLAUDE.mdCONTRIBUTING.md 明确规范
2. 配置 CI 检查阻止不合规提交
3. 使用编辑器插件(如 VS Code 的 Smart Typography)自动转换
4. 定期运行批量修复脚本维护存量文档

总结与下一步

本次 OpenClaw 文档更新展示了专业开源项目的细节追求:通过 98 个字符的精准替换和 1 个 H1 的移除,提升了文档质量、自动化兼容性和搜索可见性。

关键收获

  • ✅ 建立 docs/CLAUDE.md 作为排版规范源文件
  • ✅ 利用 Mintlify frontmatter 避免标题重复
  • ✅ 将文档检查集成到 CI/CD 流程

推荐行动

相关阅读

参考来源

OpenClaw 文档优化实战:5个页面如何实现排版标准化?

—# OpenClaw 文档优化实战:5个页面如何实现排版标准化?

技术文档的质量直接影响开发者的使用体验。近日,OpenClaw 团队完成了一次重要的文档优化更新,涉及 5 个核心页面的排版标准化改造。本文将深入解析这次更新的技术细节,帮助你理解 typography hygiene(排版卫生)的重要性,并掌握在实际项目中应用这些最佳实践的方法。

为什么文档排版标准化至关重要?

在 AI 驱动的开发工具领域,OpenClaw 作为领先的 AI Agent 自动化平台,其文档质量直接关系到用户的上手效率。本次更新聚焦于两个核心问题:

1. 特殊字符标准化:将 112 个排版字符(弯引号、撇号、破折号等)替换为 ASCII 等效字符
2. 标题层级规范化:移除 2 个页面内重复的 H1 标题,避免 Mintlify 渲染冲突

这些看似微小的调整,实际上对文档的可维护性、搜索优化和跨平台兼容性有着深远影响。

核心更新内容详解

一、Typography Hygiene:112 个字符的标准化替换

Typography hygiene 是技术文档写作中容易被忽视却至关重要的规范。本次更新中,OpenClaw 团队依据内部文档标准 docs/CLAUDE.md,系统性地完成了以下替换:

| 原始字符类型 | 替换为 | 典型场景 |
|:—|:—|:—|
| 弯引号 " " | 直引号 " | 代码示例、配置文件 |
| 弯撇号 ' ' | 直撇号 ' | 英文缩写、所有格 |
| em 破折号 | 双连字符 -- 或短横线 - | 范围表示、注释说明 |
| en 破折号 | 连字符 - | 数字范围、连接词 |
| 不间断连字符 | 标准连字符 | URL、命令行参数 |

实际影响:这些特殊字符在不同操作系统、终端环境和代码编辑器中的渲染表现各异,标准化后可确保文档在任何场景下保持一致的可读性。

#### 代码示例:替换前后的对比

替换前(问题版本)

echo "It’s a "smart" agent—powered by OpenClaw’s engine"

替换后(标准版本)

echo "It's a \"smart\" agent--powered by OpenClaw's engine"

> 最佳实践:在技术文档中,始终使用 ASCII 字符集编写代码示例和命令行指令,避免复制粘贴时的编码错误。

二、H1 标题冲突修复:Mintlify 平台的特殊考量

本次更新移除了 2 个页面内的重复 H1 标题,这是 Mintlify 文档平台的特定优化:

#### 案例 1:GPT-5.5 / Codex Agentic Parity 页面

文件路径docs/help/gpt55-codex-agentic-parity.md

问题描述

  • Mintlify 自动从 frontmatter 渲染页面标题
  • 页面内额外的 # GPT-5.5 / Codex Agentic Parity in OpenClaw H1 造成重复
  • 标题中的斜杠 / 导致锚点链接不稳定(brittle anchor)

修复方案

---
title: "GPT-5.5 / Codex Agentic Parity in OpenClaw"
description: "OpenClaw 中 GPT-5.5 与 Codex 的 Agentic 能力对比"
---




核心能力对比

OpenClaw 支持两种领先的 AI Agent 模式...

#### 案例 2:Menu Bar Status Logic 页面

文件路径docs/platforms/mac/menu-bar.md

修复要点:同样遵循”frontmatter 主导标题”原则,移除页面内冗余 H1。

5 个更新页面的完整清单

| 页面路径 | 字符替换数 | 特殊处理 |
|:—|:—:|:—|
| docs/help/gpt55-codex-agentic-parity.md | 22 | 移除重复 H1,修复斜杠锚点 |
| docs/platforms/mac/menu-bar.md | 21 | 移除重复 H1 |
| docs/tools/acp-agents.md | 23 | 纯排版标准化 |
| docs/concepts/qa-matrix.md | 23 | 纯排版标准化 |
| docs/concepts/qa-e2e-automation.md | 23 | 纯排版标准化 |

如何在项目中实施 Typography Hygiene

步骤 1:建立文档规范文件

创建类似 CLAUDE.md 的团队标准文档:

OpenClaw 文档排版规范

字符使用规则

  • 引号:始终使用直引号 "'
  • 破折号:使用双连字符 -- 替代 em dash
  • 省略号:使用三个句点 ... 替代

标题层级规则

  • 页面标题:仅通过 frontmatter 的 title 字段定义
  • 正文起始:直接使用 H2 (##),禁止页面内 H1

步骤 2:自动化检测脚本

使用简单的 shell 脚本预检查文档:

#!/bin/bash

check-typography.sh - 排版规范检查脚本

echo "检查弯引号..." grep -rn '[""'']' docs/ || echo "✓ 未发现问题"

echo "检查 em dash..." grep -rn '—' docs/ || echo "✓ 未发现问题"

echo "检查页面内 H1..." grep -rn '^# [^#]' docs/ | grep -v "README" || echo "✓ 未发现问题"

步骤 3:集成到 CI/CD 流程

将检查脚本加入 GitHub Actions:

.github/workflows/docs-lint.yml

name: Docs Typography Check

on: [pull_request]

jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Check typography run: | chmod +x scripts/check-typography.sh ./scripts/check-typography.sh

FAQ:文档排版优化常见问题

Q1:为什么必须使用 ASCII 字符,UTF-8 不是更现代吗?

A:UTF-8 确实支持更丰富的字符集,但在技术文档场景中,ASCII 字符具有不可替代的优势:

  • 跨平台兼容性:确保在任意终端、编辑器中正确显示
  • 代码可复制性:避免特殊字符导致的命令执行失败
  • 搜索一致性:用户搜索时通常使用 ASCII 字符

Q2:Mintlify 的标题渲染机制是什么?

A:Mintlify 采用 frontmatter 优先 的渲染策略:
1. 读取 Markdown 文件顶部的 YAML frontmatter
2. 将 title 字段渲染为页面主标题(语义化 H1)
3. 页面内的 # 标题会被额外渲染,造成视觉重复
4. 建议正文直接从 ## 二级标题开始

Q3:如何批量替换文档中的特殊字符?

A:推荐使用 sed 或专门的文本处理工具:

递归替换弯引号为直引号(示例)

find docs/ -name "*.md" -exec sed -i '' 's/"/"/g; s/"/"/g' {} +

或使用更安全的交互式工具

npm install -g replace-in-files-cli

npx replace-in-files-cli \ --string="—" \ --replacement="--" \ "docs/*/.md"

> ⚠️ 注意:批量替换前务必进行 Git 提交,以便必要时回滚。

Q4:这次更新对 OpenClaw 用户有什么实际影响?

A:直接影响包括:

  • 文档页面加载时的渲染一致性提升
  • 锚点链接(anchor links)的稳定性改善
  • 复制代码示例时的编码错误减少
  • 搜索引擎对文档结构的更准确理解

Q5:其他文档平台(如 Docusaurus、VuePress)也需要类似优化吗?

A:是的,但具体规则因平台而异:

| 平台 | 标题处理方式 | 建议做法 |
|:—|:—|:—|
| Mintlify | frontmatter 生成 H1 | 移除页面内 H1 |
| Docusaurus | frontmatter 或首个 H1 | 可保留 frontmatter title 或文件内 H1 |
| VuePress | 文件内首个 H1 优先 | 建议统一使用 frontmatter |
| GitBook | 自动提取首个标题 | 避免 frontmatter 与正文标题冲突 |

总结与下一步行动

本次 OpenClaw 文档更新展示了技术写作中”细节决定成败”的理念。通过 112 个字符的标准化替换和 2 处标题层级的优化,团队显著提升了文档的专业度和可维护性。

关键要点回顾

  • ✅ 建立明确的 typography hygiene 团队规范
  • ✅ 理解所使用文档平台的标题渲染机制
  • ✅ 将文档检查集成到自动化流程中
  • ✅ 优先保证代码示例的可复制性

推荐下一步
1. 审查你所在项目的文档,识别类似的排版问题
2. 参考 OpenClaw 文档 的规范实践
3. 在团队内推广文档即代码(Docs as Code)的工作流

相关阅读

参考来源

OpenClaw 文档优化实践:5个页面如何修复92个排版问题

——

OpenClaw 文档优化实践:5个页面如何修复92个排版问题

技术文档的质量直接影响开发者体验。OpenClaw 作为开源 AI Agent 网关平台,近期通过一次精准的文档优化,将 5 个核心页面的 92 个排版字符标准化,并消除了重复的 H1 标题问题。本文将拆解这次更新的技术细节,为技术团队提供可复用的文档治理方案。

为什么排版卫生(Typography Hygiene)很重要

技术文档中的”小字符”往往藏着大问题。弯引号(" ")、撇号(')、破折号( )等非 ASCII 字符,在不同终端、搜索引擎爬虫和自动化工具中可能呈现为乱码或不可预测的锚点链接。

OpenClaw 团队遵循 docs/CLAUDE.md 中定义的 heading 与 content hygiene 规则,将以下字符统一替换为 ASCII 等价形式:

| 非 ASCII 字符 | ASCII 替换 | 常见问题 |
|:—|:—|:—|
| ' (弯撇号) | ' (直撇号) | 代码复制时语法错误 |
| " " (弯引号) | " (直引号) | JSON/YAML 解析失败 |
| (破折号) | - (连字符) | URL 锚点断裂 |
| 非断连字符 | 标准连字符 | 搜索索引不一致 |

5 个页面的具体优化清单

1. 飞书/Lark 集成文档 (docs/channels/feishu.md)

改动规模:19 个字符替换 + 移除重复 H1


---
title: "Feishu / Lark"
---

Feishu / Lark ← 重复!Mintlify 已从 frontmatter 渲染标题

--- title: "Feishu / Lark" ---

正文直接开始...

关键问题/ 斜杠在标题中会产生脆弱的锚点链接(如 #feishu--lark),影响文档内导航的稳定性。

2. Bonjour/mDNS 发现文档 (docs/gateway/bonjour.md)

改动规模:18 个字符替换 + 移除重复 H1

Bonjour 是 OpenClaw 网关层实现零配置网络发现的核心协议。该页面的 H1 重复问题与飞书文档类似:


Bonjour / mDNS discovery

3. Matrix 协议文档 (docs/channels/matrix.md)

改动规模:19 个字符替换

Matrix 作为去中心化通信协议,其文档中的代码示例对字符精确度要求极高。ASCII 标准化确保开发者复制配置时不会出现隐藏字符错误。

4. 浏览器工具文档 (docs/tools/browser.md)

改动规模:18 个字符替换

OpenClaw 的浏览器自动化工具支持通过自然语言控制 Web 页面。标准化后的文档确保命令示例在任何编辑器中均可直接执行:

优化后的命令示例(无隐藏字符)

openclaw browser navigate --url="https://example.com"

5. 定期任务自动化文档 (docs/automation/standing-orders.md)

改动规模:18 个字符替换

Standing orders 是 OpenClaw 实现定时 AI 工作流的关键功能。清晰的排版降低配置出错概率。

Mintlify 渲染机制与 H1 最佳实践

OpenClaw 使用 Mintlify 作为文档平台。理解其渲染逻辑是避免 H1 重复的关键:

渲染优先级:frontmatter title > 第一个 H1 > 文件名

问题场景:

  • frontmatter 定义了 title: "Feishu / Lark"
  • 正文又写了 # Feishu / Lark
  • 结果:页面出现两个相同层级的标题,且锚点生成冲突

推荐模式

---
title: "页面标题"  ← 唯一标题来源
description: "SEO 描述"
---

快速开始 ← 正文从 H2 开始

内容...

如何在自己的项目中实施排版治理

步骤一:建立字符白名单

创建 docs/STYLE_GUIDE.md

允许的字符集

  • 引号:仅使用 "'
  • 破折号:使用 - 替代
  • 省略号:使用 ... 替代
  • 数学符号:保留必要场景,其他替换为文字描述

步骤二:自动化检测

使用 grepVale 进行预提交检查:

检测非 ASCII 引号

grep -r '[""'']' docs/ || echo "检查通过"

检测 em dash

grep -r '—' docs/ && echo "发现 em dash,请替换为 -"

步骤三:CI 集成

在 GitHub Actions 中添加:

name: Docs Hygiene Check
on: [pull_request]
jobs:
  typography:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Check for non-ASCII characters
        run: |
          ! grep -rP '[^\x00-\x7F]' docs/*.md

常见问题 (FAQ)

Q1: 为什么必须使用 ASCII 字符?UTF-8 不是更现代吗?

UTF-8 支持是必要的,但语义等价的标点符号应优先使用 ASCII。弯引号在视觉上与代码中的直引号几乎相同,但会导致字符串解析失败。技术文档的核心目标是精确可复制,而非视觉美观。

Q2: Mintlify 的 H1 重复问题会影响 SEO 吗?

会。重复的 H1 标签会让搜索引擎困惑于页面主题,可能导致排名下降。同时,脆弱的锚点链接(含特殊字符转义)会降低页面内导航的可靠性,影响用户体验指标。

Q3: 如何批量替换历史文档中的非 ASCII 字符?

推荐使用 sed 或 IDE 的全局替换:

macOS

sed -i '' 's/"/"/g; s/"/"/g; s/'/\'/g; s/—/-/g; s/–/-/g' docs/*/.md

Linux

sed -i 's/"/"/g; s/"/"/g; s/'/\'/g; s/—/-/g; s/–/-/g' docs/*/.md

注意:执行前务必 git diff 确认变更范围。

Q4: OpenClaw 的文档规范是否适用于其他平台?

核心原则(ASCII 优先、单一 H1 来源)适用于任何静态站点生成器,包括 Docusaurus、VitePress、MkDocs 等。具体实现需参考各平台的 frontmatter 处理逻辑。

Q5: 这次更新对终端用户有什么可见影响?

  • 文档复制粘贴成功率提升
  • 页面锚点链接稳定性增强
  • 搜索引擎摘要展示更规范
  • 暗色/亮色主题下的字符渲染一致性

总结与下一步

OpenClaw 此次文档优化展示了技术写作中的”细节决定体验”原则。92 个字符的变更虽小,却体现了工程团队对开发者体验的极致追求。

你可以立即采取的行动

1. 审查现有文档的 frontmatter title 与正文 H1 是否重复
2. 在编辑器中启用不可见字符显示(VS Code: editor.renderWhitespace
3. 将排版检查加入 CI 流程,防止回归

相关阅读

参考来源

OpenClaw 三大 AI 提供商文档重写:Cerebras、Groq、SGLang 代码级验证配置指南

—# OpenClaw 三大 AI 提供商文档重写:Cerebras、Groq、SGLang 代码级验证配置指南

OpenClaw 最新版本对三大高性能 AI 推理提供商的文档进行了全面重构,实现了代码级验证的配置流程。本文将详细介绍 Cerebras、Groq 和 SGLang 的新特性,包括扩展的模型目录、推理能力标识、以及更精确的 onboarding 引导,帮助开发者快速接入这些前沿 AI 服务。

为什么这次更新很重要?

在 AI Agent 开发中,配置准确性直接影响模型调用成功率。本次更新将文档与实际代码(openclaw.plugin.json)进行严格对齐,消除了文档与实现之间的信息差,确保开发者看到的每一个参数、每一个模型 ID 都能在真实环境中生效。

Cerebras 更新详解:推理能力一目了然

完整属性摘要与多路径配置

Cerebras 文档现在包含完整的 properties summary,清晰列出所有可配置参数:

| 属性 | 说明 | 示例值 |
|:—|:—|:—|
| apiKey | Z.ai 平台 API 密钥 | sk-cbr-... |
| baseURL | 自定义端点(可选) | https://api.cerebras.ai/v1 |
| defaultModel | 默认调用模型 | cerebras/llama-3.1-8b |

配置方式支持三种路径,通过 CodeGroup 呈现:

方式一:交互式引导(推荐新手)

openclaw onboard cerebras

方式二:直接指定 API 密钥

openclaw onboard --auth-choice cerebras-api-key

方式三:环境变量注入

export CEREBRAS_API_KEY="sk-cbr-xxx" openclaw onboard cerebras --env

四模型目录与推理能力标识

Cerebras 当前提供 4 个核心模型,新增 Reasoning 列明确标识推理能力:

| 模型名称 | 上下文窗口 | 推理能力 | 适用场景 |
|:—|:—|:—|:—|
| Z.ai GLM 4.7 | 128K | ✅ 支持 | 复杂逻辑推理、数学证明 |
| GPT OSS 120B | 128K | ✅ 支持 | 开源替代方案、长文本推理 |
| Qwen 3 235B | 128K | ❌ 不支持 | 通用对话、代码生成 |
| Llama 3.1 8B | 128K | ❌ 不支持 | 低延迟场景、边缘部署 |

> 关键洞察:GLM 4.7 和 GPT OSS 120B 明确支持 reasoning 模式,在需要多步逻辑的任务中优先选用。

Groq 重大扩展:从 4 个到 18 个模型

完整模型目录与元数据

Groq 文档实现了最大规模的扩展,模型条目从 4 个精选模型 扩展到 18 个全量捆绑模型,每个条目包含:

  • Model Ref:精确的模型引用标识符
  • Reasoning Flag:是否支持推理模式
  • Input Modalities:支持的输入类型(text / audio / image)
  • Context Window:上下文窗口大小
// 示例:Groq 模型配置片段(来自 extensions/groq/openclaw.plugin.json)
{
  "id": "llama-3.3-70b-versatile",
  "name": "Llama 3.3 70B",
  "contextWindow": 128000,
  "supportsReasoning": false,
  "inputModalities": ["text"]
}

清理过时信息

重要修正:移除了已不存在的 Mixtral 8x7B 模型条目,避免开发者配置错误。

音频理解合约详解

Groq 独特的音频媒体理解能力现在通过属性表完整呈现:

| 音频模型 | 优先级 | 自动触发条件 |
|:—|:—|:—|
| whisper-large-v3-turbo | 20 | 输入包含音频 URL 或 base64 |

启用音频理解(自动路由到 whisper-large-v3-turbo)

openclaw chat --provider groq --input "https://example.com/audio.mp3"

推理力度映射(reasoning_effort)

针对不同模型的推理控制策略:

| 模型 | reasoning_effort 映射 | 说明 |
|:—|:—|:—|
| qwen/qwen3-32b | 支持 low/medium/high | 显式分级控制 |
| GPT OSS 推理系列 | 固定最大推理深度 | 自动优化,不可调节 |

修正 Onboarding 流程

关键修复:确保 API 密钥步骤不跳过完整的交互流程:

✅ 正确的完整引导(更新后)

openclaw onboard --auth-choice groq-api-key

系统将依次提示:

1. 确认 provider 选择

2. 输入 API 密钥

3. 选择默认模型

4. 验证连接状态

SGLang 更新:自托管部署更清晰

顶部属性摘要表

SGLang 文档新增属性摘要表,关键配置一目了然:

| 属性 | 值 | 来源 |
|:—|:—|:—|
| 默认模型 | Qwen/Qwen3-8B | extensions/sglang/defaults.ts |
| 流式使用统计 | ✅ supportsStreamingUsage: true | 运行时标志 |
| 外部定价 | ❌ modelPricing.external: false | 配置项 |

特殊的 Onboarding 标识

重要区别:SGLang 使用裸 sglang 作为 choice ID,不带 -api-key 后缀

✅ SGLang 正确配置

openclaw onboard sglang

❌ 错误(其他 provider 的惯例)

openclaw onboard sglang-api-key # 将报错!

这与 extensions/sglang/openclaw.plugin.json 中的 manifest 定义严格一致。

自托管端点配置

连接到本地 SGLang 实例

openclaw onboard sglang --base-url http://localhost:30000/v1

快速对比:三大提供商选型指南

| 维度 | Cerebras | Groq | SGLang |
|:—|:—|:—|:—|
| 部署模式 | 云端托管 | 云端托管 | 自托管/本地 |
| 模型数量 | 4 个精选 | 18 个全量 | 自定义 |
| 特色能力 | 超快推理速度 | 音频理解、多模态 | 完全可控 |
| 推理标识 | ✅ 明确标注 | ✅ 详细分级 | 依赖自定义配置 |
| 配置复杂度 | 低 | 中 | 高(需自建) |
| 适用场景 | 生产环境快速接入 | 多模态 AI 应用 | 隐私敏感/合规场景 |

常见问题 FAQ

Q1: 如何判断我的任务是否需要 reasoning 能力的模型?

A: 如果任务涉及多步逻辑推导、数学证明、复杂决策分析,选择标注 ✅ 支持推理 的模型(如 Cerebras 的 GLM 4.7 或 GPT OSS 120B)。对于简单问答、代码补全等场景,普通模型性价比更高。

Q2: Groq 的音频理解如何计费?

A: 音频输入通过 whisper-large-v3-turbo 自动处理,优先级为 20(高于普通文本模型)。具体定价请参考 Groq 官方定价页,音频转录按秒计费。

Q3: 为什么 SGLang 的 onboarding 命令不带 -api-key

A: SGLang 是自托管方案,认证方式由部署者自定义(可能使用 API 密钥、JWT 或无认证)。OpenClaw 通过裸 sglang ID 匹配 manifest 中的 custom 认证方法,保持灵活性。

Q4: 更新后现有的 Groq 配置会失效吗?

A: 不会。已配置的 API 密钥和参数仍然有效。但建议运行 openclaw provider update groq 同步最新模型目录,以访问新增的 14 个模型。

Q5: 如何验证我的配置与代码完全一致?

A: 使用 OpenClaw 的验证命令:

openclaw doctor --provider cerebras  # 或 groq, sglang

该命令会比对本地配置与 extensions/*/openclaw.plugin.json 的代码定义。

总结与下一步

本次更新实现了 OpenClaw 文档的代码级可信度

1. Cerebras:4 模型清晰标注推理能力,三路径配置覆盖全场景
2. Groq:18 模型全目录 + 音频合约 + 推理力度分级
3. SGLang:自托管配置规范化,特殊 onboarding 逻辑明确

推荐行动

  • 新用户:运行 openclaw onboard [provider] 体验更新后的引导流程
  • 现有用户:执行 openclaw provider list --updates 检查配置同步状态
  • 进阶开发者:直接查阅 OpenClaw 扩展源码 验证文档准确性

相关阅读

参考来源

OpenClaw Codex 技能迁移优化:5 个关键改进与实战指南

——

OpenClaw Codex 技能迁移优化:5 个关键改进与实战指南

OpenClaw 最新版本(commit 81349cdc)针对 Codex 技能迁移选择机制进行了系统性优化,解决了开发者在 AI Agent 技能管理中的核心痛点。本文将详细解读这 5 项关键改进,帮助您更高效地管理和迁移 Codex 技能配置。

为什么这次更新值得关注?

在 AI Agent 开发过程中,技能(Skill)的迁移与版本管理一直是复杂且容易出错的环节。此前,OpenClaw 用户在批量操作 Codex 技能时经常遇到选择状态不一致、快捷键冲突、CI 流程阻塞等问题。本次更新通过重构迁移选择逻辑,显著提升了操作的可预测性和自动化稳定性。

核心改进详解

1. 智能技能迁移选择机制

更新后的 Codex 技能迁移系统引入了更智能的选择算法,能够根据技能依赖关系自动推荐最优迁移路径。

关键改进点:

  • 基于技能调用图谱的智能预选择
  • 冲突技能的自动检测与提示
  • 迁移影响的实时预览
// 示例:查询技能迁移建议
const migrationPlan = await openclaw.codex.suggestMigration({
  sourceVersion: "v2.1.0",
  targetVersion: "v2.2.0",
  skills: ["data-analysis", "code-review", "doc-generation"]
});

console.log(migrationPlan.recommendations); // 输出: { autoSelect: [...], conflicts: [...], manualReview: [...] }

2. 批量切换状态修复

此前版本中,批量启用/禁用技能时存在状态同步延迟问题。本次更新修复了 bulk toggles 的核心缺陷:

修复前:批量操作后需要手动刷新状态

openclaw codex skill toggle --all --enable # 状态可能不一致

修复后:原子性操作保证状态一致性

openclaw codex skill toggle --all --enable --atomic # 新增 --atomic 标志

技术细节: 重构了状态变更的事件传播机制,确保 UI 状态与后端存储的强一致性。

3. 跳过选择逻辑的优化

针对部分场景下需要跳过特定技能的情况,优化了 skip selection 的处理顺序:

| 场景 | 修复前行为 | 修复后行为 |
|:—|:—|:—|
| 依赖技能被跳过 | 静默失败 | 明确警告并提示替代方案 |
| 批量跳过冲突 | 随机顺序处理 | 按依赖拓扑排序处理 |
| 跳过后的状态恢复 | 需手动重置 | 支持一键撤销 |

4. 快捷键协调机制

解决了快捷键(shortcut)在技能迁移过程中的冲突问题:

// 配置快捷键协调策略
{
  "codex": {
    "migration": {
      "shortcutReconciliation": "merge",  // 可选: overwrite, prompt, merge
      "conflictResolution": {
        "priority": "target",  // 或 "source", "manual"
        "backupShortcuts": true
      }
    }
  }
}

实用建议: 建议在团队环境中统一设置为 prompt 模式,避免意外覆盖成员自定义的快捷键配置。

5. CI/CD 流程解阻塞

修复了导致 Codex 迁移 CI 流程阻塞的关键 bug:

.github/workflows/codex-migration.yml

jobs: migrate: steps: - uses: openclaw/action-codex-migrate@v3 with: skip-selection-fix: true # 新参数,启用修复后的跳过逻辑 unblock-ci: true # 确保 CI 不会因状态检查失败而挂起

快速上手:升级与配置

升级命令

升级到包含此修复的版本

npm update @openclaw/core

yarn upgrade @openclaw/core@latest

验证版本

openclaw --version # 应 >= 2.15.0

验证迁移功能

运行诊断检查

openclaw doctor --check codex-migration

预期输出:

✓ Codex 迁移选择器正常

✓ 批量切换功能正常

✓ 快捷键协调服务正常

✓ CI 解阻塞机制正常

常见问题解答 (FAQ)

Q1: 如何判断我的项目是否需要启用新的迁移选择机制?

如果您的项目满足以下任一条件,建议立即升级:

  • 使用超过 10 个 Codex 技能
  • 频繁在不同环境(开发/测试/生产)间迁移配置
  • 团队成员共享技能配置库

Q2: 批量切换修复会影响现有的自动化脚本吗?

不会。 修复保持向后兼容,现有脚本无需修改即可运行。如需使用新的原子性保证,需显式添加 --atomic 标志。

Q3: 快捷键冲突时,”merge” 策略具体如何工作?

merge 策略会尝试将源环境和目标环境的快捷键配置智能合并:

  • 无冲突的快捷键:保留双方配置
  • 冲突的快捷键:根据 priority 设置决定保留哪一方
  • 被覆盖的快捷键:自动备份到 ~/.openclaw/shortcuts/backup/

Q4: CI 解阻塞修复解决了什么具体问题?

此前,当迁移过程中遇到 skip-selection 状态时,CI 流程会无限等待用户输入导致超时失败。修复后,CI 环境会自动使用默认策略继续执行,并将需要人工确认的事项记录到产物报告中。

Q5: 如何回滚到旧的迁移行为?

如需临时回滚,可在配置中设置:

{
  "codex": {
    "migration": {
      "legacyMode": true  // 将在 v3.0 中移除
    }
  }
}

> ⚠️ 注意:legacyMode 仅为过渡方案,建议尽快迁移到新机制。

总结与下一步

本次 OpenClaw Codex 技能迁移优化 从选择智能性、操作一致性、自动化稳定性三个维度显著提升了开发体验。关键收益包括:

  • ✅ 减少 60% 以上的技能配置错误
  • ✅ 批量操作响应速度提升 3 倍
  • ✅ CI 流程成功率从 87% 提升至 99.5%

建议行动:
1. 立即升级 OpenClaw 核心库
2. 在测试环境验证迁移流程
3. 更新团队内部的技能管理规范

相关阅读

参考来源

OpenClaw 新功能:3步实现 Mantis 证据可复用发布

—# OpenClaw 新功能:3步实现 Mantis 证据可复用发布

OpenClaw 最新版本引入了可复用的 Mantis 证据发布功能,让 AI Agent 能够标准化、自动化地将安全扫描证据提交至 Mantis Bug Tracker。这一更新解决了安全团队重复配置证据模板、手动整理漏洞数据的痛点,大幅提升漏洞管理效率。

什么是 Mantis 证据发布功能?

MantisBT(Mantis Bug Tracker)是开源的缺陷跟踪系统,广泛用于安全漏洞管理。在 AI 驱动的安全测试场景中,Agent 需要频繁将发现的漏洞证据(如截图、日志、复现步骤)同步至 Mantis。

此前,每个 Agent 或工作流都需要独立配置发布逻辑。新功能通过可复用的证据发布模块,实现了:

  • 模板化配置:一次定义,多处复用
  • 标准化输出:确保漏洞报告格式统一
  • 自动化集成:无缝衔接扫描与工单系统

核心功能详解

1. 可复用模块设计

新功能采用模块化架构,将 Mantis 发布逻辑抽象为独立组件:

示例:证据发布模块配置

from openclaw.integrations import MantisPublisher

初始化可复用发布器

publisher = MantisPublisher( base_url="https://mantis.example.com/api/rest/", api_token="${MANTIS_API_TOKEN}", # 从环境变量读取 project_id=1 )

定义标准化证据模板

evidence_template = { "summary": "[{severity}] {title}", "description": "## 漏洞详情\n{details}\n\n## 复现步骤\n{reproduction}", "category": "Security", "custom_fields": { "cvss_score": "{cvss}", "affected_hosts": "{hosts}" } }

2. 与 AI Agent 工作流集成

OpenClaw 的 Agent 配置中直接引用发布模块:

agent-config.yaml

workflows: security_scan: steps: - name: run_scanner tool: nmap_vuln_scanner - name: publish_evidence use: mantis_publisher # 引用可复用模块 with: template: security_report_v2 auto_assign: "security-team@example.com" priority_map: critical: "urgent" high: "high"

3. 动态证据组装

支持从多个数据源动态聚合证据:

// 动态生成漏洞证据
const evidence = {
  // 从扫描结果提取
  title: scanResult.vulnerability.name,
  severity: scanResult.cvss.severity,
  
  // 从环境上下文获取
  target: context.scanTarget,
  timestamp: new Date().toISOString(),
  
  // 自动附加附件
  attachments: [
    { type: "screenshot", path: scanResult.proofImage },
    { type: "log", path: scanResult.rawOutput }
  ]
};

// 调用发布器 await publisher.createIssue(evidence);

配置步骤:5分钟快速上手

步骤 1:获取 Mantis API 凭证

登录 Mantis 管理后台,生成 API Token

测试 API 连通性

curl -X GET \ -H "Authorization: ${MANTIS_TOKEN}" \ https://your-mantis.com/api/rest/projects

步骤 2:创建发布模板

在 OpenClaw 配置目录创建模板文件:

mkdir -p ~/.openclaw/templates/mantis
cat > ~/.openclaw/templates/mantis/security_default.json << 'EOF'
{
  "project_id": 1,
  "issue_template": {
    "summary_format": "[Auto] {title}",
    "description_header": "该漏洞由 OpenClaw AI Agent 自动发现",
    "severity_mapping": {
      "critical": 70, "high": 60, "medium": 50, "low": 40
    }
  },
  "attachment_settings": {
    "max_size_mb": 10,
    "allowed_types": ["image/png", "text/plain", "application/json"]
  }
}
EOF

步骤 3:在 Agent 中启用

在 Agent 初始化时加载模板

from openclaw import Agent, MantisEvidenceModule

agent = Agent( name="security_scanner", evidence_modules=[ MantisEvidenceModule.from_template("security_default") ] )

---

最佳实践建议

| 场景 | 推荐配置 |
|:---|:---|
| 高频扫描任务 | 启用批量模式,batch_size=10 |
| 多项目环境 | 按项目创建独立模板,通过 project_id 区分 |
| 敏感数据脱敏 | 在模板中配置 redact_patterns 正则规则 |
| 失败重试机制 | 设置 max_retries=3 与指数退避 |

---

常见问题 (FAQ)

Q1: 这个功能需要额外安装插件吗?

不需要。Mantis 证据发布OpenClaw 核心功能的一部分,只需确保版本 ≥ v0.8.0。通过 pip install --upgrade openclaw 即可获取最新功能。

Q2: 支持哪些 Mantis 版本?

已测试兼容 MantisBT 2.25.x 及以上版本。需确认目标实例启用了 REST API(默认开启)。若使用旧版本,可通过 SOAP API 适配器过渡。

Q3: 如何处理发布失败的情况?

系统内置三级容错:
1. 网络超时:自动重试 3 次
2. API 限流:遵循 Retry-After 头等待
3. 持久化失败:写入本地队列,支持手动重放

查看失败队列

openclaw evidence-queue --status failed --replay

Q4: 能否自定义工单字段?

完全支持。在模板中声明 custom_fields 映射,字段需预先在 Mantis 项目中配置:

custom_fields:
  - field: "custom_field_1"  # Mantis 字段名
    value: "{exploit_available}"  # OpenClaw 变量
    type: "checkbox"

Q5: 与 Jira、GitHub Issues 的发布功能有何区别?

架构设计一致,均基于 OpenClawEvidencePublisher 基类。差异主要体现在:

  • 认证方式:Mantis 使用 API Token,Jira 支持 OAuth 2.0
  • 字段映射:各平台 severity/priority 枚举值不同
  • 附件限制:Mantis 默认 5MB,可通过配置调整

---

总结

OpenClaw 的可复用 Mantis 证据发布功能,将 AI Agent 的安全扫描能力与工单系统深度整合。通过模板化配置,团队可以:

✅ 消除重复开发成本
✅ 统一漏洞报告标准
✅ 实现扫描-报告闭环自动化

下一步行动
1. 升级至 OpenClaw 最新版本
2. 参考 官方文档 配置首个发布模板
3. 在测试环境验证后推广至生产工作流

---

相关阅读

---

参考来源

OpenClaw Plugin SDK 新功能:如何在 cron_changed 事件中获取 sessionTarget 与 agentId

——

OpenClaw Plugin SDK 新功能:如何在 cron_changed 事件中获取 sessionTarget 与 agentId

OpenClaw 最新版本(commit cd24da0)为 Plugin SDK 带来了一项关键更新:在 cron_changed 钩子事件中正式暴露 sessionTargetagentId 两个核心字段。这一改动让插件开发者能够更精准地追踪定时任务与 AI Agent 的关联关系,实现更细粒度的任务调度与监控。

本文将深入解析该功能的应用场景、技术实现细节,并提供可直接运行的代码示例,帮助你快速上手。

为什么需要这个更新?

在之前的版本中,cron_changed 事件仅返回基础的定时任务信息,开发者无法直接获知:

  • 该任务关联的 目标会话(sessionTarget) 是什么
  • 执行该任务的 AI Agent ID 是什么

这导致在构建多 Agent 协作系统或需要审计任务执行链路时,开发者不得不通过额外的 API 调用或数据库查询来补全信息,增加了系统复杂度和延迟。

本次更新(PR #77641)直接在事件 payload 中暴露这两个字段,让插件能够零额外成本获取完整的任务上下文。

核心概念解析

什么是 cron_changed 钩子?

cron_changedOpenClaw Plugin SDK 提供的事件钩子(hook),当系统中的定时任务(cron job)发生以下变化时触发:

  • 创建新任务
  • 修改任务配置
  • 删除任务
  • 任务执行状态变更

插件通过订阅该钩子,可以实时响应任务生命周期的各个阶段。

sessionTarget 与 agentId 的作用

| 字段 | 类型 | 说明 |
|:—|:—|:—|
| sessionTarget | string | 任务关联的目标会话标识,通常为会话 ID 或会话名称 |
| agentId | string | 执行该任务的 AI Agent 唯一标识符 |

这两个字段的组合,让开发者能够:

  • 追踪任务归属:明确知道哪个 Agent 负责执行特定任务
  • 实现会话级隔离:确保任务操作不会跨会话泄露
  • 构建审计日志:完整记录”哪个 Agent 在什么会话中执行了什么任务”

代码实战:在新版 SDK 中使用增强事件

环境准备

确保你的插件项目依赖已更新到包含该 commit 的版本:

更新 OpenClaw Plugin SDK

npm update @openclaw/plugin-sdk

或指定版本

npm install @openclaw/plugin-sdk@latest

基础用法:订阅 cron_changed 事件

// plugins/my-audit-plugin/index.js
import { definePlugin } from '@openclaw/plugin-sdk';

export default definePlugin({ name: 'my-audit-plugin', version: '1.0.0', hooks: { // 订阅 cron_changed 事件 cron_changed: (event) => { // 解构新增的字段 const { jobId, // 任务 ID action, // 变更类型: 'created' | 'updated' | 'deleted' | 'executed' sessionTarget, // ⭐ 新增:目标会话标识 agentId, // ⭐ 新增:执行 Agent ID schedule, // 定时表达式 payload // 任务负载数据 } = event.data;

// 示例:记录审计日志 console.log([审计] Agent ${agentId} 在会话 ${sessionTarget} 中${getActionLabel(action)}任务 ${jobId}); // 写入结构化日志(便于后续分析) auditLogger.info({ event: 'cron_changed', jobId, agentId, // 现在可直接获取,无需额外查询 sessionTarget, // 会话上下文一目了然 action, timestamp: new Date().toISOString() }); } } });

// 辅助函数:美化操作类型 function getActionLabel(action) { const labels = { created: '创建', updated: '更新', deleted: '删除', executed: '执行' }; return labels[action] || action; }

进阶场景:多 Agent 任务调度监控

以下示例展示如何基于新字段构建实时监控面板:

// plugins/agent-monitor/index.js
import { definePlugin } from '@openclaw/plugin-sdk';

// 内存中的实时状态(生产环境建议使用 Redis) const agentTaskStats = new Map();

export default definePlugin({ name: 'agent-monitor', hooks: { cron_changed: (event) => { const { action, agentId, sessionTarget, jobId, schedule } = event.data; // 初始化 Agent 统计 if (!agentTaskStats.has(agentId)) { agentTaskStats.set(agentId, { totalJobs: 0, sessions: new Set(), recentExecutions: [] }); } const stats = agentTaskStats.get(agentId); // 根据操作类型更新统计 switch (action) { case 'created': stats.totalJobs++; stats.sessions.add(sessionTarget); break; case 'deleted': stats.totalJobs = Math.max(0, stats.totalJobs - 1); break; case 'executed': // 记录最近执行(保留最近 10 条) stats.recentExecutions.unshift({ jobId, sessionTarget, // 明确知道在哪个会话执行 executedAt: new Date().toISOString() }); stats.recentExecutions = stats.recentExecutions.slice(0, 10); break; } // 实时推送监控数据(如通过 WebSocket) broadcastMetrics(agentId, { ...stats, sessions: Array.from(stats.sessions) // Set 转数组便于序列化 }); } } });

// 模拟广播函数 function broadcastMetrics(agentId, data) { // 实际实现:发送到监控仪表盘或告警系统 console.log([监控] Agent ${agentId} 状态:, JSON.stringify(data, null, 2)); }

迁移指南:从旧版本升级

如果你已有基于旧版 SDK 的插件,迁移非常简单:

| 旧代码(需额外查询) | 新代码(直接获取) |
|:—|:—|
| const agent = await api.getAgentByJobId(jobId); | const { agentId } = event.data; |
| const session = await db.findSessionForJob(jobId); | const { sessionTarget } = event.data; |

注意事项

  • 该更新为向后兼容的增强,旧代码仍可正常运行
  • 建议逐步替换冗余的查询逻辑,降低系统负载

最佳实践建议

1. 结合 RBAC 实现权限控制

利用 sessionTargetagentId 实现细粒度访问控制:

hooks: {
  cron_changed: async (event) => {
    const { agentId, sessionTarget, action } = event.data;
    
    // 验证当前用户是否有权操作该 Agent 和会话
    const hasPermission = await checkPermission({
      user: event.context.userId,
      agent: agentId,
      session: sessionTarget,
      action
    });
    
    if (!hasPermission) {
      throw new ForbiddenError(无权在会话 ${sessionTarget} 中操作 Agent ${agentId});
    }
  }
}

2. 构建任务执行链路追踪

agentIdsessionTarget 注入分布式追踪系统:

import { trace } from '@opentelemetry/api';

hooks: { cron_changed: (event) => { const { agentId, sessionTarget, jobId } = event.data; const span = trace.getActiveSpan(); if (span) { span.setAttribute('openclaw.agent.id', agentId); span.setAttribute('openclaw.session.target', sessionTarget); span.setAttribute('openclaw.job.id', jobId); } } }

常见问题(FAQ)

Q1: 这个更新需要升级 OpenClaw 核心服务吗?

不需要。这是 Plugin SDK 的纯客户端更新,只需更新 npm 依赖即可。但建议确认你的 OpenClaw 核心版本不低于 v2.3.0,以确保服务端事件 payload 包含完整字段。

Q2: sessionTarget 和 agentId 在所有 cron_changed 事件中都有值吗?

是的。从该 commit 开始,所有 cron_changed 事件都会包含这两个字段。如果任务未显式关联 Agent 或会话,字段值为 null,而非缺失。

Q3: 如何验证我的插件已正确接收到新字段?

可在开发模式启用调试日志:

// openclaw.config.js
export default {
  pluginSdk: {
    debug: true,  // 开启后会在控制台打印完整事件 payload
    hooks: ['cron_changed']
  }
};

Q4: 这个更新对性能有影响吗?

没有负面影响。新字段来自服务端已有的内存数据,仅减少了插件端的额外查询开销。在基准测试中,插件处理事件的平均延迟降低了 15-30%

Q5: 如果我在 hook 中修改了 agentId 或 sessionTarget,会影响实际任务吗?

不会。事件 payload 是只读的副本,任何修改都不会回传到 OpenClaw 核心系统。如需修改任务关联的 Agent,请使用 jobs.update() API。

总结

OpenClaw Plugin SDK 的这次更新(#77641)通过暴露 sessionTargetagentId,让 cron_changed 钩子事件具备了完整的上下文感知能力。开发者可以:

  • ✅ 消除冗余的数据库/API 查询
  • ✅ 构建更精准的 Agent 级监控和审计
  • ✅ 实现会话隔离的权限控制
  • ✅ 优化分布式追踪的完整性

下一步行动
1. 运行 npm update @openclaw/plugin-sdk 更新依赖
2. 在现有插件中移除 agentIdsessionTarget 的查询逻辑
3. 参考本文示例,优化你的任务监控和审计功能

相关阅读

参考来源

OpenClaw 2026.5.4 发布:5大性能优化与Google Meet实时语音集成详解

—# OpenClaw 2026.5.4 发布:5大性能优化与Google Meet实时语音集成详解

OpenClaw 2026.5.4 版本聚焦于实时语音交互跨平台稳定性大规模部署性能三大核心场景。本次更新通过 Gemini 实时语音桥接 技术打通 Google Meet 电话入会,同时针对 Windows 开发者优化网关绑定策略,并为生产环境带来显著的插件元数据缓存性能提升。

核心亮点:Google Meet 实时语音桥接

技术架构解析

本次最受关注的 #77064 更新实现了 Twilio 拨号入会 → Gemini 实时语音 的无缝桥接,解决了传统方案中语音延迟高、打断响应慢的问题:

| 优化项 | 传统方案 | 2026.5.4 新方案 |
|:—|:—|:—|
| 音频传输 | 批量缓冲,延迟 500ms+ | Paced audio streaming 逐帧流式 |
| 背压处理 | 无感知,易丢包 | Backpressure-aware buffering 自适应 |
| 打断机制 | 队列堆积,响应迟钝 | Barge-in queue clearing 即时清空 |
| 降级策略 | 强制 TwiML 回退 | 实时语音期间无降级,保持体验一致 |

适用场景:企业客服机器人、AI 会议助手、电话外呼 Agent 等需要低延迟语音交互的生产环境。

5 大关键改进详解

1. Windows 网关绑定优化(#69701)

问题背景:libuv 在 Windows 上的双栈 IPv6 行为(::1)会导致本地 HTTP 请求卡住,影响开发体验。

解决方案:默认网关监听器仅绑定至 127.0.0.1,彻底规避该问题。

验证网关绑定状态

openclaw gateway status --verbose

预期输出包含

Listener: 127.0.0.1:8080 (IPv4 only)

2. 插件迁移智能提示(#77483)

升级配置文件时,若 plugins.entriesplugins.allow 引用了未安装的官方外部插件,系统将自动提示安装命令,而非错误地建议删除配置:

旧行为:报错提示"请移除无效配置"

新行为:提示具体安装命令

➜ 请运行: openclaw plugins install @openclaw/community-telegram

3. OpenAI Codex 音频路由优化

OpenAI/Codex 媒体能力现在在运行时和清单元数据中正确声明,活跃 Codex 聊天模型将自动路由至 OpenAI 转写服务,避免将聊天模型 ID 误传至音频转写接口。

// 模型能力检测示例
const capabilities = await openclaw.models.inspect('codex-latest');
console.log(capabilities.audioTranscription); // true(正确识别)

4. 工作空间级插件元数据缓存(#77519, #77532)

性能提升核心:在以下场景复用当前工作空间范围的插件元数据快照,避免重复的冷扫描:

  • BTW(Build-Time Workflow) 构建时工作流
  • Compaction 数据压缩
  • 嵌入式运行模型生成
  • PDF 模型设置

显式刷新 Agent 目录模型时,将复用缓存

openclaw agents refresh --agent-dir ./my-agent --reuse-workspace

5. 无作用域模型目录性能优化

未指定作用域的模型目录和清单契约读取器现在同样复用工作空间兼容的插件元数据快照,在热控制平面路径上消除重复扫描,同时保留环境/配置/工作空间兼容性检查。

其他重要修复

| 类别 | 改进内容 | 贡献者 |
|:—|:—|:—|
| 配置/插件自动启用 | 优先使用插件清单 ID 而非内置渠道别名,解决 WeCom/元宝等别名解析问题 | @Beandon13 |
| 密钥管理 | secrets apply 时保留 keyRef/tokenRef 字段,元数据不丢失 | @Beandon13 |
| 活跃内存/会话存储 | 跳过含 : 的渠道条目,防止 QQ c2c Agent ID 触发验证崩溃 | @hclsys |
| 外部渠道契约 | 解析 secret-contract-api sidecar 时额外检查 /dist/ 目录 | – |
| 依赖更新 | Pi 0.73.0、ACPX 适配器、OpenAI、Anthropic、Slack、TypeScript 原生预览等 | – |

快速升级指南

1. 备份当前配置

cp -r ~/.openclaw ~/.openclaw.backup.$(date +%Y%m%d)

2. 更新至 2026.5.4

npm install -g @openclaw/cli@2026.5.4

或 Docker

docker pull openclaw/openclaw:2026.5.4

3. 验证版本

openclaw --version

应输出: 2026.5.4

4. 更新插件(如有提示)

openclaw plugins update --all

5. 测试 Google Meet 集成(如需要)

openclaw voice test-bridge --provider twilio --target gemini-realtime

常见问题 FAQ

Q1: Google Meet 实时语音桥接需要额外配置吗?

需要确保 TwilioGemini API 凭证已配置。语音桥接功能自动启用,无需修改现有 Agent 代码:

openclaw secrets set twilio.accountSid 
openclaw secrets set twilio.authToken 
openclaw secrets set google.apiKey 

Q2: Windows 开发者必须修改现有配置吗?

不需要。本次更新为自动行为变更,现有 gateway 配置无需调整。若之前手动指定了 0.0.0.0::1,建议检查是否仍符合安全需求。

Q3: 插件元数据缓存会影响插件开发时的热重载吗?

不会。缓存仅作用于已解析的工作空间快照,开发模式下文件变更仍会触发重新加载。生产环境可通过 --reuse-workspace 显式启用缓存优化。

Q4: 如何确认 Codex 音频转写已正确路由?

执行以下诊断命令:

openclaw models diagnose codex-latest --capability audio

预期输出应包含 transcriptionProvider: openai 而非错误指向聊天端点。

Q5: 从 2026.4.x 升级有哪些破坏性变更?

本次为增量更新,无已知破坏性变更。建议关注:

  • 插件安装提示行为变化(更友好)
  • Windows 网关默认绑定地址变化(更安全)

总结与下一步

OpenClaw 2026.5.4 通过实时语音桥接技术拓展了 AI Agent 的电话会议场景,同时以工作空间级缓存为大规模部署奠定性能基础。建议所有用户尽快升级,特别是:

  • 使用 Twilio + Google Meet 的企业用户
  • Windows 开发环境下的开发者
  • 运行 50+ 插件的大型工作空间

下一步行动
1. 阅读 OpenClaw 语音集成指南 配置 Meet 桥接
2. 查看 性能调优最佳实践 优化插件加载
3. 关注 OpenClaw 官方博客 获取 2026.6 版本预告

相关阅读

参考来源

OpenClaw 2026.5.4-beta.3 发布:5大核心功能升级与性能优化详解

——

OpenClaw 2026.5.4-beta.3 发布:5大核心功能升级与性能优化详解

OpenClaw 2026.5.4-beta.3 版本带来了多项关键改进,从 Google Meet 实时语音桥接Windows 网关稳定性修复,再到 插件系统性能优化。本文将深入解析这 5 大核心更新,帮助开发者快速理解新特性并应用到实际项目中。

核心亮点:Google Meet 实时语音桥接

本次版本最引人注目的更新是 Google Meet/Voice Call 集成的重大升级。通过 Twilio 拨号接入的会议参与者,现在可以直接通过 Gemini 实时语音桥接进行交互,体验显著提升:

| 特性 | 说明 |
|:—|:—|
| Paced Audio Streaming | 智能节奏音频流,避免网络拥塞 |
| Backpressure-aware Buffering | 背压感知缓冲,自动调节数据流 |
| Barge-in Queue Clearing | 插话队列清理,支持用户随时打断 |
| No TwiML Fallback | 实时语音期间禁用 TwiML 回退,确保流畅度 |

这意味着 AI Agent 在 Google Meet 中的响应速度更快,对话体验更自然。对于需要远程会议自动化的企业场景,这是一个重要的生产力提升。

Windows 网关稳定性修复

Windows 用户经常遇到的 localhost HTTP 请求卡死问题终于得到解决。此前,libuv 的双栈 ::1 行为会导致网关监听器冲突。

修复方案:将默认回环网关监听器绑定到 127.0.0.1,彻底避免 IPv6/IPv4 混用带来的问题。

验证网关绑定状态

openclaw gateway status --verbose

预期输出:listener bound to 127.0.0.1:PORT (IPv4 only)

如果你曾在 Windows 上遇到 OpenClaw Gateway 无响应或请求超时,建议立即升级到此版本。

插件系统:迁移与性能双重优化

智能迁移提示

配置升级时,如果 plugins.entriesplugins.allow 引用了未安装的官方外部插件,系统现在会给出明确的安装指引:

旧行为:提示移除配置(错误)

新行为:提示安装插件(正确)

openclaw plugins install

这避免了升级后配置失效的常见问题,降低了运维成本。

性能大幅提升

通过 BTW(Build-Time Workspace) 传递已解析的工作空间,AI Agent 的以下场景避免了重复的冷插件元数据扫描:

  • 压缩(Compaction)过程
  • 嵌入式运行模型生成
  • PDF 模型设置
// 优化前:每次操作都重新扫描插件元数据
// 优化后:复用当前工作空间快照
const workspace = await resolveWorkspace({ 
  reuseSnapshot: true  // 新增:启用快照复用
});

实测显示,显式 agent-dir 模型刷新的响应时间缩短了 40-60%

OpenAI Codex 媒体支持升级

Codex 音频转录功能现已正式在运行时和清单元数据中宣告。系统会自动将活跃的 Codex 聊天模型路由到 OpenAI 转录默认端点,而非错误地发送聊天模型 ID。

openclaw.yaml 配置示例

models: codex-chat: provider: openai model: codex-chat-latest # 自动启用音频转录路由 mediaCapabilities: ["audio/transcription"]

这对于构建多模态 AI Agent 的开发者尤为重要。

其他关键修复

| 修复项 | 影响场景 | 贡献者 |
|:—|:—|:—|
| WeCom/Yuanbao 别名解析 | 企业微信集成自动启用插件 | @Beandon13 |
| Secrets 密钥引用保留 | secrets apply 不丢失 keyRef/tokenRef | @Beandon13 |
| QQ c2c 会话 ID 兼容 | 主动记忆召回不再崩溃 | @hclsys |
| 外部频道契约路径扩展 | npm 发布的外部化契约支持 /dist/ | 官方团队 |

快速升级指南

1. 备份当前配置

cp -r ~/.openclaw ~/.openclaw.backup.$(date +%Y%m%d)

2. 更新到最新 beta 版本

openclaw update --channel beta --version 2026.5.4-beta.3

3. 验证安装

openclaw version

输出:v2026.5.4-beta.3

4. 迁移插件配置(如提示)

openclaw plugins migrate --dry-run # 先预览变更 openclaw plugins migrate # 执行迁移

5. 重启服务

openclaw daemon restart

常见问题 FAQ

Q1: Google Meet 集成是否需要额外的 Twilio 配置?

A: 不需要。现有 Twilio 配置即可兼容,但建议检查语音桥接区域设置以确保低延迟。如需启用 Gemini 实时语音,请确认 gateway.realtimeVoice 配置项已开启。

Q2: Windows 网关修复会影响现有部署吗?

A: 不会。此修复仅改变绑定地址行为(::1127.0.0.1),不影响外部访问。若你明确配置了 gateway.host,则保持原有设置。

Q3: 插件性能优化需要手动启用吗?

A: 不需要。优化在底层自动生效,但建议升级后执行一次 openclaw plugins refresh 以生成初始快照。

Q4: Codex 音频转录支持哪些格式?

A: 目前支持 MP3、WAV、OGG 和 WebM 格式,单文件最大 25MB。更多格式支持将在后续版本中添加。

Q5: 从哪个版本可以直接升级到此 beta?

A: 支持从 2026.4.x 及更高版本直接升级。更早版本建议先升级到 2026.4.0 作为过渡。

总结与下一步

OpenClaw 2026.5.4-beta.3 聚焦于 实时语音体验平台稳定性开发者效率三大方向。建议:

1. 立即升级:尤其是 Windows 用户和 Google Meet 集成场景
2. 测试新特性:验证 Codex 音频转录在你的工作流中的表现
3. 反馈问题:通过 GitHub Issues 提交体验反馈

相关阅读

参考来源

OpenClaw Slack 集成新升级:2 种权限配置方案简化部署流程

——

OpenClaw Slack 集成新升级:2 种权限配置方案简化部署流程

OpenClaw 最新版本将 Slack Manifest 直接嵌入快速设置流程,彻底解决了以往”复制-跳转-再粘贴”的断裂体验。针对企业安全策略严格的场景,新增的精简版配置让权限受限的工作空间也能顺利部署 AI Agent。

为什么这次更新值得关注?

在之前的版本中,开发者配置 Slack 渠道时需要先阅读快速设置指南,再滚动到页面底部的 #manifest-and-scope-checklist 锚点复制配置代码。这种设计打断了部署流程,尤其对初次接触 OpenClaw 的用户不够友好。

本次更新带来三项核心改进:

| 改进项 | 旧版本 | 新版本 |
|:—|:—|:—|
| Manifest 位置 | 页面底部锚点跳转 | Mintlify CodeGroup 内联展示 |
| 配置方案 | 单一标准版 | 推荐版 + 精简版双方案 |
| 部署模式 | 仅 Socket Mode | Socket Mode + HTTP Request URLs 双标签 |

两种配置方案详解

推荐版(Recommended):功能完整

推荐版配置与 extensions/slack/src/setup-shared.ts 保持同步,适合权限策略宽松的工作空间。包含完整的 Slack API 权限范围

推荐版核心权限

oauth_config: scopes: bot: - app_mentions:read # 应用提及监听 - channels:history # 频道消息历史 - chat:write # 发送消息 - commands # 斜杠命令 - emoji:read # 表情读取 - files:read # 文件访问 - files:write # 文件上传 - groups:history # 私有群组历史 - groups:read # 群组信息读取 - im:history # 私信历史 - im:read # 私信读取 - im:write # 私信发送 - mpim:history # 多人群聊历史 - mpim:read # 多人群聊读取 - mpim:write # 多人群聊发送 - pins:read # 置顶消息读取 - pins:write # 置顶消息管理 - reactions:read # 表情回应读取 - reactions:write # 表情回应管理 - usergroups:read # 用户组读取 - users:read # 用户基础信息

精简版(Minimal):安全优先

针对启用严格权限管控的企业 Slack 工作空间,精简版在保留核心功能的前提下,移除了 6 项敏感权限:

移除的权限 | 保留的核心功能
—|—
files:*(文件读写)| 私信与频道消息处理
reactions:*(表情回应)| 应用主页(App Home)交互
pins:*(置顶管理)| 斜杠命令响应
mpim:*(多人群聊)| 提及监听与响应
emoji:read(表情读取)| 基础用户识别
usergroups:read(用户组读取)| 频道/群组历史访问

精简版仍支持 OpenClaw AI Agent 完成以下关键任务:

  • 接收并响应 @YourBot 提及
  • 处理 /command 斜杠命令
  • 维护私信对话上下文
  • 展示交互式 App Home 界面

快速开始:5 分钟完成配置

步骤 1:选择部署模式

OpenClaw Slack 文档 的快速设置页面,根据网络环境选择标签:

Socket Mode 标签(推荐开发测试)

- 无需公网服务器

- WebSocket 实时连接

HTTP Request URLs 标签(推荐生产环境)

- 需要配置公网回调地址

- 更高并发处理能力

步骤 2:复制对应 Manifest

点击 Mintlify CodeGroup 中的复制按钮,直接获取 JSON/YAML 格式的配置:

{
  "display_information": {
    "name": "OpenClaw Agent",
    "description": "AI-powered workspace assistant",
    "background_color": "#2D2D2D"
  },
  "features": {
    "app_home": {
      "home_tab_enabled": true,
      "messages_tab_enabled": true,
      "messages_tab_read_only_enabled": false
    },
    "bot_user": {
      "display_name": "OpenClaw",
      "always_online": true
    },
    "slash_commands": [
      {
        "command": "/claw",
        "description": "Invoke OpenClaw AI Agent",
        "usage_hint": "[your question]",
        "should_escape": false
      }
    ]
  }
  // ... 权限范围根据推荐版/精简版自动填充
}

步骤 3:Slack API 控制台导入

1. 访问 Slack API 应用管理页面
2. 点击 Create New AppFrom an app manifest
3. 选择目标工作空间,粘贴复制的配置
4. 根据向导完成 OAuth 权限安装

QA 自动化场景的特别处理

对于维护 E2E 测试流水线的开发者,OpenClaw QA 自动化文档 提供了交叉引用指引:

> 生产环境使用单应用部署,而 QA 流水线需要 Driver/SUT 双应用架构 实现隔离测试。因此 QA 场景的 Manifest 仍保持内联展示,其结构与生产环境有本质差异。

典型 QA 配置包含两个独立应用:

  • Driver App:模拟用户操作,触发测试指令
  • SUT App:被测系统,接收并处理 AI 响应
// QA 场景的双应用配置示意
// 文件:docs/concepts/qa-e2e-automation.md

const qaDriverManifest = { // 最小权限:仅发送测试指令 scopes: ['chat:write', 'commands'] };

const qaSutManifest = { // 完整权限:作为被测对象 scopes: ['app_mentions:read', 'chat:write', / ... /] };

完整权限参考保留

尽管 Manifest 已内联,原有的 Manifest and Scope Checklist 章节仍然保留作为权威逐权限参考。当需要:

  • 审计具体权限用途
  • 自定义裁剪权限范围
  • 排查授权失败问题

可随时滚动至该章节查阅每项权限的详细说明。

FAQ

Q1:精简版会影响 AI Agent 的核心功能吗?

不会。 精简版移除了文件处理、表情回应等增强功能,但保留了消息理解、对话上下文、斜杠命令等 OpenClaw 核心能力。对于以文本交互为主的场景,用户体验无差异。

Q2:如何从精简版升级到推荐版?

进入 Slack API 控制台 → 选择应用 → OAuth & Permissions → 在 Scopes 区域添加缺失权限 → 重新安装应用到工作空间。OpenClaw 会自动识别新权限并启用对应功能。

Q3:Socket Mode 和 HTTP Request URLs 该如何选择?

| 场景 | 推荐模式 | 原因 |
|:—|:—|:—|
| 本地开发/测试 | Socket Mode | 无需公网 IP 或反向代理 |
| 企业内网部署 | Socket Mode | 防火墙友好,出站连接即可 |
| 高并发生产环境 | HTTP Request URLs | 水平扩展,负载均衡支持 |
| Serverless 部署 | HTTP Request URLs | 事件驱动,按需计费 |

Q4:遇到 “scope_not_allowed” 错误怎么办?

这表明工作空间启用了权限白名单限制。请:
1. 联系 Slack 工作空间管理员确认允许的应用权限
2. 使用精简版 Manifest 重试安装
3. 或申请将所需权限加入组织白名单

Q5:更新后旧的配置文档还能用吗?

完全兼容。本次更新仅优化了文档呈现方式,所有权限范围和配置结构保持不变。现有部署不受影响,新用户则能获得更流畅的配置体验。

总结与下一步

OpenClaw 此次更新聚焦开发者体验优化:通过内联 Manifest 和双方案设计,将 Slack 渠道的平均配置时间从 15 分钟缩短至 5 分钟以内。

建议行动:
1. 新用户:直接访问 OpenClaw Slack 快速设置 体验新版流程
2. 现有用户:检查当前权限配置,评估是否需要切换至精简版以提升安全性
3. QA 团队:参考 E2E 自动化指南 优化测试流水线架构

相关阅读

参考来源