docs/technical/agent-skills.md
Last updated: 2026-02
本文档整理 feat/skills 分支合并后的技能系统技术方案,并归档历史设计中的关键决策、实现约束和后续演进方向。
Agent Skills 的核心目标是以低耦合方式扩展模型能力:
SKILL.md 格式发现和解析技能| 层次 | 位置 | 职责 |
|---|---|---|
| Main 进程技能层 | src/main/skills/ | 发现技能目录、解析 SKILL.md、注册技能 IPC |
| Shared 类型层 | src/shared/types/skills.ts | 技能元数据与配置 Schema |
| Renderer 控制层 | src/renderer/packages/skills/controller.ts | 对 IPC 提供类型化封装 |
| 会话工具构建层 | src/renderer/stores/session/tools-builder.ts | 拼装 <available_skills> 与 load_skill 工具 |
| UI 层 | Settings + InputBox | 全局启用与会话级覆盖 |
全局技能开关与启用列表由设置存储管理,使用版本迁移保证向后兼容。
enabledBuiltinSkills: 启用的内置技能名enabledSkillNames: 启用的用户技能名会话模型增加可选字段(与 copilotId 的可选字段模式一致):
enabledSkillNames?: string[]语义为“会话级完整覆盖全局技能列表”;当值为 undefined 时回退到全局配置。
skills/ 子目录。SKILL.md。name、description 等元数据。buildToolsForSession() 中执行以下动作:
<available_skills> XML 注入到 instructions。load_skill(按名称加载技能正文)。该设计遵循“渐进披露(progressive disclosure)”原则。
当前已归档的技能 IPC 能力包括:
skills:discoverskills:loadskills:get-directoryskills:open-directoryskills:execute-scriptSKILL.md)load_skill + <available_skills> 模式归档记录中的关键边界处理要点:
SKILL.md 解析失败时跳过,不中断主流程以下项已整理为后续技术方向:
source.json 安装清单上述内容在合并分支中作为 roadmap 保留,不在本次“已合并能力”范围内默认承诺。