Skip to main content
Huoban 是 AI 系统的开放编排协议:可排版、可润墨、可印刷。 本节记录 huoban.dev/v1alpha1 已由 JSON Schema、examples 和 CLI 实现的协议表面。字段形状以 schemas/v1alpha1/*.schema.json 为准;CLI 行为以 bin/huoban.jslib/preflight.js 为准。 当前 v1alpha1 仍是同版本内直接修订的草案,尚无需要兼容的既有用户。不要据此声称旧 reader 能前向兼容后续修订。

资源外壳

10 个顶层 kind 都使用同一外壳:
每个 condition 必须包含 typestatusreasonstatus 只能是 "True""False"UnknownmessagelastTransitionTime 是可选字符串,schema 不校验时间格式。

引用形状

引用结构只描述形状。普通 validate 不解析目标;当前 Preflight 只解析其实现明确收集到的引用。

Digest 形状

所有协议 digest 使用 sha256:<64 位小写十六进制>。对象 digest 使用 Huoban canonical JSON v1:对象 key 按 UTF-16 code unit 升序递归排列、数组顺序保持、按 ECMAScript JSON.stringify 语义序列化为 UTF-8,再计算 SHA-256。file input 与 file-backed Artifact 直接哈希原始文件 bytes。

10 个顶层 kind

共享执行契约

以下结构嵌入顶层对象或 Artifact 内容,但不是顶层 kind: 把这些结构写成 kind: Requirementkind: PreflightReportkind: LifecycleHandler 会失败,因为 CLI 找不到对应的顶层 schema。

当前验证边界

完整命令和可验证范围见 兼容与验证

合法示例

上面的最小 Skill 是完整、合法的顶层对象。即使没有副作用,也必须保留必填的 sideEffects.declared: [] 仓库中的组合示例以 examples/**/*.yaml 为准。运行:

相邻概念边界

常见错误

  • 发明 schema 中不存在的字段,或把开放状态字段误写进 spec
  • 把 Requirement、Preflight Report 或 Lifecycle Handler 增加为第 11 个 kind。
  • 认为引用形状合法就代表引用目标存在。
  • 使用自由字符串 user.promptstages.a.outputs.b 代替结构化 flowInput / stageOutput,或只在 Run 塞入未声明输入。
  • 把 stage scope 的 StagePreflightReady=True 当成整次 Run 的执行门槛。
  • PreflightReady=True 当成 Policy allow 或 Trust trusted。
  • 声称当前仓库有 Flow executor、Lifecycle dispatcher 或 Policy enforcement runtime。