跳转到内容

Skills — 不可变目录与固定分配

Skills(modules/skills、olivares.skills)是 32 个模块之一。它拥有不可变的 技能目录及其固定分配:技能包只安装一次,逐条对照其清单 digest 校验,并作为 不可变修订发布——此后绝不在原地修改。目标(智能体、组、工作区)可以使用什么,由一条 把包修订固定下来的分配决定,而每一次固定都会写入审计账本 (skills.assignment.pin)。

新安装时 默认启用 Skills,但它仍是可选模块,不依赖其他模块。升级保留已保存的模块选择。在 Skills (/skills) 中浏览内置技能包,安装时可选择分配到工作区,也可选择 从 Git 安装。CLI 使用相同的不可变且经过摘要验证的导入流程:

终端窗口
olivares skills ls --builtin
olivares skills install --builtin ecc-security
olivares skills install --git https://github.com/owner/skills --ref <commit> --subdir skills
olivares skills assign <pack-id> --revision <revision-id> --workspace <workspace-id>
olivares skills update <pack-id> # read the recorded source again and review the diff
olivares skills update <pack-id> --apply --expected-digest <digest>
olivares skills pin <pack-id> [--revision <older-revision-id>]
olivares skills enable tdd-workflow code-review --folder <folder-ref>
olivares skills selection --workspace <workspace-id> --folder <folder-ref>
  • 目录。 安装在 /v1/m/skills/packs 下的包,每个不可变修订都记录其清单 digest;退役一个仍被分配或被已记录对话使用的包会被拒绝,而不是静默级联删除。
  • 内置目录。 一组随引擎附带的 upstream 技能包,按 commit 与归档 digest 固定 (builtin/PIN.json),安装时的校验与上传归档完全一致。安装时不执行其中任何 内容。
  • 分配。 GET/POST /v1/m/skills/assignments 与 PUT/DELETE /v1/m/skills/assignments/{id} 把修订固定到目标(存在活动工作区时 按其限定)。同一类型的两个目标若把不同内容固定到同一个技能名下,会在会话启动前被拒绝;更窄的目标(文件夹、模板、智能体、会话)会取代更宽目标中同名的技能,因此项目无需编辑通用技能包即可覆盖它。
  • Git 导入。 一个操作员范围的导入器可以在固定策略之下从 Git 源获取技能包; 导入会作为又一条不可变修订落入目录,而不是引擎读取的活检出。

模块的路由位于其 beta 命名空间(/v1/m/skills/…),记录在 模块路由参考中,并渲染为控制台的 Skills 视图。读取需要 read 权限;安装包或修订需要 write;退役需要 admin;分配需要 assign 权限。会话只 通过已记录的分配解析其技能——磁盘上发生变化的文件夹,绝不会改变一次已经固定的 启动将要运行的内容。