Remote Agent
RemoteAgent 快速开始
连接一个已经由 Town 通过 HTTP 暴露,或由 Agent RPC 暴露出来的 Agent
RemoteAgent 快速开始
RemoteAgent 是远程 session 客户端。
当前它支持连接:
http://...https://...rpc://...
服务端先准备好可访问入口
方式 1:通过 Town 发布 HTTP
town agent start方式 2:服务端启动 RPC
const started = await agent.start({
rpc: {
host: "127.0.0.1",
port: 15314,
},
});客户端连接
连接 HTTP
import { RemoteAgent } from "@downcity/agent";
const agent = new RemoteAgent({
url: "http://127.0.0.1:5314/agents/repo-helper",
});
const session = await agent.createSession();
const turn = await session.prompt({
query: "总结一下当前仓库结构",
});
const result = await turn.finished;连接 RPC
import { RemoteAgent } from "@downcity/agent";
const agent = new RemoteAgent({
url: "rpc://127.0.0.1:15314",
});一个重要限制
远程 session 当前不支持:
await session.set({ model });模型应该留在服务端本地持有。
如果你是纯 SDK 模式,应该在服务端本地 Agent 或本地 session 上设置模型。
如果你是 Downcity 集成模式,模型通常来自:
downcity.json.execution.modelId- 已连接的
City AIService
适用场景
- 另一个进程已经持有本地 Agent
- 你只想通过 HTTP 或 RPC 方式消费 agent 能力
- 你想把调用方和执行方分开
如果你有前后端、本地守护进程加调用端、或者多个消费者共享同一个 agent host,这种模式会很自然。