API Reference

RemoteAgent 类

远程 Agent 客户端的核心公开接口

RemoteAgent 类

RemoteAgent 的核心公开使用面包括:

  • new RemoteAgent({ url })
  • agent.sessions
  • agent.runPluginAction(input)

agent.sessions.create()agent.sessions.get() 返回 RemoteAgentSession

Sessions

agent.sessions 返回一个 AgentSessions,包含以下方法:

  • agent.sessions.create(input?)
  • agent.sessions.get(sessionId)
  • agent.sessions.list(input?)
  • agent.sessions.archive({ id })
  • agent.sessions.archived(input?)
  • agent.sessions.clean_archive()

runPluginAction

当你的客户端 UI 需要调用远程 runtime 上的 plugin action 时,使用 runPluginAction()

await agent.runPluginAction({
  plugin: "example",
  action: "refresh",
  payload: {
    scope: "current-session",
  },
});

Shell 审批属于具体远程 Session,不属于 RemoteAgent 顶层。可以查询后处理:

const approvals = await session.approvals();
await session.resolve_approval({
  approval_id: approvals[0].approval_id,
  decision: "approved",
});

也可以在统一 Mutation 流里处理 approval-required Tool Part:

session.subscribe((mutation) => {
  if (
    mutation.variant === "part" &&
    mutation.type === "tool" &&
    mutation.part.state === "approval-required" &&
    mutation.part.approval
  ) {
    show_approval_request(mutation.part.approval);
  }
});

url

当前构造参数是:

new RemoteAgent({
  url: "http://127.0.0.1:5314",
});

而不是 baseUrl

url 当前支持:

  • http://...
  • https://...
  • rpc://...

核心语义

它本身不执行任务,只负责连接远程 session 能力。

如果你把本地 Agent 看成服务端执行壳,那 RemoteAgent 就是与之配对的客户端。

一个重要限制

远程 Session 不提供模型配置方法;模型选择和实例注入由服务端宿主负责。

也就是说:

await session.set({ model });

当前不支持。

模型应该由服务端本地 Agent 或服务端本地 session 持有。