跳到主要内容

设施

设施

设施是宿主向 bolt 提供能力的方式。工作区代码只能通过宿主提供的绑定访问数据库、存储、模型与持久任务——绝不直接使用凭据。

设施端口

Bolt 定义十个设施端口。宿主实现工作区所需的那些:

端口提供
database租户 Postgres 数据库——每个工作区必需
filesfile() 列背后的对象存储:读取、写入、删除、列举
ai模型清单与单次模型调用,供 Agent 与 api.infer 使用
communication渠道发送、入站信封校验与面向个人的通知
connector集成所调用的具名提供方操作
tasks持久工作:注册、入队、定时、取消与信号
hostToolsAgent 可调用的宿主自有工具
transport宿主持有的连接——打开、发送与向主题发布
identityHooks宿主可投影但绝不发起的身份生命周期观测
config每次读取一个宿主提供的配置键——仅供运行时;租户 `+env.ts` 值位于租户 vault

通知与秘密不是端口。它们是由租户数据库中各自表支撑的运行时服务,宿主无需为它们绑定任何东西。

声明需求

需求清单无需任何人手写。 bolt sync 会把它编译进产物清单的 requiredFacilities 中,而激活会拿这份清单核对宿主实际绑定了什么:任何未绑定的条目都会让该产物以 missing_facility 失败,早于任何流量到达它。 identityHooks 是唯一可以保持未绑定的端口——它会发出空操作而不是失败。

宿主绑定

绑定只有方法——没有数据字段,没有秘密。规则如下:

  • 工作区源码声明需求,绝不声明秘密值。
  • 客户端代码无法访问私有运行时设施。
  • 缺失的设施在启动时失败,而不是在首次运行时。

Colony 作为宿主

Colony 绑定全部十个——Postgres 连接池、对象存储、模型 API、渠道投递、提供方连接器、持久任务、沙箱宿主工具、副本所监听的那条流、组织选择器背后的身份投影,以及运行时配置键。参见 Colony 平台 ,了解托管宿主如何接线。