JavaScript SDK
@telepat/otto-sdk 是将 Otto 集成到第三方应用中的官方 TypeScript/JavaScript SDK。它将中继 WebSocket 和 HTTP API 封装成干净、类型安全的客户端,可在 Node.js 22+、Cloudflare Workers、Deno 以及任何其他具有原生 fetch 和 WebSocket 的运行时中使用。
npm install @telepat/otto-sdk
可以用 SDK 做什么
| 能力 | SDK 接口 |
|---|---|
| 列出连接到中继的节点 | client.nodes.list() |
| 列出节点上的可用命令 | client.commands.list({ nodeId }) |
| 执行命令并获取结果 | client.commands.run({ nodeId, site, command, input }) |
| 流式传输实时监听器更新 | client.listeners.subscribe({ nodeId, listener }) |
| 列出待处理的配对挑战 | client.pairing.listPending() |
| 批准配对码 | client.pairing.approve({ code }) |
在 Otto 架构中的位置
SDK 作为控制器运行 — 与 @telepat/otto CLI 相同的角色。命令从你的应用通过 SDK 流向中继,然后到达浏览器节点:
你的应用 → @telepat/otto-sdk → 中继 → 浏览器节点(扩展)
SDK 处理:
- 凭据交换(clientId + clientSecret → JWT 访问令牌)
- WebSocket 生命周期(连接、认证握手、心跳、重连)
- 通过
requestId进行请求/响应关联 - 通过
AsyncIterable和EventEmitter进行类型化流式传输
开始之前
你需要一个正在运行的中继和一个已注册的控制器客户端。最快的方式:
# 启动中继
otto start
# 注册控制器客户端并记下 clientId + clientSecret
otto client register --name "My App"
完整安装流程见快速开始。
本节目录
| 页面 | 内容 |
|---|---|
| 快速开始 | 注册、安装、连接和你的第一个命令 |
| API 参考 | OttoClient、子客户端、StreamSession 和错误类型的完整 API |
| 示例 | 真实场景模式:边缘运行时、重试、CI、流式传输 |