Skip to main content
本组示例使用 Node.js 22.18+ 或 24 LTS 与固定版本 ws@8.22.0,从文档目录运行。客户端在终端或应用服务器执行;浏览器原生 WebSocket 的认证方式不同,不能直接复制长期 API Key 到网页。

选择协议

SDK 的 HTTP SSE 使用 data: / event: 行;WebSocket 每条应用消息就是 JSON,不包含这些前缀,也不以 [DONE] 判断完成。网络分帧、UTF-8 重组、ping/pong 由 ws 处理。

环境设置

API_BASE_URL 包含 /v1 和可选部署前缀。共享模块将 HTTPS 改为 WSS、HTTP 改为 WS,再追加端点;不接受凭据、query 或 fragment 混入基础地址。Realtime 的模型由代码放入 URL query;Responses 的模型在 create 事件内。生产地址使用 HTTPS/WSS。 这是服务端 Bearer 认证示例。HTTP 101 只表示升级成功;渠道选择、会话配置或后续生成仍可能失败。不要自动跟随重定向;确认正确 API 地址后重试。协议、权限与代理设置见生产接入。

共用传输模块

examples/websocket-client.mjs 被两个示例导入。复制示例到其他项目时,同时复制此模块,并安装 ws@8.22.0。这不是可单独执行的调用脚本。

示例边界

总截止时间包含握手、配置、发送与等待两轮或一轮结果,默认 60 秒,可设 100–120000 毫秒。单条入站消息限制 1 MiB,排队最多 256 条 / 4 MiB;这些是示例的资源保护值,不是网关或供应商限额。 非法 JSON、二进制帧、error 事件、提前关闭和超时均终止示例。日志只输出固定诊断,不打印远端完整错误或密钥;必要时结合网关日志排查。示例不自动重试、重连、发送取消或执行工具。连接关闭不是上游任务已取消的保证。 HTTP(S) 代理环境变量不会自动配置 ws 的代理连接;企业代理需在应用中显式接入经过验证的 Agent。此示例直接连接指定网关地址,TLS 验证保持启用。 Read in English