OpenClaw Manager Native 配置中心:可执行开发计划(2026-03-13)
关联文档:
OpenClaw 本地配置可视化管理:分析报告与技术方案(2026-03-13)
OpenClaw Manager Native 配置中心:信息架构与 Daemon API 草案(2026-03-13)
本文目标:把前两份方案进一步落为可执行开发计划,便于直接拆任务、排期和落地。
0. 范围与原则
0.1 本轮必须达成
配置中心第一阶段上线后,用户至少需要能够:
- 在 app 内查看 active / inactive profile 的 OpenClaw 配置摘要
- 看见配置路径、校验结果、主模型、provider、auth mode
- 在 app 内查看 skills 列表、来源与依赖状态
- 对 active profile 的高价值字段进行安全编辑
- 对 skills 完成启用 / 禁用,以及基础新增 / 删除
- 在保存前查看 diff 与校验结果
- 在写坏时回滚到最近备份
0.2 本轮明确不做
- 通用 JSON 树编辑器作为主入口
- 全量 schema 动态表单
- 所有 inactive profile 的完整自由编辑
- 把
openclaw.json与auth-profiles.json混成一个统一大表单 - 一开始就接完整 ClawHub 生命周期
- 跨平台实现(当前只面向 macOS native)
0.3 实施原则
- 先只读,后可写
- 先 active profile,后 inactive profile
- 先字段白名单,后 schema 扩展
- 先受控 patch,后开放高级编辑
- 任何写入都必须可回滚
1. 交付策略
建议按“最小可交付闭环”推进,而不是一次做满。
1.1 最小可交付闭环
第一批真正值得上线的闭环应是:
- 配置摘要可见
- active profile 主模型可修改
- 保存前可预览 diff
- 保存后可自动 validate
- 出错后可回滚
如果这条闭环能稳定跑通,产品意义已经足够明显。
1.2 建议交付顺序
建议严格按以下顺序推进:
- 只读配置中心
- skills 只读与基础生命周期
- active profile 安全编辑
- inactive profile 受控编辑
- 高级区与原始文件兜底
- 回归测试、性能和发布收口
2. 建议排期
以下排期假设:
- 单主力工程实现
- 当前仓库结构不做大迁移
- 目标是先交付 v1,而不是一次解决全部配置问题
2.1 总周期建议
建议总周期:3 周
建议时间窗:2026-03-14 ~ 2026-04-03
2.2 里程碑拆分
| 里程碑 | 建议日期 | 目标 |
|---|---|---|
| M0 架构冻结与协议确认 | 2026-03-14 ~ 2026-03-15 | 冻结 active/inactive 双后端语义、skills 作用域、字段白名单、备份策略 |
| M1 只读配置中心 | 2026-03-16 ~ 2026-03-19 | 配置摘要读取、校验、原始文件查看、skills 列表只读 |
| M2 Active Profile + Skills 基础编辑 | 2026-03-20 ~ 2026-03-25 | 主模型/provider 字段编辑,skills 启停与 extraDirs 管理 |
| M3 Inactive Profile 受控编辑 | 2026-03-26 ~ 2026-03-30 | filesystem patch、备份、回滚、重新 probe、本地 skill 增删 |
| M4 QA、性能与发布收口 | 2026-03-31 ~ 2026-04-03 | 回归、性能验证、文档、发版准备 |
3. 任务拆分(Backlog)
状态建议统一使用:
未开始进行中已完成阻塞已取消
3.1 M0:架构冻结与协议确认
OCN-001 配置域模型冻结
- 优先级:P0
- 目标:
- 冻结
ProfileConfigSummary / Document / Preview / ApplyResult / Backup等对象
- 冻结
- 产出:
- daemon 侧 JSON contract 定稿
- 验收:
- 前后端不再对字段语义存在歧义
OCN-002 active / inactive 双后端策略冻结
- 优先级:P0
- 目标:
- 明确 active profile 优先走官方 live config 语义
- inactive profile 走 filesystem patch
- 验收:
- 文档明确写出两套来源、差异、失败处理
OCN-003 字段白名单 v1 冻结
- 优先级:P0
- 目标:
- 冻结第一版允许编辑的字段
- 建议 v1 字段:
agents.defaults.model.primaryagents.defaults.model.fallbacksagents.defaults.modelsauth.profilesskills.entries.<skillKey>.enabledskills.load.extraDirs
- 验收:
- 不再在开发中途不断扩 scope
OCN-004 备份与回滚策略冻结
- 优先级:P0
- 目标:
- 冻结备份目录结构、命名、保留策略、恢复接口
- 验收:
- 写前备份是强制行为,不是可选优化
OCN-005 skills 作用域与来源模型冻结
- 优先级:P0
- 目标:
- 冻结 skills 的来源模型:
- bundled
- managed
- workspace
- extra-dir
- 冻结“哪些可删、哪些只能禁用”
- 冻结 skills 的来源模型:
- 验收:
- bundled skill 不可删除,目录型 skill 与
extraDirs语义不再混淆
- bundled skill 不可删除,目录型 skill 与
3.2 M1:只读配置中心
OCN-101 daemon:配置摘要读取接口
- 优先级:P0
- 目标:
- 新增
GET /api/openclaw/profiles/{profileName}/config/summary
- 新增
- 返回:
- 路径、存在性、有效性、主模型、provider、auth mode、来源、时间戳
- 验收:
- active / inactive profile 均可读
OCN-102 daemon:配置文档读取接口
- 优先级:P0
- 目标:
- 新增
GET /api/openclaw/profiles/{profileName}/config/document
- 新增
- 返回:
- summary + raw config + raw auth store + hash
- 验收:
- 高级区所需数据齐备
OCN-103 daemon:配置校验接口
- 优先级:P0
- 目标:
- 新增
POST /api/openclaw/profiles/{profileName}/config/validate
- 新增
- 验收:
- 能返回
valid/errors/warnings
- 能返回
OCN-104 Swift 数据模型接入
- 优先级:P0
- 目标:
- 在
NativeStore.swift增加配置中心所需模型与状态
- 在
- 验收:
- 配置读取、校验结果可进入 store
OCN-105 账号池右侧 spotlight 升级
- 优先级:P0
- 目标:
- 右侧 spotlight 增加
配置子视图
- 右侧 spotlight 增加
- 内容:
- 当前判断
- 配置摘要
- 路径
- 校验状态
- 验收:
- 不新增顶级 section
- 页面结构仍然稳定、易扫读
OCN-106 高级区原始文件只读视图
- 优先级:P1
- 目标:
- 可折叠查看 raw config / raw auth store
- 验收:
- 默认折叠
- 原始 JSON 不影响普通用户浏览
OCN-107 daemon:skills 列表与配置快照接口
- 优先级:P0
- 目标:
- 新增:
GET /api/openclaw/skillsGET /api/openclaw/skills/config
- 新增:
- 返回:
- skills 列表、来源、路径、启用态、可用态、缺失依赖、
extraDirs
- skills 列表、来源、路径、启用态、可用态、缺失依赖、
- 验收:
- skills 当前状态可被 app 读取并稳定展示
OCN-108 Swift:全局 Skills 只读页
- 优先级:P0
- 目标:
- 在
设置 / OpenClaw 配置 / Skills下增加只读页
- 在
- 内容:
- skills 总数
- 已启用数
- 缺失依赖数
- skills 列表与来源
- 验收:
- 不与 profile 配置页混作用域
3.3 M2:Active Profile 安全编辑
OCN-201 daemon:配置 schema / 白名单元信息接口
- 优先级:P0
- 目标:
- 新增
GET /api/openclaw/profiles/{profileName}/config/schema
- 新增
- 语义:
- active profile 可透传官方
config.schema - inactive profile 返回我们自己的白名单 schema
- active profile 可透传官方
- 验收:
- 前端能知道哪些字段可编辑
OCN-202 daemon:配置预览接口
- 优先级:P0
- 目标:
- 新增
POST /api/openclaw/profiles/{profileName}/config/preview
- 新增
- 输入:
baseHashpatch
- 输出:
diffItemsvalidationrestartImpact
- 验收:
- 保存前必须先拿到 preview
OCN-203 daemon:active profile 配置应用接口
- 优先级:P0
- 目标:
- 新增
POST /api/openclaw/profiles/{profileName}/config/apply
- 新增
- active profile 语义:
- 优先走官方
config.patch/config.apply
- 优先走官方
- 验收:
- 写入后能拿到最新 hash 与 apply 结果
OCN-204 daemon:baseHash 并发保护
- 优先级:P0
- 目标:
- 所有写接口都要求
baseHash
- 所有写接口都要求
- 验收:
- 并发修改时返回
409
- 并发修改时返回
OCN-205 Swift:可编辑字段表单
- 优先级:P0
- 目标:
- 只实现 v1 白名单字段
- 验收:
- 不暴露全量配置表单
OCN-206 Swift:diff 预览弹层
- 优先级:P0
- 目标:
- 保存前展示差异、校验结果、是否需重启
- 验收:
- 用户不会在“看不到变化”的前提下直接保存
OCN-207 Swift:保存与结果反馈
- 优先级:P0
- 目标:
- 应用成功后刷新 profile 摘要、support 状态和必要的监控条
- 验收:
- 成功、失败、冲突、需重启四类提示完整
OCN-208 daemon:skills 启用 / 禁用与 extraDirs 变更接口
- 优先级:P0
- 目标:
- 新增:
POST /api/openclaw/skills/{skillKey}/enablePOST /api/openclaw/skills/{skillKey}/disablePATCH /api/openclaw/skills/config
- 新增:
- 验收:
- 用户可稳定启停 skill,并管理
extraDirs
- 用户可稳定启停 skill,并管理
OCN-209 Swift:Skills 启停与目录管理 UI
- 优先级:P0
- 目标:
- 为 skills 列表增加启用 / 禁用
- 增加
extraDirs新增 / 删除
- 验收:
- skills 基础生命周期在 app 内可闭环
3.4 M3:Inactive Profile 受控编辑
OCN-301 daemon:filesystem patch 引擎
- 优先级:P0
- 目标:
- 对 inactive profile 进行字段级 patch
- 限制:
- 只允许白名单字段
- 验收:
- 不允许整文件任意覆盖
OCN-302 daemon:写前备份
- 优先级:P0
- 目标:
- 修改前自动备份
openclaw.json和auth-profiles.json
- 修改前自动备份
- 验收:
- 每次写入均产生可回滚备份
OCN-303 daemon:失败自动回滚
- 优先级:P0
- 目标:
- patch 后校验失败则自动回滚
- 验收:
- 页面能收到“已回滚”的明确结果
OCN-304 daemon:重新 probe 与摘要刷新
- 优先级:P0
- 目标:
- inactive profile 写入后自动重新 probe
- 验收:
- 页面不会停留在旧摘要
OCN-305 Swift:回滚入口
- 优先级:P1
- 目标:
- 高级区增加备份列表与恢复操作
- 验收:
- 至少支持“回滚到最近一次备份”
OCN-306 daemon:本地 skill 导入与删除
- 优先级:P0
- 目标:
- 新增:
POST /api/openclaw/skills/importDELETE /api/openclaw/skills/{skillKey}
- 新增:
- 语义:
- 支持 managed/local/workspace skill 的新增与删除
- bundled skill 只允许禁用,不允许删除
- 验收:
- skills 列表、启停、新增、删除形成闭环
OCN-307 Swift:Skills 新增 / 删除交互
- 优先级:P1
- 目标:
- 支持导入本地 skill、删除本地 skill、删除
extraDirs项
- 支持导入本地 skill、删除本地 skill、删除
- 验收:
- 用户不需要手动进文件系统即可完成基础 skills 管理
3.5 M4:QA、性能与发布收口
OCN-401 配置回归测试
- 优先级:P0
- 目标:
- 补 daemon 单测与端到端 smoke test
- 覆盖:
- 读配置
- validate
- preview
- apply
- rollback
OCN-402 性能回归测试
- 优先级:P0
- 目标:
- 确认配置读取不会重新引入启动卡顿
- 重点:
- 首屏 staged loading 不回退
- 普通轮询不被配置读取拖慢
OCN-403 文案与错误态收口
- 优先级:P1
- 目标:
- 中文文案统一
- 错误提示明确说明“发生了什么 / 是否已回滚 / 该做什么”
OCN-404 文档与 API 更新
- 优先级:P1
- 目标:
- 更新
docs/API.md - 更新 release notes
- 更新
OCN-405 发版准备
- 优先级:P1
- 目标:
- build
- 安装版验证
- 发布说明
4. 推荐切片顺序
为了避免做成一个大而难测的长分支,我建议按以下切片提交:
Slice A:只读接口与只读 UI
- OCN-101
- OCN-102
- OCN-103
- OCN-104
- OCN-105
- OCN-106
- OCN-107
- OCN-108
这是第一块最值得先合并的增量。
Slice B:active profile 预览与应用
- OCN-201
- OCN-202
- OCN-203
- OCN-204
- OCN-205
- OCN-206
- OCN-207
- OCN-208
- OCN-209
Slice C:inactive profile patch / 备份 / 回滚
- OCN-301
- OCN-302
- OCN-303
- OCN-304
- OCN-305
- OCN-306
- OCN-307
Slice D:回归与发版
- OCN-401
- OCN-402
- OCN-403
- OCN-404
- OCN-405
5. 验收口径
5.1 功能验收
配置中心 v1 通过验收的标准建议为:
- 用户可在账号池中查看任意 profile 的配置摘要
- 用户可在设置中查看 skills 列表、来源与依赖状态
- 用户可对 active profile 修改主模型或 provider 相关字段
- 用户可对 skills 完成启用 / 禁用,并完成基础新增 / 删除
- 保存前必有 diff 预览
- 保存时必有 validate
- 校验失败时不会留下半写状态
- 回滚后页面可立即反映恢复结果
5.2 工程验收
建议至少通过:
go build ./cmd/openclaw-manager-daemonswift buildbash ./scripts/build-app.sh
并补:
- 配置读取与 patch 单测
- inactive profile 回滚 smoke test
- active profile apply 冒烟测试
5.3 性能验收
新增配置中心后,至少满足:
- 首屏 staged loading 不退化
- 非 fresh 普通读取不出现多秒级同步尖峰
- 配置页只在需要时读取重数据
- 非配置页不增加额外高频轮询
6. 风险门禁
以下门禁任一未过,都不建议发版:
Gate 1:并发保护
- 没有
baseHashguard,不发版
Gate 2:回滚能力
- 没有写前备份和恢复能力,不发版
Gate 3:active / inactive 语义区分
- 若两者后端实现混写且语义不清,不发版
Gate 4:性能回归
- 若普通读取重新出现 2~4 秒卡顿,不发版
7. 最优先的起步任务
如果现在立刻开始开发,我建议只做这一组:
- OCN-001 配置域模型冻结
- OCN-002 双后端策略冻结
- OCN-003 字段白名单冻结
- OCN-101 配置摘要接口
- OCN-103 配置校验接口
- OCN-104 Swift 数据模型接入
- OCN-105 账号池右侧配置只读视图
- OCN-107 skills 列表与配置快照接口
- OCN-108 全局 Skills 只读页
原因:
- 这组任务不会触碰最危险的写入路径
- 但足够让配置中心从概念进入真实产品形态
- 并且最有利于验证“profile 配置 + skills 管理”双域信息架构是否成立
8. 最终建议
当前最合理的推进方式,不是“马上做完整配置编辑器”,而是:
- 先把只读配置中心做稳
- 先把只读 skills 管理做稳
- 再把 active profile 的安全编辑做成闭环
- 然后补 skills 的启停 / 新增 / 删除
- 最后补 inactive profile 的文件级受控编辑
只要这几段顺序不乱,配置中心就能在不破坏现有产品稳定性的前提下,逐步把 OpenClaw Manager Native 推进为真正的本地 OpenClaw 管理入口。
9. 参考资料
官方资料
-
Gateway Configuration
https://docs.openclaw.ai/gateway/configuration -
CLI Config
https://docs.openclaw.ai/cli/config -
Control UI
https://docs.openclaw.ai/web/control-ui -
Onboarding and Config Protocol
https://docs.openclaw.ai/experiments/onboarding-config-protocol -
OpenClaw GitHub 仓库
https://github.com/openclaw/openclaw
本地工程参考
openclaw-manager-native/cmd/openclaw-manager-daemon/main.goopenclaw-manager-native/Sources/OpenClawManagerNative/main.swiftopenclaw-manager-native/Sources/OpenClawManagerNative/NativeStore.swiftopenclaw-manager-native/Sources/OpenClawManagerNative/NativeShellView.swiftopenclaw-manager-native/docs/API.md