City SDK

用 City SDK 创建、部署并调用 City:把 Agent 实例托管进本地运行环境,再通过稳定的 Service 边界把能力开放给多个产品客户端。

查看 City SDK 文档

Federation 是服务端运行时;Embassy 是 user 与 admin 的统一客户端入口。

本地 Agent 宿主

City 在内存中持有 Agent 实例,并拥有两个 HTTP/RPC 传输端口,按 agent_id 把请求转发给对应的 Agent。

稳定的产品侧边界

对内把能力组织成 Service、Action 与 AIService,对外只暴露 text()、stream()、image() 这类服务调用,而不是原始厂商 API。

一座 City 服务多个产品

一个 Federation 可以同时服务 Web、扩展、桌面端与内部工具,让每个产品不必重建同一套 AI 后端。

典型场景

  • 托管 Agent:调用 city.agents.add(agent) 把已有 Agent 纳入 City,统一通过 HTTP/RPC 转发。
  • 产品客户端接入:通过 Embassy User 与 user_token(内含 bureau_id)调用 City 中的服务。
  • 边界清晰:模型目录、身份、用量与计费属于 Federation 与 Embassy,City 只负责宿主与请求转发。

事实对齐

  • 核心包名:@downcity/city
  • 核心源码目录:packages/city/
  • 客户端入口:City / Embassy User