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

继续阅读

  • City SDK — 构建在 City 基础设施上的 SDK
  • Payments — 账号、余额、用量和支付 API
  • Agent SDK — Agent 如何在运行时消费 City 服务