第四章 自动化与扩展
本章覆盖第 14–19 章:技能系统、子任务与后台执行、计划与待办、历史折叠这四类自动化能力,以及插件扩展与随行通讯两条扩展途径。
第十四节 技能(Skill)系统
技能(Skill)是一个由提示词模板 + 元数据组成的小包,让助手拥有"领域专家"能力。AVL Code 的技能系统兼容业界主流格式,可以直接复用社区生态。
14.1 三层来源
| 层级 | 作用范围 |
|---|---|
| 全局 | 所有工作区可见 |
| 工作区 | 仅当前工作区可见 |
| 插件 | 由插件包安装提供 |
工作区版本会覆盖全局版本,方便不同项目使用不同口径的同名技能。
内置技能(开箱即用):应用随包内置一批技能(如 AI 引导式 skill-creator,帮你在引导下创建、完善自己的技能)。内置技能在启动时自动物化,内容漂移会被自动覆盖以保证一致;并通过构建期签名 + 内置签名锚点,在严格签名策略下也能正常放行。设置 → 技能 面板会给它们标注「内置」徽标,便于与自建、第三方技能区分。
Agent Skills 兼容加固:加强了对 Agent Skills(agentskills.io) 的兼容 —— 改进跨客户端的技能发现与解析容错、补充工具名称的翻译映射,让不同来源、不同命名习惯的技能都能被正确识别和调用。
14.2 双轨触发
- 用户触发:在输入框敲
/技能名 参数1 参数2→ 渲染后注入到下一条上下文。 - 助手触发:助手自主选择并调用,结果作为工具响应回到对话流。
更主动的技能匹配:系统提示里补上了当前可用技能清单,并强化「动手前先按用途匹配合适技能」的引导。结果是 AI 更倾向于在合适的任务上主动选用贴合的技能,而不是埋头硬做或重复造轮子。
14.3 技能包结构
每个技能就是一个文件夹,里面包含一份说明文件:
- 前置元数据:名称、用途、参数提示、可用工具、适用模式。
- 正文:真正的提示词模板,支持参数替换与小段命令预处理。
14.4 编写一个技能
下面是一个最小例子的概念图(具体语法以官方模板为准):
name: code-review
description: 给一段代码做严肃 review,列出问题与改进建议
argument-hint: <文件路径>
allowed-tools: [读文件, 内容搜索]
work-modes: [plan, assess]
---
请审阅 $1,重点关注:
- 边界条件与错误处理
- 命名与可读性
- 与项目其他代码的一致性
放进 <工作区>/.config/skills/code-review/ 后,输入 /code-review src/utils/format.ts 即可触发。
14.5 签名与验签
发布给团队的技能包建议进行国密签名校验。AVL Code 内置签名工具,可生成密钥、自签证书、对技能包整目录签名,并在加载时自动验签 — 签名失败会被拒绝执行,确保从邮箱、网盘获取的技能不会带毒。
统一签名验证策略开关:签名策略与信任库现集中在独立的 设置 → 技能/插件签名 标签页(安全分组),一个开关同时管住技能和插件 — 改成「跳过」即可允许装未签名的技能与插件;切换时自愈历史遗留的不一致状态。
信任库即放即生效:信任库支持手动 / 自动重新加载,并可直接导入根证书 PEM — 投放证书后即时生效,不再需要重启应用。
「来源不可证实」由你决定:签名策略为 warn 时,无法证实来源的技能 / 插件改为弹出确认、由你选择是否放行;而存在篡改证据的包仍然硬性拦截。拒绝或导入失败时会透出具体原因,不再是笼统报错。
14.6 调试
设置 → 技能 提供:
- 模板预览(参数替换后的最终提示词)
- 命令预处理结果
- 元数据校验
- 适用模式的检查
14.6.1 发布前自查:market.check
新增内置只读工具 market.check:按 AVL Code 应用商店(zMarket)的发布契约校验一个本地技能 / 插件目录,报告过 / 不过 + 原因 + 缺什么(name slug、严格 semver 版本、source 形态、能力声明、归档安全等)。纯本地确定性校验,不联网、不提交。创建 / 编辑技能后、发布前先跑一遍按报告补齐即可。
- 参数:
path(必填,待校验目录相对路径,如.avlcode/skills/my-skill)、kind?(skill/plugin/mcp/provider,缺省自动探测)、version?、source?、manifest?。 - 注意:
.skill-sign的签名 ≠ zMarket 认可;本工具只查发布契约形态,不代表运行时安全审计。
14.7 团队共享
把技能放进团队仓库后,新成员只需把文件夹放到工作区指定路径即可自动识别。配合签名机制可形成"内部技能市场"。
