logo
1
2
WeChat Login

/Release/v1.2.1

OpenClaw Config v1.2.1
OverviewDeployMetadata

OpenClaw Config 配置工具 v1.2.1

终端 TUI 一键配置工具,无需 GUI 环境,纯终端交互运行。


♻️ 重构

  • 合并四个 extract 函数为 extractModelConfig,消除重复代码
    extractPrimary/extractFallback/extractSubagentPrimary/extractSubagentFallback
    统一替换为单一 extractModelConfig(raw, keys...) (primary, fallback string)
  • Manager.go agents.list 块消除重复 raw[agents] 断言
  • DeleteProvider 改用显式 slice 分配,避免底层数组别名问题

✨ 新功能

  • 新增 FullConfig 相关类型定义
  • 实现 migration.go — provider slug 规范化与兼容性修复
  • 实现 migration.go — provider slug 规范化与兼容性修复
    使用 any 替代 interface{}(Go 1.23 风格),所有 6 个测试通过。
  • 实现 LoadFullConfig — 读取多 provider 配置并执行兼容性迁移
    新增 LoadFullConfig、extractPrimary、extractFallback、extractSubagentPrimary、
    extractSubagentFallback、extractNamedAgents,将 interface{} 统一替换为 any。
  • 实现 SaveFullConfig、saveAllApiKeys、syncModelsJSON
    多 provider 配置写回磁盘,保留无关字段,支持 agents.list upsert,
    同步写入 auth-profiles.json 和 models.json。
  • 重写 app.go — 4 步向导支持多 Provider 多 Agent 配置
    Step 1: Provider 管理(添加/编辑,slug 校验,URL 校验)
    Step 2: 主 Agent 模型选择(Primary + Fallback)
    Step 3: 子 Agent 模型(同主 Agent 或单独指定)
    Step 4: 命名 Agent(可选,循环添加)
    最终一次性写入文件,展示兼容性修复日志
  • 新增 checkProviderDeps 和 deleteProvider 函数
  • Step 1 Provider 管理接入二级菜单,支持编辑/删除/返回
  • Step 4 命名 Agent 管理重构为管理环,支持编辑和删除
  • MultiSelect 键位提示改为中文说明
    通过 WithKeyMap 传入自定义 chineseKeyMap,将 editProvider form
    底部的键位提示从英文改为中文(切换选中/向上/向下/过滤/返回/确认/全选)
  • 模型列表 MultiSelect 标题下方添加操作提示
    在 Description 首行加入「空格/x 切换选中,↑↓ 移动,enter 确认」
    帮助用户了解如何多选
  • Base URL 输入自动补全 /v1 后缀
  • 编辑时去掉 /v1 后缀展示,减少用户输入负担
    - 保存时自动补全 /v1(幂等,已有 /v1 不重复追加)
    - 更新 placeholder 和 description 提示用户无需手填 /v1
  • 格式感知的 Base URL 规范化(NormalizeBaseURL)
  • 新增 config.NormalizeBaseURL(rawURL, apiFormat):
    - openai-* / anthropic-messages:path 为空时追加 /v1,已有 /v1 时规范化大小写,自定义路径保留
    - google-generative-ai:只清理空白和末尾斜杠,不追加 /v1
    - 同时规范化 scheme/host 大小写
    - migration.go:删除硬编码 dmxapi.cn 修复,改用 NormalizeBaseURL 通用处理
    - app.go:展示剥离格式感知(google 格式不剥除 /v1);保存改用 NormalizeBaseURL
    - 新增 TestNormalizeBaseURL 表驱动测试(15 个边界案例)及 google 格式迁移测试
  • Add detectFormatFromModels with tests
  • 移除 API 格式手动选择器,改为根据模型列表自动检测
  • Add ListAgentIDsFromDisk and filter main from extractNamedAgents
  • Merge disk-discovered agents into LoadFullConfig
  • Add newForm helper and unify Chinese keymap across all forms
  • Remove manual named agent creation, show auto-discovered agents only
  • 补全 chineseKeyMap 中文键绑定(Input/Confirm/Note)
    为 Input、Confirm、Note 字段补全中文键绑定提示,
    修复 Shift+Tab 在 Input 字段内无效的问题。
    注:huh v0.6.0 的 KeyMap 无 Form 字段,故省略 NextGroup/PrevGroup。
  • RunStep2MainAgent 改为 (bool, error),加返回上一步选项
  • RunStep3SubAgent 改为 (bool, error),加返回上一步选项
  • RunStep4NamedAgents 改为 (bool, error),加返回上一步选项
  • Run() 改为步骤导航循环,支持 Step 2-4 返回上一步
  • ChineseKeyMap 追加各字段 Submit 中文绑定,修复末字段帮助栏英文问题
  • EditProvider 支持 Ctrl+C 取消返回上级菜单,追加操作提示
  • EditNamedAgent 支持 Ctrl+C 取消返回上级菜单
  • 新增 formModel 包装器和 runForm(),统一帮助栏基础设施
  • 替换全部 11 处 form.Run() 为 runForm(),启用统一帮助栏
  • 支持 provider 自定义模型动态注册
    让 provider 编辑页中的自定义模型在输入后立即加入模型列表并默认选中,统一由当前多选结果决定最终保存内容,同时改为 ASCII 复选框样式并补充对应测试与设计文档。
  • 优化 provider 模型列表可见高度
    让 provider 模型列表在终端空间充足时尽量完整展示,并在空间不足时明确提示未显示的模型数量,减少用户对列表是否已显示完全的猜测。
  • Improve provider model list hints
  • Add provider format split reminder
  • Replace provider hint with format reminder

🐛 修复

  • 补充 key=="" 场景的日志区分与测试用例
  • 修复 slug 冲突数据丢失和 primary 原始 key 匹配问题
  • MigrateProviders 新增 seen map 去重,slug 冲突时追加 -N 后缀
    - primary 反推时同时尝试规范化 slug 和原始 key
    - NormalizeSlug 去除冗余的 strings.ReplaceAll(".", "-")
  • SaveFullConfig 四处代码质量修复
  • 用 os.Stat 替代 strings.Contains 检测配置文件是否存在
    - 修复 existingList upsert 的潜在 type assertion panic
    - syncModelsJSON 改为返回 error,与 saveAllApiKeys 保持一致
    - syncModelsJSON 新 provider 不存在时跳过(models.json 由 openclaw 启动时创建)
  • App.go 三处代码质量修复
  • Step 2/3: 用 containsOptValue 重置过期的 primary/fallback 值,
    避免配置中残留已删除模型的引用
    - Step 4: 命名 Agent 改为 upsert-by-ID,防止重复编辑时产生重复条目
    - editProvider: 动态将已有自定义模型注入 MultiSelect 选项,
    避免重编辑时丢失非预设模型
  • SaveFullConfig agents.list 改为先过滤删除再 upsert,修复命名 Agent 删除不落盘问题
  • SaveAllApiKeys 删除 Provider 时清理孤立 auth-profiles 条目
  • 更新 Base URL placeholder 示例为 dmxapi.cn
  • Remove stale add branch reference from editNamedAgent comment
  • 更新 chineseKeyMap 函数注释,反映实际覆盖范围
  • 修复 runStep2MainAgent 中 append 可能污染原始 slice 的问题
  • 补全 Note.Prev 中文键绑定,Step 1 加注释说明无返回
  • 删除 editProvider Description 中的手动导航提示,由统一帮助栏替代
  • Hide provider model overflow hint at bottom
  • Hide provider model overflow hint at bottom
  • Clarify gateway reload messaging
  • Keep success screen open until enter

👷 CI

  • Prune old CNB releases

📚 文档

  • 添加多 provider + 多 agent 模型配置功能设计文档
  • 添加多 provider + 多 agent 模型配置功能实现计划
  • 添加 Provider 与命名 Agent 删除功能设计文档
  • 修订设计文档 — 修复 allModelOpts 重建、editNamedAgent Fallback、主菜单标签等遗漏
  • 添加删除功能实现计划
  • API 格式自动检测设计文档
  • 完善 API 格式自动检测设计文档(修订版)
  • API 格式自动检测实现计划
  • 添加命名 Agent 自动发现 + 导航提示中文化设计文档
  • 添加 agent 自动发现 + 导航提示中文化实施计划
  • 添加表单导航全面修复设计文档
  • 修订导航修复设计文档(补全边界情况、澄清状态)
  • 添加表单导航修复实施计划
  • 添加统一帮助栏设计文档
    定义 bubbletea 包装器方案(formModel + runForm),解决 huh v0.6.0
    不能在帮助栏统一显示 ctrl+c 和 shift+tab 的底层限制。
  • 添加统一帮助栏实施计划

🔧 杂项

  • 删除 docs 规划文档,构建产物 openclaw-config
  • 添加 .worktrees/ 到 .gitignore
  • 忽略本地 superpowers 产物
    避免将 brainstorming 过程中生成的 .superpowers 目录作为未跟踪文件残留在工作区,保持仓库状态干净。

📥 下载

平台架构文件
Linuxx64openclaw-config-linux-amd64
LinuxARM64openclaw-config-linux-arm64
Windowsx64openclaw-config-windows-amd64.exe
macOSIntelopenclaw-config-macos-amd64
macOSApple Siliconopenclaw-config-macos-arm64

🛠️ 使用说明

Linux

# x64
chmod +x openclaw-config-linux-amd64
./openclaw-config-linux-amd64

# ARM64
chmod +x openclaw-config-linux-arm64
./openclaw-config-linux-arm64

macOS

# Intel
chmod +x openclaw-config-macos-amd64
./openclaw-config-macos-amd64

# Apple Silicon
chmod +x openclaw-config-macos-arm64
./openclaw-config-macos-arm64

macOS 安全提示:首次运行提示"无法验证开发者"时,可右键点击 → 选择"打开",或执行:

xattr -rd com.apple.quarantine ./openclaw-config-macos-arm64

Windows

在文件所在目录按住 Shift 并右键 → 选择"在此处打开 PowerShell 窗口",执行:

.\openclaw-config-windows-amd64.exe

⚙️ 配置说明

启动后按提示依次填写:

  • Base URL:默认 https://www.dmxapi.cn/v1,通常无需修改
  • API Key:在 dmxapi.cn 申请,格式为 sk-...
  • 模型:从预设列表选择,或选"自定义模型..."手动输入

🔗 相关链接

Attachment
2026-03-21 00:27:52
2026-03-21 00:27:52