SuperAPI AI 工具集

iii-reactive-backend

智能体与模型

查看项目

更新于 10-15 22:17

技能介绍

用途:在 iii 引擎上构建响应式实时后端,适合状态变化需要自动触发副作用、并向已连接客户端推送实时更新的事件驱动应用。资料将其类比为 Convex、Firebase、Supabase、Appwrite。

主要能力:以 state 作为“数据库”,通过 state::set、state::get、state::update、state::delete、state::list 完成 CRUD;state 触发器在某个 scope 内任意值变化时自动触发;副作用(通知、指标、流推送)以响应式而非命令式方式接线;stream 向客户端提供实时更新。

使用方式:用 registerWorker 初始化 worker 并连接 iii;用 registerFunction 注册 CRUD 处理器与响应式副作用;用 trigger({ function_id: 'state::...', payload }) 访问数据层;用 registerTrigger({ type: 'state', config: { scope } }) 响应 scope 内变化;用 trigger({ ..., action: TriggerAction.Void() }) 做即发即忘的流推送;用 registerTrigger({ type: 'http' }) 暴露 REST 端点。响应式处理器可解构事件参数:async (event) => { const { new_value, old_value, key } = event }。流客户端通过 ws://host:port/stream/{stream_name}/{group_id} 连接。

适用场景:实时待办类应用等需要 CRUD 端点、变更自动广播与响应式聚合指标的场合。同一 scope 可被多个函数独立响应。

限制:state 触发器对 scope 内任意变化都会触发,需借助事件参数判断具体变化;响应式函数应保持快速,重活可交给队列;若重点是注册外部或遗留 HTTP 端点,应改用 iii-http-invoked-functions;不得作为无关任务的通用兜底,也不应在更具体的 iii 技能更合适时使用;应用示例前需先确认环境与安全约束。完整可运行示例见 ../references/reactive-backend.js。