OpenClaw Agent 配置验证器 - 确保多智能体系统配置的一致性和完整性。
此技能用于验证 OpenClaw 多智能体系统的配置完整性,包括:
openclaw.json 与实际 agent 目录结构是否匹配以下核心数据 严禁 自动修改,仅做检测和报告:
类型文件路径原因Agent 角色定义agents/{agent}/agent/{agent}.md包含角色人格定义身份文档agents/main/agent/IDENTITY.md定义 Star 助手身份灵魂/价值观agents/main/agent/SOUL.md核心价值观和行为准则记忆文档agents/main/agent/MEMORY.md用户偏好和历史记忆用户偏好agents/main/agent/USER.md用户个性化设置
以下配置变更 需要人工确认:
配置项说明agents.list新增/删除 agentmodel.primary主模型变更model.fallbacks备用模型变更channels渠道配置auth认证配置
类型示例安全级别清理无效引用从 allowAgents 移除已删除 agent✅ 安全移除无效绑定清理指向不存在 agent 的 binding✅ 安全格式修复JSON 语法错误、多余逗号✅ 安全备份创建修改前自动备份✅ 安全
javascript
// 默认:只检查,不修复(推荐)
validate_agent_config()
// 或显式指定
validate_agent_config({
fix: false, // 是否自动修复
dryRun: true, // 试运行模式(显示会做什么但不执行)
verbose: true // 显示详细信息
})
javascript
// 仅修复安全项(清理无效引用)
validate_agent_config({
fix: true, // 启用修复
safeMode: true, // 仅修复白名单内的配置
confirmSensitive: false // 不询问敏感变更
})
javascript
// 修复所有可修复项(会询问敏感变更)
validate_agent_config({
fix: true,
safeMode: false, // 允许修复非白名单项
confirmSensitive: true // 敏感变更需要确认
})
javascript
validate_specific_agent({
agentId: "luffy",
checkDocs: ["AGENTS.md", "IDENTITY.md"]
})
javascript
generate_fix_suggestions({
outputPath: "D:\\OpenClaw\\工作汇报\\agent-config-report.md"
})
检查以下文档中的过时引用:
以下配置项可以安全自动修复:
javascript
SAFE_TO_AUTO_FIX = [
'subagents.allowAgents', // 清理无效 agent 引用
'agentToAgent.allow', // 清理无效通信权限
'bindings' // 清理无效绑定
]
以下配置项需要人工确认:
javascript
REQUIRE_MANUAL_CONFIRM = [
'agents.list', // 增删 agent
'models.primary', // 主模型变更
'models.fallbacks', // 备用模型变更
'channels', // 渠道配置
'auth' // 认证配置
]
markdown
# Agent Config Validation Report
生成时间: 2026-03-19 12:00:00
## 摘要
- 总 Agent 数: 3
- 配置有效: ✅
- 发现问题: 5
- 可安全修复: 2
- 需人工确认: 2
- 需人工处理: 1
## 安全状态
✅ 白名单修复: 启用
⚠️ 敏感变更确认: 需要
❌ 文档自动修复: 禁用
## 详细结果
### 1. openclaw.json 配置检查
✅ 所有配置的 agent 目录都存在
✅ subagents.allowAgents 有效
⚠️ agentToAgent.allow 包含无效引用: ["zoro", "sanji"]
[可安全自动修复] 运行 --fix 清理
### 2. AGENTS.md 检查
⚠️ 发现过时引用:
- 第42行: 引用已删除 agent "zoro"
- 第58行: 模型配置表过时
[需人工处理] 文档内容不会自动修改
### 3. IDENTITY.md 检查
✅ 团队架构描述正确
⚠️ 第31行: 仍引用已删除的 "索隆、山治"
[需人工处理] 文档内容不会自动修改
## 修复建议
### 可安全自动修复
1. 从 agentToAgent.allow 移除 ["zoro", "sanji"]
命令: validate_agent_config({fix: true, safeMode: true})
### 需人工处理
2. 更新 AGENTS.md 第42-45行
3. 更新 IDENTITY.md 第31行
## 执行修复
安全修复: validate_agent_config({fix: true, safeMode: true})
完整修复: validate_agent_config({fix: true, safeMode: false, confirmSensitive: true})
先查看报告 javascript
// 第一步:只检查,不修复
validate_agent_config({ fix: false, verbose: true })
安全修复 javascript
// 第二步:修复安全项
validate_agent_config({ fix: true, safeMode: true })
人工处理文档
验证修复结果 javascript
// 第四步:再次验证
validate_agent_config({ fix: false })
openclaw.json.backup.{timestamp}⚠️ 永远不要:
✅ 始终:
bash
# 默认:只检查
agent-config-validator
# 详细输出
agent-config-validator --verbose
# 试运行(显示会做什么)
agent-config-validator --dry-run
# 安全修复(仅白名单项)
agent-config-validator --fix --safe-mode
# 完整修复(会询问敏感变更)
agent-config-validator --fix
# 生成报告文件
agent-config-validator --output report.md
javascript
const AgentConfigValidator = require('agent-config-validator');
const validator = new AgentConfigValidator();
// 基本验证
const result = validator.validate({
fix: false,
verbose: true
});
// 获取详细结果
const report = validator.generateReport('report.md');
// 查看发现的问题
console.log(validator.issues);
// 查看已应用的修复
console.log(validator.fixes);
text
❌ 错误: 配置文件不存在: D:\OpenClaw\.openclaw\openclaw.json
解决: 确保在正确的目录运行,或设置 OPENCLAW_ROOT 环境变量
text
❌ 错误: 无法加载 openclaw.json: Unexpected token...
解决: 手动修复 JSON 语法错误,或使用 JSON 验证器检查
text
❌ 错误: 保存配置失败: EACCES: permission denied
解决: 确保有写入权限,或以管理员身份运行