Skip to content

🌟 讨论:容器化环境下 Skills (技能库) 管理的最佳实践 #9

@hrygo

Description

@hrygo

背景 / Background:
目前 OpenClaw DevKit 作为一个容器化的开发环境("笼子"),已经很好地隔离了文件系统、网络和主程序的运行。但是对于 OpenClaw 强大的扩展能力——Skills(技能库),目前在容器化的管理上还缺乏一个“最佳实践”的标准方案。

问题 / Problem:
当用户想要为 OpenClaw 开发、挂载或持久化自定义 Skills 时,常常面临以下疑问:

  1. 如何挂载本地正在开发的 Skills? (Bind mounts vs Named volumes)
  2. 容器重启后,热更的 Skills 是否会丢失?
  3. 团队协作场景下,公共的 Skills 库应该如何在这个 DevKit 中优雅地分发?
  4. 如果让 OpenClaw (在容器内) 自身通过网络去下载或管理 Skills(即自管理),会有哪些权限和安全的边界问题?

期望方案 / Expected Solutions:
欢迎社区开发者、架构师提供关于 Skills 挂载与管理的最佳实践 PR 或思路探讨!您可以从以下几个维度考虑:

  • 方案 A: 宿主机静态挂载。通过 docker-compose.yml 挂载 ~/.openclaw/skills:/app/skills,主打宿主机代码即时生效。
  • 方案 B: 容器内自管理。赋予 OpenClaw 适当的网络和读写权限,类似于 openclaw install-skill <url>,让它自己把 Skills 装进持久化的 openclaw-state 卷里。
  • 方案 C: 混合模式。核心基础 Skills 随镜像打包,动态自定义 Skills 通过挂载或者自管理补充。

请在下方留下您的见解或设计草案!当然,如果您觉得“就让 OpenClaw 自己管自己”是最高效的,也请详细说明如何在这种模式下保证沙盒的隔离性和安全性。🚀


此 Issue 旨在收集社区智慧,以期在未来的 docker-compose.yml 和文档中沉淀出一套开箱即用的标准 Skills 挂载范式。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions