openclaw-config-helper
$
npx mdskill add aAAaqwq/AGI-Super-Team/openclaw-config-helperVerify OpenClaw configs before modifying to prevent crashes.
- Prevents system crashes by enforcing schema validation.
- Integrates with gateway action=config.schema and web_fetch.
- Recommends changes by cross-referencing official documentation.
- Delivers results by displaying proposed JSON and awaiting confirmation.
SKILL.md
.github/skills/openclaw-config-helperView on GitHub ↗
---
name: openclaw-config-helper
description: OpenClaw 配置修改助手。修改任何 OpenClaw 配置前必须先查阅官方文档,确保格式正确,避免系统崩溃或功能异常。强制执行:查
schema → 查文档 → 确认 → 修改的流程。
license: MIT
metadata:
version: 1.0.0
domains:
- openclaw
- config
- safety
type: automation
priority: critical
author: Daniel Li
---
# OpenClaw Config Helper - 配置修改安全助手
- Author: Daniel Li
- Copyright © Daniel Li. All rights reserved.
## ⚠️ 强制规则
**修改任何 OpenClaw 配置前,必须完成以下步骤,否则可能导致系统崩溃或功能异常!**
## 当使用此技能
- 用户要求修改 OpenClaw 配置(openclaw.json、agents 配置、channels 配置等)
- 用户要求添加/修改 Telegram、WhatsApp 等渠道配置
- 用户要求修改 bindings、models、agents.list 等
- 任何涉及 `gateway action=config.patch` 或 `gateway action=config.apply` 的操作
## 触发词
- "修改配置"
- "改一下 openclaw 配置"
- "添加一个 binding"
- "配置 telegram/whatsapp"
- "改 groupPolicy"
- "添加一个 agent"
## 强制流程(必须按顺序执行)
### 步骤 1: 查阅 Schema
```bash
# 获取完整配置 schema
gateway action=config.schema
```
**检查要点**:
- 确认要修改的字段类型(string/number/array/object)
- 确认字段是否必填
- 确认字段的允许值(enum)
- 确认嵌套结构
### 步骤 2: 查阅官方文档(如 schema 不够清晰)
```bash
# 使用 web_fetch 获取官方文档
web_fetch: https://docs.openclaw.ai/channels/telegram
web_fetch: https://docs.openclaw.ai/channels/whatsapp
web_fetch: https://docs.openclaw.ai/gateway/configuration-reference
```
**或者使用搜索**:
```bash
cd ~/clawd/skills/tavily && ./scripts/tavily.sh search "OpenClaw <配置项> 配置"
```
### 步骤 3: 展示修改方案并确认
向用户展示:
1. **当前配置**(如适用)
2. **计划修改**(具体 JSON 片段)
3. **修改原因**
4. **可能影响**
**等待用户确认后才执行修改!**
### 步骤 4: 执行修改
```bash
# 使用 config.patch 进行部分修改(推荐)
gateway action=config.patch raw='{"修改的路径": "值"}'
# 或使用 config.apply 进行完整替换(谨慎使用)
gateway action=config.apply raw='{"完整配置": "..."}'
```
### 步骤 5: 验证修改
```bash
# 检查配置是否生效
gateway action=config.get
# 检查 Gateway 状态
openclaw status
```
## 常见配置错误案例
### 案例 1: Telegram groupAllowFrom 错误 (2026-02-22)
**错误**:把群 ID 放在 `groupAllowFrom` 里
```json
// ❌ 错误
"groupAllowFrom": [-1003531486855, -1003890797239] // 这是群 ID,不是用户 ID!
// ✅ 正确
"groupAllowFrom": ["8518085684"] // 用户 ID
"groups": {
"-1003531486855": {"groupPolicy": "open", "requireMention": true}
}
```
**教训**:`groupAllowFrom` 是发送者白名单(用户 ID),`groups` 是群组白名单(群 ID)
### 案例 2: 缺少 binding 导致 bot 无响应
**错误**:主 bot (default account) 没有绑定到任何 agent
```json
// ❌ 缺少 default → main 的绑定
"bindings": [
{"agentId": "ops", "match": {"accountId": "xiaoops"}},
// ... 其他 bot,但没有 default
]
// ✅ 必须添加
"bindings": [
{"agentId": "main", "match": {"channel": "telegram", "accountId": "default"}},
// ... 其他
]
```
### 案例 3: pass: 格式的 apiKey 不被支持
**错误**:OpenClaw 不支持 `pass:` 格式的 apiKey 引用
```json
// ❌ 错误
"apiKey": "pass:api/your-provider" // 会被当作字符串直接发送
// ✅ 正确
"apiKey": "sk-f873092ea177b75b..." // 必须硬编码真实 key
```
## 快速参考
| 配置项 | 类型 | 说明 |
|--------|------|------|
| `allowFrom` | 用户 ID 数组 | DM 白名单(用户 ID) |
| `groupAllowFrom` | 用户 ID 数组 | 群组发送者白名单(用户 ID) |
| `groups` | 对象 | 群组配置(群 ID 作为 key) |
| `bindings` | 数组 | accountId → agentId 映射 |
| `accounts` | 对象 | 多账号配置(key 是 accountId) |
## 检查清单
修改配置前,确认:
- [ ] 已查阅 `config.schema` 确认字段类型
- [ ] 已查阅官方文档确认用法
- [ ] 已向用户展示修改方案并获得确认
- [ ] 使用 `config.patch` 而非 `config.apply`(除非必要)
- [ ] 修改后验证配置生效
## 记住
**永远不要想当然地修改配置!先查文档,再改配置!**