宽广 API 仍然可以只有一扇正门;消防出口只需贴好标签。
1. 动机
把每个提供商类、Registry helper、查询片段与界面编译器都导入首个用户示例,会让包看起来比应用更难。隐藏所有高级接缝则会产生相反问题:集成开始依赖私有模块。 HeavenBase 保留宽广的惰性根入口,同时推荐一个精简的首读界面。应用示例从import heavenbase as hb 开始;只有任务真正需要某个边界时,高级作者才进入所属包。
2. 从主要界面开始
3. 使用正确的工作区入口
显式
preset= 或 backends= 值会断言持久构造。冲突会抛出 FileExistsError。release() 移除实时外观并保留 Backend 数据;drop() 销毁所属物理数据。
4. 分离模式与数据行生命周期
hb.Agent 等根动态 Extension Entity 导出通过 hb.DEFAULT_CONTEXT 解析。跨 Context 代码应使用目标工作区中的规范类,而不是把 Python 类身份当作持久身份。
5. 把查询与 Frame 视为值
hb.Query;这里没有可变 builder、copy 或 fork API。execute() 重新计算并返回全新分离的 hb.ResultFrame。
使用显式结果出口:
rows()用于 JSON 风格数据行字典scalar()用于单单元格终结结果to_pandas()、to_pyarrow()、to_numpy()、to_pydantic()或to_daft()用于类型化消费者ids与column(...)用于聚焦检查
query.explain() 检查所选 Backend、策略、处理器、原生/回退模式与不支持原因。
6. 使用 Context 绑定的智能体与 LLM API
full 是管理 profile,不是面向不可信智能体的默认项。
具体 Toolkit 持久化由工作区拥有。Toolkit.register、load、list、describe 与 delete 接受 ws=;省略时使用仅加载已有项的 hb.HeavenBase.load(),绝不会创建隐藏 Toolkit 存储。
7. 从所属包使用高级 API
使用
hb.ext 编写 Registry 支持的后端、处理器、策略、操作、profile、序列化器与 Extension。普通应用入门应留在根入口。
8. 避免已退役兼容路径
0.1.2.1 架构在以下位置没有兼容包:heavenbase.registryheavenbase.storageheavenbase.handlersheavenbase.frameheavenbase.discovery
heavenbase.utils.registry、heavenbase.placement、heavenbase.execution 与 heavenbase.capabilities。SQL 资源位于 heavenbase.database.resources.sql;Toolkit 提示位于 heavenbase.toolkit.prompts。
9. 保守阅读 API 契约
- 当实现导入很重时,公共根导出会保持惰性。
- 已注册标签描述语义声明;它们不证明可执行支持。
- 独立 Backend 不会形成分布式事务。
- 工作区清单导出构造、请求的 Extension 根与模式,而不是数据行。
- 已安装可执行模块与 Capsule 是可信代码边界。
- 提供商特定原生行为应通过
explain()与聚焦测试验证。
摘要
- 主要 API 拥有应用工作流;高级 API 公开狭窄引擎接缝。
- Context 与工作区参数保留运行时权威。
- 已退休兼容包不是扩展点。

