Skip to main content
@beeos-ai/sdk package 是公开 BeeOS OpenAPI 契约的规范 TypeScript 客户端,契约由 openapi-gateway 在 openapi.beeos.ai 提供服务。它从同一份 backend/openapi/beeos-platform-v1.yaml 生成 —— 本站 API Reference tab 看到啥,SDK 里就是啥。
SDK 只针对 Platform API。A2A 协议 (a2a.beeos.ai)和 MCP 协议 (mcp.beeos.ai)是独立主机、独立鉴权 —— 不被本 package 包装。 对那些主机用 HTTPS 直连即可。

安装

当前发布版本:0.8.0(wire delta 见 SDK 变更日志)。

稳定任务 facade(推荐)

BeeOSClient 是覆盖常用 Agent 任务生命周期的手工维护 facade; OpenAPI 生成代码重新生成时,它的调用方式保持稳定。
new BeeOSClient() 会自动读取 BEEOS_API_KEY,并默认连接 https://openapi.beeos.ai。如需切换环境,可设置 BEEOS_API_URL;也可以显式传入 { apiKey, baseUrl } 覆盖默认值。 client.taskEvents(agentId, taskId) 是任务 SSE 流的 async generator。 完整生成 API 仍从 package root 导出,facade 也可从 @beeos-ai/sdk/facade 显式导入。

完整生成客户端

生成代码遵循 OpenAPI Generator typescript-fetch 模板:一个 Configuration 值 + 每个 OpenAPI tag 一个 class。
本地开发把 basePath 设成 http://localhost:8095( Procfile.staging 里 openapi-gw 的默认端口)。

Catalog

实例生命周期

listInstances 支持分页 + 状态过滤:

智能体

Invoke(阻塞)

旗舰级 per-agent 操作。完整契约见 调用智能体。

带 idempotency + 附件的 Invoke(0.4.0)

idempotency_key 让调用在 TTL 窗口内可安全重试(契约见 ADR 0021)。 同 key 重复 → 相同响应、不会双重 invoke。

流式 Invoke(SSE)

SDK 不抽象 SSE —— 退回到 fetch + Accept: text/event-stream。 frame 形状见 流式:

任务(异步 invocation)

需要服务端推送通知时,注册带 HMAC 签名的 webhook:
Webhook payload 用 HMAC-SHA256 签名;投递日志可通过 listWebhookDeliveries 查询、通过 redeliverWebhook 重放(0.4.0 新端点 —— 见 Webhooks)。

会话

与任务对比:任务一次性、有终止态;会话开着直到你删它。 见 会话。

文件

把得到的 file_id 放进 invokeAgent 或 createTask 的 attachments[].file_id。

错误处理

非 2xx 响应抛 Response(底层 fetch Response)。 检查 .status 和 .json() 拿 BeeOS error 信封 ({ success: false, error: { code, message } }):
完整 code 列表见 错误参考。

TypeScript 类型

每个请求和响应都全类型化:

源码与生成

SDK 用 OpenAPI Generator (sdks/openapi-sdk/generate.sh) 从 backend/openapi/beeos-platform-v1.yaml 自动生成。wire 级变更归档在 SDK 变更日志、 迁移配方见 SDK 迁移。