API Reference

Agent 类

本地 Agent SDK 的核心公开接口

Agent 类

本地 Agent 的核心公开使用面包括:

  • new Agent(options)
  • agent.start(options?)
  • agent.stop()
  • agent.createSession(input?)
  • agent.getSession(sessionId)
  • agent.listSessions(input?)
  • agent.setInstruction(input)
  • agent.getConfig()
  • agent.getLogger()
  • agent.plugins

agent.createSession()agent.getSession() 返回 AgentSession

agent.getConfig()agent.getLogger() 是更窄的高级集成辅助入口。宿主如果需要更底层的装配能力,还可以使用 agent.getRuntime()agent.getContext()agent.getSessionCollection()

构造参数

  • id
  • path
  • model
  • env
  • tools
  • instruction
  • plugins
  • Session

当前没有 mode 这个构造参数。

核心语义

  • Agent 本身是本地执行壳
  • 真正的执行对象是它创建出来的 session

从 API 设计上看,它更像一个“session 工厂 + 长期运行能力入口”。

start()stop()

agent.start() 负责启动当前 agent 的长期运行能力。

当前真实语义包括:

  • 启动 plugin lifecycle
  • 可选启动本机 RPC 服务

推荐写法:

await agent.start({
  rpc: {
    host: "127.0.0.1",
    port: 15314,
  },
});

如果你不调用 agent.start()

  • 仍然可以直接 await agent.createSession() 然后 session.prompt()
  • 但不会启动后台 plugin lifecycle
  • 也不会启动 RPC

agent.stop() 则负责关闭当前 agent 已启动的长期运行能力。

HTTP 和 Agent 的关系

如果你需要 HTTP 服务端点,不是通过:

agent.start({ http: { ... } })

而是通过 Town 发布 Agent HTTP 网关:

town agent start

agent.plugins

agent.plugins 是本地 SDK 里很重要的公开面。

你可以直接用它做:

  • agent.plugins.list()
  • agent.plugins.availability(pluginName)
  • agent.plugins.runAction({ plugin, action, payload })
  • agent.plugins.pipeline(pointName, value)
  • agent.plugins.guard(pointName, value)
  • agent.plugins.effect(pointName, value)
  • agent.plugins.resolve(pointName, value)