iii-browser-sdk
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseBrowser SDK
浏览器SDK
The browser-optimized SDK for connecting web applications to the iii engine.
专为Web应用连接iii引擎优化的浏览器端SDK。
Documentation
文档
Full API reference: https://iii.dev/docs/api-reference/sdk-browser
Install
安装
npm install iii-browser-sdknpm install iii-browser-sdkKey Exports
核心导出项
| Export | Purpose |
|---|---|
| Connect to the engine via WebSocket |
| Register a browser-side function handler |
| Bind a trigger to a function |
| Invoke a function |
| Fire-and-forget invocation mode |
| Durable async invocation mode |
| Custom trigger type registration |
| Binary streaming between workers |
| 导出项 | 用途 |
|---|---|
| 通过WebSocket连接到引擎 |
| 注册浏览器端函数处理程序 |
| 将触发器绑定到函数 |
| 调用函数 |
| 即发即弃调用模式 |
| 持久化异步调用模式 |
| 自定义触发器类型注册 |
| Worker之间的二进制流传输 |
Key Differences from Node SDK
与Node SDK的核心差异
- No custom WebSocket headers — uses query parameters for auth tokens
- No export — use browser console or your own logging
Logger - No worker metadata telemetry reporting
- Connects directly via or
ws://URL (nowss://URL options)registerWorker - Same function/trigger/channel API surface as the Node SDK
- 无自定义WebSocket请求头 — 使用查询参数传递认证令牌
- 无导出项 — 使用浏览器控制台或自定义日志工具
Logger - 无Worker元数据遥测报告
- 直接通过或
ws://URL连接(无wss://URL选项)registerWorker - 函数/触发器/通道API接口与Node SDK一致
Quick Start
快速开始
typescript
import { registerWorker, TriggerAction } from 'iii-browser-sdk'
const iii = registerWorker('ws://localhost:49135')
iii.registerFunction('ui::greet', async (data) => {
return { message: `Hello, ${data.name}!` }
})
const result = await iii.trigger({
function_id: 'backend::get-user',
payload: { userId: '123' },
})
await iii.trigger({
function_id: 'analytics::track',
payload: { event: 'page_view' },
action: TriggerAction.Void(),
})typescript
import { registerWorker, TriggerAction } from 'iii-browser-sdk'
const iii = registerWorker('ws://localhost:49135')
iii.registerFunction('ui::greet', async (data) => {
return { message: `Hello, ${data.name}!` }
})
const result = await iii.trigger({
function_id: 'backend::get-user',
payload: { userId: '123' },
})
await iii.trigger({
function_id: 'analytics::track',
payload: { event: 'page_view' },
action: TriggerAction.Void(),
})Common Patterns
常见模式
Code using this pattern commonly includes, when relevant:
- — connect from browser
registerWorker('ws://host:49135') - — connect with TLS in production
registerWorker('wss://host:49135') - — register browser-side handler
iii.registerFunction(id, handler) - — call server-side functions
iii.trigger({ function_id, payload }) - — fire-and-forget from browser
iii.trigger({ ..., action: TriggerAction.Void() }) - Stream connections at for real-time updates
ws://host:3112/stream/{name}/{group}
相关场景下,使用该模式的代码通常包含:
- — 从浏览器连接到引擎
registerWorker('ws://host:49135') - — 生产环境下通过TLS连接
registerWorker('wss://host:49135') - — 注册浏览器端处理程序
iii.registerFunction(id, handler) - — 调用服务端函数
iii.trigger({ function_id, payload }) - — 浏览器端即发即弃调用
iii.trigger({ ..., action: TriggerAction.Void() }) - 通过建立流连接以获取实时更新
ws://host:3112/stream/{name}/{group}
Pattern Boundaries
模式适用边界
- For server-side Node.js workers, prefer .
iii-node-sdk - For real-time stream consumption patterns, see .
iii-realtime-streams - For Python or Rust workers, see or
iii-python-sdk.iii-rust-sdk - Stay with when the client is a web browser.
iii-browser-sdk
- 服务端Node.js Worker请使用。
iii-node-sdk - 实时流消费模式请参考。
iii-realtime-streams - Python或Rust Worker请使用或
iii-python-sdk。iii-rust-sdk - 客户端为Web浏览器时,请使用。
iii-browser-sdk
When to Use
使用场景
- Use this skill when the task is primarily about in the iii engine.
iii-browser-sdk - Triggers when the request directly asks for this pattern or an equivalent implementation.
- 当任务主要涉及iii引擎中的时,使用该技能。
iii-browser-sdk - 当请求直接要求该模式或等效实现时触发。
Boundaries
边界限制
- Never use this skill as a generic fallback for unrelated tasks.
- You must not apply this skill when a more specific iii skill is a better fit.
- Always verify environment and safety constraints before applying examples from this skill.
- 切勿将该技能作为无关任务的通用回退方案。
- 当有更特定的iii技能更合适时,不得使用该技能。
- 在应用该技能中的示例前,务必验证环境和安全约束。