提示:AI 结果必须带引用;若证据不足会提示“未找到可靠证据”。

    下载 Markdown

    OpenClaw Manager Native 配置中心:可执行开发计划(2026-03-13)

    关联文档:
    OpenClaw 本地配置可视化管理:分析报告与技术方案(2026-03-13)
    OpenClaw Manager Native 配置中心:信息架构与 Daemon API 草案(2026-03-13)
    本文目标:把前两份方案进一步落为可执行开发计划,便于直接拆任务、排期和落地。

    0. 范围与原则

    0.1 本轮必须达成

    配置中心第一阶段上线后,用户至少需要能够:

    1. 在 app 内查看 active / inactive profile 的 OpenClaw 配置摘要
    2. 看见配置路径、校验结果、主模型、provider、auth mode
    3. 在 app 内查看 skills 列表、来源与依赖状态
    4. 对 active profile 的高价值字段进行安全编辑
    5. 对 skills 完成启用 / 禁用,以及基础新增 / 删除
    6. 在保存前查看 diff 与校验结果
    7. 在写坏时回滚到最近备份

    0.2 本轮明确不做

    • 通用 JSON 树编辑器作为主入口
    • 全量 schema 动态表单
    • 所有 inactive profile 的完整自由编辑
    • openclaw.jsonauth-profiles.json 混成一个统一大表单
    • 一开始就接完整 ClawHub 生命周期
    • 跨平台实现(当前只面向 macOS native)

    0.3 实施原则

    1. 先只读,后可写
    2. 先 active profile,后 inactive profile
    3. 先字段白名单,后 schema 扩展
    4. 先受控 patch,后开放高级编辑
    5. 任何写入都必须可回滚

    1. 交付策略

    建议按“最小可交付闭环”推进,而不是一次做满。

    1.1 最小可交付闭环

    第一批真正值得上线的闭环应是:

    • 配置摘要可见
    • active profile 主模型可修改
    • 保存前可预览 diff
    • 保存后可自动 validate
    • 出错后可回滚

    如果这条闭环能稳定跑通,产品意义已经足够明显。

    1.2 建议交付顺序

    建议严格按以下顺序推进:

    1. 只读配置中心
    2. skills 只读与基础生命周期
    3. active profile 安全编辑
    4. inactive profile 受控编辑
    5. 高级区与原始文件兜底
    6. 回归测试、性能和发布收口

    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.primary
      • agents.defaults.model.fallbacks
      • agents.defaults.models
      • auth.profiles
      • skills.entries.<skillKey>.enabled
      • skills.load.extraDirs
    • 验收:
      • 不再在开发中途不断扩 scope

    OCN-004 备份与回滚策略冻结

    • 优先级:P0
    • 目标:
      • 冻结备份目录结构、命名、保留策略、恢复接口
    • 验收:
      • 写前备份是强制行为,不是可选优化

    OCN-005 skills 作用域与来源模型冻结

    • 优先级:P0
    • 目标:
      • 冻结 skills 的来源模型:
        • bundled
        • managed
        • workspace
        • extra-dir
      • 冻结“哪些可删、哪些只能禁用”
    • 验收:
      • bundled skill 不可删除,目录型 skill 与 extraDirs 语义不再混淆

    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 增加 配置 子视图
    • 内容:
      • 当前判断
      • 配置摘要
      • 路径
      • 校验状态
    • 验收:
      • 不新增顶级 section
      • 页面结构仍然稳定、易扫读

    OCN-106 高级区原始文件只读视图

    • 优先级:P1
    • 目标:
      • 可折叠查看 raw config / raw auth store
    • 验收:
      • 默认折叠
      • 原始 JSON 不影响普通用户浏览

    OCN-107 daemon:skills 列表与配置快照接口

    • 优先级:P0
    • 目标:
      • 新增:
        • GET /api/openclaw/skills
        • GET /api/openclaw/skills/config
    • 返回:
      • skills 列表、来源、路径、启用态、可用态、缺失依赖、extraDirs
    • 验收:
      • 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
    • 验收:
      • 前端能知道哪些字段可编辑

    OCN-202 daemon:配置预览接口

    • 优先级:P0
    • 目标:
      • 新增 POST /api/openclaw/profiles/{profileName}/config/preview
    • 输入:
      • baseHash
      • patch
    • 输出:
      • diffItems
      • validation
      • restartImpact
    • 验收:
      • 保存前必须先拿到 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}/enable
        • POST /api/openclaw/skills/{skillKey}/disable
        • PATCH /api/openclaw/skills/config
    • 验收:
      • 用户可稳定启停 skill,并管理 extraDirs

    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.jsonauth-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/import
        • DELETE /api/openclaw/skills/{skillKey}
    • 语义:
      • 支持 managed/local/workspace skill 的新增与删除
      • bundled skill 只允许禁用,不允许删除
    • 验收:
      • skills 列表、启停、新增、删除形成闭环

    OCN-307 Swift:Skills 新增 / 删除交互

    • 优先级:P1
    • 目标:
      • 支持导入本地 skill、删除本地 skill、删除 extraDirs
    • 验收:
      • 用户不需要手动进文件系统即可完成基础 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 通过验收的标准建议为:

    1. 用户可在账号池中查看任意 profile 的配置摘要
    2. 用户可在设置中查看 skills 列表、来源与依赖状态
    3. 用户可对 active profile 修改主模型或 provider 相关字段
    4. 用户可对 skills 完成启用 / 禁用,并完成基础新增 / 删除
    5. 保存前必有 diff 预览
    6. 保存时必有 validate
    7. 校验失败时不会留下半写状态
    8. 回滚后页面可立即反映恢复结果

    5.2 工程验收

    建议至少通过:

    • go build ./cmd/openclaw-manager-daemon
    • swift build
    • bash ./scripts/build-app.sh

    并补:

    • 配置读取与 patch 单测
    • inactive profile 回滚 smoke test
    • active profile apply 冒烟测试

    5.3 性能验收

    新增配置中心后,至少满足:

    • 首屏 staged loading 不退化
    • 非 fresh 普通读取不出现多秒级同步尖峰
    • 配置页只在需要时读取重数据
    • 非配置页不增加额外高频轮询

    6. 风险门禁

    以下门禁任一未过,都不建议发版:

    Gate 1:并发保护

    • 没有 baseHash guard,不发版

    Gate 2:回滚能力

    • 没有写前备份和恢复能力,不发版

    Gate 3:active / inactive 语义区分

    • 若两者后端实现混写且语义不清,不发版

    Gate 4:性能回归

    • 若普通读取重新出现 2~4 秒卡顿,不发版

    7. 最优先的起步任务

    如果现在立刻开始开发,我建议只做这一组:

    1. OCN-001 配置域模型冻结
    2. OCN-002 双后端策略冻结
    3. OCN-003 字段白名单冻结
    4. OCN-101 配置摘要接口
    5. OCN-103 配置校验接口
    6. OCN-104 Swift 数据模型接入
    7. OCN-105 账号池右侧配置只读视图
    8. OCN-107 skills 列表与配置快照接口
    9. 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.go
    • openclaw-manager-native/Sources/OpenClawManagerNative/main.swift
    • openclaw-manager-native/Sources/OpenClawManagerNative/NativeStore.swift
    • openclaw-manager-native/Sources/OpenClawManagerNative/NativeShellView.swift
    • openclaw-manager-native/docs/API.md