跳转到主要内容
清单记录如何重建工作区外壳——而非其中的数据。
工作区清单记录构造配置、可选扩展 id 与用户实体定义,便于你在不同环境中版本化、共享并重放工作区设置。

1. 在 Python 中导出与导入

import heavenbase as hb

ws = hb.HeavenBase("shop", preset="debug")
ws.enable_extension("agent")
manifest = ws.to_manifest()

clone = hb.HeavenBase.from_manifest(manifest)
清单包含 kind: heavenbase.workspace.manifestversion: 1config 字段保存可重放的构造器设置,例如 {"preset": "debug"} 或显式后端映射。

2. 保存与加载文件

manifest = hb.WorkspaceManifest.from_dict(ws.to_manifest())
manifest.save("workspace.yaml")

restored = hb.WorkspaceManifest.load("workspace.yaml").open()
.json 路径使用 YAML。.json 路径使用 JSON。 含扩展与用户实体的清单示例:
id: shop
config:
  preset: debug
extensions:
  - agent
  - memory
  - database
entities:
  - entity_id: product
    fields:
      object_id: {type: identifier, pk: true}
      name: {type: short-text}
      price: {type: float}
扩展拥有的实体(memory-notedb-*agent-session 等)会在各扩展启用时重建。无需在 entities 中单独列出。

3. CLI 工作流

hb ws manifest shop > workspace.yaml
hb ws import workspace.yaml --active
hb ws import 重放清单,将工作区注册到全局注册表,并在传入 --active 时将其标记为活跃。

4. 包含与不包含的内容

包含不包含
工作区 id已存储的实体行
可重放的构造配置后端文件、SQL 数据库、向量索引
已启用的扩展 id提供商 (Provider) 凭据
用户实体定义与放置超出 schema 重放的目录 (Catalog) 行
若需要实时连接元数据,导入后请用 hb.ext.ingest_database 重新摄取外部数据库。

5. 演示

用户上手流程从清单开始:
rtk uv run python demos/user/01_workspace_from_manifest.py

摘要

  • 清单将工作区设置与行数据分开版本化。
  • extensions 下列出可选扩展,以便导入时重放启用状态。
  • 基于文件的工作流请使用 WorkspaceManifest.save / loadhb ws manifest / import

进一步探索

相关资源: