refactor: 精简标准 Skill 包模型
- 统一使用 SKILL.md 与通用资源表达 - 删除仓储、专用资源类型和低价值兼容接口 - 保留安全 ZIP 编解码、校验和内容存储能力
This commit is contained in:
@@ -14,6 +14,13 @@ Codec 支持根目录单 Skill、单目录 Skill 和多目录 Skill 三种输入
|
||||
|
||||
`SKILL.md` 使用 YAML frontmatter 与 Markdown 正文。未知字段、嵌套 Map/List、布尔值和数字会保留;语义校验通过结构化 issue 返回路径、行列、错误码与修复建议。
|
||||
|
||||
模块内的可移植模型只有两层:
|
||||
|
||||
- `SkillDocument`:`SKILL.md` 原文、frontmatter 和 Markdown 正文
|
||||
- `SkillResource`:除 `SKILL.md` 外的任意安全相对路径文件
|
||||
|
||||
Skill 的数据库主键、分类、权限、发布和审批属于上层技能库,不进入标准包模型。
|
||||
|
||||
## 推荐调用方式
|
||||
|
||||
无参 `ZipSkillPackageCodec` 使用实例级临时文件存储,适合一次性导入导出。它拥有临时目录,必须关闭:
|
||||
@@ -41,10 +48,10 @@ codec.encode(result.getSkillPackage(), outputStream, writeOptions);
|
||||
|
||||
校验通过 `SkillValidationMode` 区分两个明确上下文:
|
||||
|
||||
- `DRAFT_IMPORT`:ZIP 导入和兼容预检使用;历史下划线名称保留为 warning,允许先进入草稿修复。
|
||||
- `DRAFT_IMPORT`:ZIP 导入和草稿编辑使用;可修复的命名问题返回 warning。
|
||||
- `STANDARD`:正式新建、发布校验和标准 ZIP 导出使用;下划线名称等互操作问题作为 error。
|
||||
|
||||
`SkillFactory.createStrict`、`SkillFactory.createWithResourcesStrict`、`DefaultSkillValidator.validate` 与 `ZipSkillPackageCodec.encode` 执行 `STANDARD` 校验。为保持旧调用兼容,`SkillFactory.create` 仍可构建导入草稿,原有 `validateReport(skill)` 与 `validateReport(skill, limits)` 继续使用 `DRAFT_IMPORT`;新调用方需要显式上下文时使用三参数 `validateReport`。
|
||||
`DefaultSkillValidator.validate` 与 `ZipSkillPackageCodec.encode` 执行 `STANDARD` 校验。`SkillFactory.create` 构建草稿;需要指定校验上下文时调用三参数 `validateReport`。
|
||||
|
||||
## 安全边界
|
||||
|
||||
@@ -59,14 +66,14 @@ codec.encode(result.getSkillPackage(), outputStream, writeOptions);
|
||||
|
||||
限额通过 `SkillPackageLimits` 配置,并由 `SkillPackageReadOptions`、`SkillPackageWriteOptions` 传入单次操作。
|
||||
|
||||
## 从旧接口迁移
|
||||
## 编解码结果
|
||||
|
||||
`importZip(InputStream)` 为兼容入口,现已废弃。新调用方应使用 `decode`,以获得:
|
||||
`decode` 返回:
|
||||
|
||||
- 包布局 `SkillPackageLayout`
|
||||
- 标准化 `SkillPackage`
|
||||
- 包哈希
|
||||
- 聚合校验报告
|
||||
- `STRICT` 或 `REPORT_ONLY` 读取模式
|
||||
- `COMMIT_ON_VALID` 或 `REPORT_ONLY` 读取模式
|
||||
|
||||
写出统一使用 `encode`。自定义校验器是附加业务校验,不能替代 Codec 内置的标准安全校验。
|
||||
写出统一使用 `encode`。Codec 始终执行内置标准与安全校验。
|
||||
|
||||
Reference in New Issue
Block a user