Local Agent

例子:在 Node 服务里嵌入本地 Agent

一个典型的本地 Agent 嵌入模式示例,并说明什么时候要接 City AIService

例子:在 Node 服务里嵌入本地 Agent

下面是一个很常见的模式:

  1. 你的 Node 服务进程内创建 Agent
  2. 服务启动时创建或获取 session
  3. 某个 HTTP handler 收到请求后转成 session.prompt()

这种模式适合:

  • 内部工具
  • 研发助手
  • 把某个仓库能力封装成服务

最小嵌入模式

import { Agent } from "@downcity/agent";

const agent = new Agent({
  id: "repo-helper",
  path: process.cwd(),
  model,
});

const session = await agent.createSession();

这种模式下,模型实例由你的 Node 宿主直接持有。

如果要跨进程复用

如果后面要给别的进程复用,通常有两条路:

  • agent.start({ rpc: { ... } })
  • 或通过 town agent start 由 Town 暴露 HTTP

然后另一个进程用 RemoteAgent({ url }) 连接它。

如果你是 Downcity 项目

如果你不是在做纯 SDK 嵌入,而是在跑正常的 Downcity Agent 项目,通常不应该在这里直接持有 provider 配置或模型实例。

这时更推荐:

  • City AIService 注册模型
  • 在项目里通过 execution.modelId 绑定模型

也就是说,Node 宿主嵌入 Agent 和通过 Town 连接 City AIService,是两种不同的使用路径。