Effortlessly compose, extend, and observe every service in real-time for the first time ever.
iii

iii 是什么? · 快速开始 · 添加 Worker · SDK · Agent 技能 · 控制台 · 资源
什么是 iii?
iii 可以让你以极简方式,实时编排、扩展并观测技术栈中的每一个服务。
每个后端在编写第一行业务逻辑之前,都需要从一个项目开始。队列、cron、HTTP、状态、可观测性、智能体与沙箱,往往都有各自独立的集成方案。iii 会将这一切收敛为一个实时系统界面。
iii compose --namespace dev --up
iii trigger -n dev compose::add worker=queue
iii trigger -n dev compose::add worker=agent
iii trigger -n dev compose::add worker=<anything>
每个 Worker 加入实时目录。其余 Worker 都会收到通知,并能立即调用它。 在 workers.iii.dev 浏览可用 Worker。
这也是 Agent 的故事:当任务需要系统尚不具备的能力时,Agent 可以添加一个 Worker,发现其 Function,调用它们,并追踪过程中发生了什么。开发者使用的是同一套接口。
三大原语
Worker _ Function _ Trigger 就是完整的思维模型。
Worker 是向 iii 引擎注册,随后注册 Trigger 和 Function 的进程。TypeScript API 服务是 Worker。Python 数据管道是 Worker。Rust 微服务也是 Worker。任何功能都可以通过几行代码转化为 Worker。Compose 也可以在运行时添加 Worker,因此 Agent 和应用可以在系统运行时扩展系统。
Trigger 是任何触发 Function 执行的条件。Trigger 可以是对 Function 的直接调用、一个 HTTP 端点、一个 cron 计划、一个队列订阅、一次状态变化、一个流事件,或其他任何事物。Trigger 是声明式的:Worker 定义“当某事发生时,运行这个 Function”,而 iii 负责路由、序列化和投递。
Function 是具有稳定标识符的工作单元(例如:content::classify、orders::validate)。它接收输入,执行工作,并可选择返回输出。Function 存在于 Worker 中。
通过将服务能够执行的一切映射到这三个原语,iii 带来一种轻松组合、完全可观测的开发流程。
变化之处
在 iii 之前:
- 新的可观测性工具:难以计数的集成
- 新的 Agent 框架:独立的重试配置、独立的追踪、独立的超时设置
- 新的队列:供应商评估、采购以及数周的集成
在 iii 之后:
- 在
worker-compose.yaml中声明 Worker - 使用
iii compose --up运行它们 - 完成。它已进入系统,可追踪、可调用。
平台团队发布 Worker。应用团队注册 Function 并声明 Trigger。Agent 使用同一目录和相同的 Function 调用。
扩展 iii 就是添加 Compose Worker。组合 iii 就是调用 Function。观测 iii 就是打开 Trace。
快速开始
安装 iii:
curl -fsSL https://install.iii.dev/iii/main/install.sh | sh
然后生成项目脚手架并启动项目:
iii project init myapp # scaffold a project
cd myapp
# declare project workers in worker-compose.yaml
iii compose --up # start the engine and project workers
完整流程详见快速入门指南。
添加 Workers
在 worker-compose.yaml 中声明项目 Workers,或通过正在运行的 Compose daemon 添加:
iii trigger -n dev compose::add worker=queue
在 workers.iii.dev 上浏览包,并查看 Compose 文档。
SDKs
| 语言 | 包 | 安装 |
|---|---|---|
| Node.js | iii-sdk |
pnpm add iii-sdk 或 npm install iii-sdk |
| Python | iii-sdk |
pip install iii-sdk |
| Rust | iii-sdk |
添加到 Cargo.toml |
| Go | iii-sdk |
go get github.com/iii-hq/iii/sdk/packages/go/iii |
智能体技能
安装 iii 提供的、供智能体阅读的引擎原语参考资料:
npx skills add iii-hq/iii/skills
这些涵盖了 iii 的全部原语:HTTP 端点、队列、cron、状态、流、自定义触发器, 以及更多内容。完整列表参见 skills/。
iii-hq/workers 中的每个 worker 都自带一个 skill。请将其与 worker 本体一同安装:
npx skills add iii-hq/workers --list # list available worker skills
npx skills add iii-hq/workers --skill database # one worker
npx skills add iii-hq/workers --all # every worker skill
由引擎托管的工作器(configuration、iii-worker-manager、iii-http-functions、
iii-stream 和 iii-sandbox)以及自动提供的引擎函数、遥测和可观测性工作器均位于本仓库。HTTP、cron、queue、state、pubsub 和 bridge 属于独立的
Compose 工作器。请通过
npx skills add iii-hq/iii --full-depth --skill <name> 安装引擎技能;独立工作器会在
iii-hq/workers 中提供各自的技能。
控制台
iii-console 是用于检查工作器、函数、 触发器、队列、链路、日志和实时状态的开发者与运维控制台。请参阅 控制台文档 了解配置和使用方法。
仓库结构
| 目录 | 说明 | README |
|---|---|---|
engine/ |
iii 引擎(Rust) - 核心运行时、模块和协议 | engine/README.md |
sdk/ |
Node.js、Python、Rust 和 Go 的 SDK | sdk/README.md |
console/ |
开发者控制台(React + Rust) | console/README.md |
skills/ |
供 Agent 阅读的参考资料 | skills/README.md |
website/ |
iii 网站 | website/ |
docs/ |
文档站点(Mintlify/MDX) | docs/README.md |
请参阅 STRUCTURE.md 了解完整的 monorepo 布局、依赖链和 CI/CD 详情。
示例
请参阅 快速入门指南 获取分步教程。
资源
Star History
License
iii 的许可方式如下:
| 目录 | License |
|---|---|
engine/ |
Elastic License 2.0 |
sdk/ |
Apache License 2.0 |
console/ |
Apache License 2.0 |
docs/ |
Apache License 2.0 |
website/ |
Apache License 2.0 |
引擎运行时采用 Elastic License 2.0(ELv2)许可。所有 SDK、CLI、控制台、文档及网站均采用 Apache License 2.0 许可。
请参阅 CONTRIBUTING.md 了解更多详情。
Introduction
基于事件的编排框架,用于代理和智能自动化【此简介由AI生成】