面向长时间运行智能体的 Docker-first 协调

Suzumio

Suzumio 用非抢占式 mailbox 调度、隔离的 Docker turn、可审计工具、artifact 跟踪、SQLite 状态、CLI、HTTP API 和轻量 WebUI 来协调多智能体项目。

用途

Suzumio 适合需要让智能体长时间专注工作的项目,例如形式化、代码工作、研究流程、评审流水线和 benchmark 实验。运行时把进展记录为持久的 turn、message、artifact 和 audit log。

Suzumio 将项目协调与智能体执行分离。核心运行时拥有项目状态和调度逻辑;Docker runner 只执行一个智能体 turn,按需调用 Suzumio ToolHost,写回结果,然后退出。

非抢占式调度

正在运行的智能体不会被追加 prompt、催促或打断。新的 inbound message 留在 mailbox 中,等待当前 turn 完成。

持久项目状态

项目在 SQLite 中保存配置、智能体、消息、消息读取记录、turn、事件、工具调用和 artifact。

Docker-first 执行

每个 turn 在容器中运行,包含 turn input、output、agent workspace 和 ToolHost 访问能力。

可审计工具

每个工具调用都根据智能体 allowlist 检查,并在执行前后记录。

今天可以做什么

任务入口结果
运行本地 smoke test快速开始一个 Docker-backed mock turn,验证调度、存储和 runner wiring。
定义项目配置带 whole-field import、profile 组合、agent、tool 和 backend 的 YAML 配置。
从终端运维CLI 参考init、serve、start、send、inspect、approve、stop 等命令。
集成其他系统HTTP API项目对象、用户动作、事件流和 ToolHost 调用。
理解运行时边界架构核心运行时、Docker backend、runner、ToolHost 和 SQLite 的职责边界。

核心工作流

1. 渲染并验证项目配置。
2. 在 SUZUMIO_ROOT 下初始化项目。
3. 启动 HTTP server 和 scheduler loop。
4. 向一个智能体发送用户消息。
5. Scheduler 为该智能体启动一个 Docker turn。
6. Runner 执行 turn,并在需要时调用 ToolHost。
7. Suzumio 记录消息、工具调用、事件、artifact 和 turn output。
8. 空闲智能体保持安静,直到收到新的 inbound message。

项目目录

$SUZUMIO_ROOT/demo/
  suzumio.sqlite      持久项目数据库
  source.yaml         原始项目配置
  resolved.yaml       完整解析后的配置
  agents/             每个智能体的 workspace
  artifacts/          已发布文件
  turns/              turn input/output 目录
  logs/               预留运行日志目录

公共文档范围

本站面向使用者说明 runtime contract、工作流、配置、CLI、API 和运维行为。示例使用占位 provider endpoint 和 key,不包含私有部署细节。