City
City
City 是什么,以及如何为 Agent 提供共享 AI 基础设施
City
City 是 Downcity 的本地 Agent 宿主容器。它在内存中持有多个 Agent,并把 HTTP/RPC 请求转发到指定 Agent。
City 负责什么
- Agent 集合 —
city.agents.add(agent)接纳已创建的 Agent,city.agents.get(agent_id)按 ID 读取,city.agents.list()列出全部实例。 - HTTP/RPC 转发 — City 统一提供两个端口,通过
agent_id把请求转发到对应 Agent。 - 宿主生命周期 — CLI/Desktop 负责创建和释放 City、Agent、Workspace 与平台资源;City 负责自己的 Server 生命周期。
City 不负责什么
- 模型目录、身份认证、用量和计费,这些属于 Federation/Embassy。
- Agent 配置的数据库适配和 Workspace 创建,这些属于宿主的组合根。
- Plugin 的具体存储实现,这些属于对应 Plugin Provider/Adapter。
这些属于 Agent 运行时。
Agent 如何连接 City
当你运行 city on 时,CLI 从全局 DB 读取配置,显式创建全部 Agent,再注册到一个 City,最后启动 City 的 HTTP/RPC Server。
当你直接使用 SDK 时,可以直接创建 Agent;需要统一 HTTP/RPC 转发时,再把 Agent 注册到 City。