使用 Docker 容器提供隔离的 Node.js 环境,通过 skills CLI 管理全局 SKILL。每次 run 自动更新 CLI 版本,无需重建镜像。
cd ~/projects/skills-manager
# 更新所有技能
./run.sh run --rm skills-manager skills update -g
# 安装 github repo 技能
./run.sh run --rm skills-manager skills add <github-user>/<repo> -g -a opencode -y
# 安装子目录技能(使用 --skill 参数)
./run.sh run --rm skills-manager skills add <github-user>/<repo> --skill <skill-name> -g -a opencode -y
# 安装 neat-freak
./run.sh run --rm skills-manager skills add KKKKhazix/khazix-skills --skill neat-freak -g -a opencode -y
# 更新指定技能
./run.sh run --rm skills-manager skills update -a opencode <skill-name>
# 删除指定技能
./run.sh run --rm skills-manager skills remove -a opencode <skill-name>
# 查看已安装技能
./run.sh run --rm skills-manager skills list -a opencode
# 搜索技能
./run.sh run --rm skills-manager skills find
# 查看技能详情
./run.sh run --rm skills-manager skills get <skill-name> -a opencode参数说明:
- 参数顺序:
<source>必须放在最前面,选项参数(-g,-a,-y,--skill)放在后面 -g参数:全局安装-a opencode参数:指定为 opencode 安装--skill参数:安装仓库中的指定技能(用于子目录技能)-y参数:跳过确认提示skills update -g是增量更新:只更新有变化的技能
容器内路径 说明
~/.agents/skills/ skills CLI 默认安装路径(挂载自宿主机 ~/.agents/skills/)
./run.sh run --rm -it skills-manager bash./run.sh run 会自动执行以下流程(无需手动干预):
- 以 root 运行
npm install -g skills(~0.5s) - 通过
setpriv降权到宿主机 UID/GID - 降权后执行用户的原始命令
这意味着每次使用 run 子命令时,skills CLI 都是最新版。挂载卷中创建的文件所有权正确,不会出现 root 占用问题。
# 重建镜像(通常不需要,除非改了 Dockerfile)
./run.sh build
# 启动后台容器
./run.sh up -d
# 停止后台容器
./run.sh down