Packages 包@downcity/agent

HTTP 与 RPC

通过 City 宿主的 transport Adapter 暴露 Agent。

City 统一拥有一个 HTTP transport 和一个 RPC transport。两个端口都按 agent_id 路由到同一组 Agent,并通过 workspace_id 选择 City 持有的 Workspace;Session 仍由 Agent 创建。

await city.listen({
  http: { host: "127.0.0.1", port: 5314 },
  rpc: { host: "127.0.0.1", port: 15314 },
});

await city.close(); // 只关闭 transport;Agent 仍由创建它的宿主释放

如果需要分别控制生命周期,也可以直接启动 City 的单个 transport:

const http = await city.http({ host: "127.0.0.1", port: 5314 });
const rpc = await city.rpc({ host: "127.0.0.1", port: 15314 });

HTTP 地址是 http://host:port/agents/<agent_id>/workspaces/<workspace_id>,RPC 地址是 rpc://host:port/<agent_id>/<workspace_id>。不再提供 Agent 级 transport 构造器,外部服务统一属于 City。