核心功能
provider-sync 是 OpenClaw 生态的模型列表同步中枢,用于拉取上游 OpenAI 兼容 API 的 /v1/models 端点,将最新模型信息同步到本地 openclaw.json 配置。其核心工作流遵循 dry-run → confirm → apply 的三段式安全模型,确保配置变更可预览、可回退。
显著优点
1. 防御性默认设计:所有操作默认 dry-run 模式,写入前强制二次确认并自动备份原配置
2. 智能模型治理:v2 版本自动裁剪 agents.defaults.models,消除"菜单存在但模型不可用"的幽灵条目
3. 多环境兼容:纯文本命令交互,无依赖 inline button 的 Telegram 扩展,适配所有部署环境
4. 敏感信息脱敏:缓存写入前自动剔除 token/cookie/apiKey/authorization 等字段
5. 灵活参数体系:支持单 provider、全量同步、新增 provider 向导等多种模式
潜在局限与风险
| 局限/风险 | 说明 |
|-----------|------|
| 破坏性变更 | v2 默认 `--prune-agent-aliases` 会删除白名单中上游不存在的模型条目,误操作可能导致 agent 配置丢失 |
| 权限边界模糊 | 群聊默认可执行 dry-run,但"群聊/私聊"权限控制依赖外层 bot 实现,本 skill 本身无强制约束 |
| 上游依赖 | 同步质量取决于 provider `/v1/models` 端点的规范程度,非标准字段可能映射失败 |
| 配置路径硬编码 | 默认路径 `/root/.openclaw/openclaw.json` 需 root 权限,非容器环境可能遇到权限问题 |
适合人群
- OpenClaw 管理员:需要维护多 provider、数十至上百模型的复杂配置场景
- CI/CD 集成者:希望将模型列表同步纳入自动化发布流程
- 多租户运营者:频繁增删 provider、需保持 agents 模型菜单与上游一致
常规风险防控
- ✅ 首次使用务必先 dry-run 预览差异
- ✅ 生产写入前确认备份文件生成(默认自动)
- ⚠️ 如需保留旧白名单行为,显式添加
--no-prune-agent-aliases - ⚠️ 群聊环境建议通过外层 bot 禁用
mode=apply