扩展在不改变工作区 API 的前提下,增加实体类型与存储行为。
1. 扩展做什么
HeavenBase 扩展向工作区注册额外的实体类型或开发者 Hook。工作区 API 不变:你仍调用register、upsert、query 与 get。
0.1.1.5 中有两层:
- 实体扩展 通过
ExtensionSpec与ws.enable_extension(...)增加可选实体类型。 - 开发者扩展 通过
hb.ext注册后端、处理器、存储策略与查询 op。
2. 内置 System 与 Prompt 扩展
每个工作区在构造期间会自动启用必需的system 扩展。应用代码中无需调用 enable_extension("system")。
system 与默认加载的 prompt 扩展注册内置持久实体:
Capsule 与 Toolkit 属于
system;Prompt 与 Translation 属于默认加载的 prompt 扩展。
prompt 扩展已启用。通过根包 API 使用 hb.Prompt(...).register(ws=ws)。
3. 查看已启用的扩展
用ws.extensions() 获取已启用扩展元数据,或查询 MetaSchema 中已发布的 extension 行:
system 与 prompt 行的 meta.entities 包含各自的内置实体 id。
4. 注册自定义实体扩展
包作者在加载工作区之前,将实体扩展注册到进程注册表:heavenbase.extensions.default 设为逗号分隔列表或扩展 id 数组。
5. 扩展后端与处理器
底层扩展作者使用heavenbase.ext(亦可用 hb.ext)注册后端、处理器插件、逻辑类型、存储策略与查询操作。工作区路由通过注册表接入它们,而非修改中心代码。
demos/04_extension_backend_template.py。

