Capsule 是受信任本地的可执行清单。仅存储你拥有或已审查的代码。
1. Capsule 是什么
Capsule 是 Python callable 的持久形态。它存储足够元数据以便日后恢复并运行函数,包括:- 身份:namespace、name 与显式 version
- 签名:参数、返回注解与 JSON schema
- 恢复层:source、import path 与可选
cloudpickle载荷 - 依赖:Python 版本与 source 中发现的 imports
- 能力:是否可本地使用、导出到 MCP,或导出为 Anthropic programmatic tools
- 信任与指纹:仅本地执行标志与供审查的 hash
system 扩展(sys-capsule)拥有的系统实体。规范实现位于 src/heavenbase/extensions/system/capsule/;请通过 import heavenbase as hb 使用 hb.Capsule。
2. 存储函数
Capsule.register(...) 默认为 overwrite=False。在测试或 demo 中传入 registry_config=... 以隔离注册表存储。
3. 在其他位置加载并运行
4. Docstring 与格式
Capsule 在捕获时解析 callable docstring,并可从存储的签名元数据合成 callable docstring。Capsule.from_str(...) 将 JSON 与 YAML 清单字符串恢复为 Capsule。
5. 架构数据流
Capsule 流程显式且分层:- Python callable → 内部序列化策略检查 source、import path、docstring、签名、依赖与可选二进制回退。
- 策略 →
CapsuleManifest记录身份、schema、恢复层、能力、信任标志与指纹。 capsule.register()→ 隐藏注册表工作区存储活跃sys-capsule行。Capsule.load(...)→ 按 id 或 namespace/name/version 读取清单;加载时验证 checksum。Capsule.to_func()→ 恢复策略依次尝试 source、import path、受信任本地 binary payload。Tool与Toolkit包装 Capsule,用于本地调用、MCP 提供与 programmatic tool 导出。
module.qualname 引用,而非使通用 JSON 序列化失败。
6. 注册表记录
Capsule 作为隐藏注册表工作区中的普通 HeavenBase 实体存储:sys-capsule:活跃清单行,含身份、manifest 载荷、能力、指纹,以及覆盖时的last_reason
last_reason 中记录原因。
默认注册表配置位于 CM_HVNB 的 heavenbase.capsule.registry。当 demo、测试或应用应将可执行数据保留在专用文件时,可传入 registry_config=...。
多数应用代码应优先 capsule.register(...) 与 Capsule.load(...)。CapsuleRegistry 仍可通过 hb.capsule_registry(config) 用于高级注册表管理与检查。
7. 信任模型
Capsule 不会针对原始 Python 函数的当前内容自行验证。注册表 checksum 仅验证加载的 Capsule 载荷仍与同一 manifest 存储的 hash 匹配。这是记录完整性检查,而非代码安全证明。 HeavenBase 在线程安全内存 LRU 缓存(heavenbase.capsule.registry.trust.verify_cache_size)中缓存成功的 checksum 检查,因此进程对每个缓存键验证一次 Capsule 载荷,而非每次加载或恢复都重算 hash。
默认使用仅 source 的 Capsule。include_cloudpickle 默认为 False;仅对无法由 source 或 import path 表示、且已审查的本地代码启用二进制载荷。若仅 source 恢复失败,HeavenBase 报告未存储受信任本地二进制回退。
8. Demo
从 HeavenBase 源码检出运行数学 demo:add、mul、sub、div、mod 与 fibonacci 存为 Capsule,存储工具集 (Toolkit),通过公开 API 加载,并用 FastMCP 客户端验证 MCP 服务器。

