跳转到主要内容
扩展在不改变工作区 API 的前提下,增加实体类型与存储行为。

1. 扩展做什么

HeavenBase 扩展向工作区注册额外的实体类型或开发者 Hook。工作区 API 不变:你仍调用 registerupsertqueryget 0.1.1.5 中有两层:
  • 实体扩展 通过 ExtensionSpecws.enable_extension(...) 增加可选实体类型。
  • 开发者扩展 通过 hb.ext 注册后端、处理器、存储策略与查询 op。

2. 内置 System 与 Prompt 扩展

每个工作区在构造期间会自动启用必需的 system 扩展。应用代码中无需调用 enable_extension("system") system 与默认加载的 prompt 扩展注册内置持久实体: Capsule 与 Toolkit 属于 system;Prompt 与 Translation 属于默认加载的 prompt 扩展。
在工作区中注册提示 (Prompt) 时,HeavenBase 会确保 prompt 扩展已启用。通过根包 API 使用 hb.Prompt(...).register(ws=ws)

3. 查看已启用的扩展

ws.extensions() 获取已启用扩展元数据,或查询 MetaSchema 中已发布的 extension 行:
systemprompt 行的 meta.entities 包含各自的内置实体 id。

4. 注册自定义实体扩展

包作者在加载工作区之前,将实体扩展注册到进程注册表:
若要在每个新工作区上启用自定义扩展,在配置中将 heavenbase.extensions.default 设为逗号分隔列表或扩展 id 数组。

5. 扩展后端与处理器

底层扩展作者使用 heavenbase.ext(亦可用 hb.ext)注册后端、处理器插件、逻辑类型、存储策略与查询操作。工作区路由通过注册表接入它们,而非修改中心代码。
通过公开能力索引发现支持的组合:
发布新存储 provider 或编译器时使用该接口;日常应用代码不必依赖它。自定义 operation 示例见 demos/04_extension_backend_template.py

进一步探索

相关资源:
  • 扩展 - 实体与开发者扩展参考
  • 架构 - 扩展在核心路径中的位置
  • 目录 - system 扩展提供的系统实体
  • 提示 (Prompt) - 由 sys-prompt 支撑的可调用提示 (Prompt)
  • Capsule - sys-capsule 下的可执行清单
  • 后端 - 扩展可注册的后端家族