SuperAPI AI 工具集

iii

写作与研究

查看项目

更新于 10-15 22:17

技能介绍

用途:iii 是一个语言无关的运行时,把服务、智能体和工具统一抽象为 worker、trigger、function 三种原语。一个引擎进程(默认端口 49134)维护实时注册表,记录所有已连接 worker、其暴露的函数以及绑定到它们的触发器。

主要能力:worker 是独立操作系统进程,通过 WebSocket 连接引擎并注册函数(id 形如 service::name)与触发器。worker 之间没有直接流量,所有调用都经引擎路由,因此调用方无需感知 worker 的语言、运行时和物理位置。函数 id 是任意两个 worker 之间唯一的契约。

使用方式:用 SDK 注册 worker 与函数,例如 import { registerWorker } from 'iii-sdk',再调用 iii.registerFunction('demo::add', handler);握手完成后即可通过 iii.trigger({ function_id, payload }) 调用。调用有三种模式:默认阻塞返回结果、TriggerAction.Void() 单向通知、TriggerAction.Enqueue({ queue }) 入队并支持重试。需要能力时按顺序发现:先查 engine::functions::list 等已注册函数,再查 directory::registry::workers::list 公共注册表,最后才自行编写 worker。项目 worker 由 worker-compose.yaml 管理,可用 iii trigger -n <namespace> compose::add worker=<worker> 等命令操作。

适用场景:跨语言服务编排、事件驱动集成、自定义触发器类型(如文件变更、webhook)以及通过注册表复用已有 worker。

限制:registerFunction 的 schema 目前仅作元数据,引擎不校验载荷;registerTrigger 在类型提供方未连接或配置错误时仍会成功但不会触发;iii worker 与 worker::* 已移除,应改用 engine::workers::list 和 compose::status;项目 worker 不应放入 config.yaml。其余细节暂未提供。