托管生图网关
生图插件应支持两条路径:
- 通过 HaloForge Cloud 或 Enterprise Server 的托管网关。
- 用户在社区版配置自定义端点。
这样插件既能支持本地用户,也能在登录宿主后使用受管、可审计的网关。
SDK helper 名为 enterpriseGateway(),这是历史兼容命名。产品 UI 应把它当作宿主管理的生图网关。
Manifest:
{ "host_capabilities": ["enterprise_gateway"], "permissions": [ { "type": "host_enterprise_gateway_access" } ]}前端:
import { enterpriseGateway } from "@haloforge/plugin-sdk";
const gateway = enterpriseGateway();const result = await gateway.generateImages({ model: "gpt-image-1", prompt: "Create a polished HaloForge plugin icon.", size: "1024x1024", n: 1, response_format: "url",});宿主会通过当前登录的 Cloud 或 Enterprise session 转发请求,插件不会拿到 Cloud session token。
社区版自定义端点
Section titled “社区版自定义端点”社区版应提供这些设置:
- 网关模式:auto、HaloForge Cloud、custom endpoint
- custom base URL
- optional API key
- 默认模型和尺寸
OpenAI-compatible 端点如果涉及 CORS 或密钥处理,建议通过 Rust 后端请求,并声明 network_http。
生图插件两条网关路径都应输出诊断日志:
- 托管网关的前端调用使用
@haloforge/plugin-sdk的createPluginLogger()。 - 自定义端点的 Rust 后端调用使用
ctx.log(...)。 - 记录
started、succeeded、failed事件,并包含 request ID、网关类型、操作类型、模型、尺寸、数量、状态、耗时、输出数量和短错误摘要。
不要记录 Cloud session token、用户 API key、bearer token、完整 prompt、上传图片字节、mask 或 base64 payload。HaloForge 最终会写入 ~/.haloforge/logs/haloforge.log.YYYY-MM-DD。