跳转至

Agreement 结构

ASA agreement 是一个机器可读的契约文档,用于描述可调用行为。

核心字段

  • name
  • version
  • description
  • via
  • tags
  • interface.userCache
  • interface.functions

函数级结构

每个函数通常包含:

  • 函数名
  • summary
  • method
  • request 结构
  • response 结构
  • 错误列表
  • 认证要求
  • transport binding

为什么有 userCache

userCache 用来描述客户端或 Agent 侧缓存的上下文名称,帮助处理多步执行,例如认证会话或账户上下文。

实际原则

Agreement 应尽量保持最小、确定。如果某个字段在不同服务商之间无法稳定抽象,就不要把过多嵌套或服务商私有细节硬塞进公共契约。

当前约束

  • 暂不支持继承
  • 版本目录需遵循协议源仓库约定

校验建议

  • 在发布或同步前,使用协议验证器接口 POST /agreements/validate 做预检查。
  • 验证器文档: 协议验证器