设施
设施
设施是宿主向 bolt 提供能力的方式。工作区代码只能通过宿主端口访问数据库、存储、模型与外部账户——绝不直接使用凭据。
设施端口
引擎接收一套宿主端口配置。database、files 与 deadlines 是必需的;其余端口都是可选的:
| 端口 | 提供 |
|---|---|
database | 租户 Postgres 数据库——每个工作区必需 |
files | file() 列背后的对象存储:读取、写入、删除、列举 |
deadlines | 每个环境一个下次到期时刻,由宿主持有,运行无需轮询即可唤醒 |
secrets | 租户密封保存的 +secrets.ts 值 |
ai | 模型目录、单次模型调用与嵌入——后者支撑 /semantic 与嵌入列 |
speech | 语音转写与语音合成 |
convert | ctx.convert.document 背后的文档转换 |
geocoder | 地址搜索与逆地理编码 |
web | 公开网页读取 |
push | 应用内通知的网页推送 |
links | 集成实例的链接:发送消息、发出请求与读取驱动数据源,凭据在宿主侧密封保存 |
metering | 用于计费的用量记录,按键去重,重放只计一次 |
tenancy | 请求的主机名所指向的环境 |
membership | 宿主为每个人保留的成员投影 |
通知不是端口:它们是租户数据库中的 sys_notification 行,在应用内、通过推送或经由某个会话连接送达。
必需与可选端口
工作区不声明设施清单。经由宿主未绑定的可选端口发起的调用会得到 unavailable,构建也从不要求它。宿主在激活时拒绝其未实现契约的产物。
宿主绑定
绑定只有方法——没有数据字段,没有秘密。规则如下:
- 工作区源码声明需求,绝不声明秘密值。
- 客户端代码无法访问私有运行时设施。
- 缺失的必需端口在启动时失败;缺失的可选端口在调用时得到
unavailable。
Colony 作为宿主
Colony 绑定 Postgres 连接池、对象存储、deadlines、密封机密、模型 API、语音、文档转换、地理编码、网页读取、推送、Stripe 计量、组织选择器背后的成员投影,以及基于 bolt-server 驱动的集成实例链接;它按路径的第一段定位租户,因此不需要租户端口。参见 Colony 平台 ,了解托管宿主如何接线。