Remote Agent

Remote Session API

RemoteAgent 下 session 可用的核心方法和能力边界

Remote Session API

通过 RemoteAgent 拿到 session 后,最常用的方法有:

  • get_info()
  • prompt()
  • subscribe()
  • messages()
  • system()
  • interactions() / respond()
  • status() / set({ security })
  • stop() / compact()
  • fork()

这些 API 尽量和本地 session 的使用面保持一致,方便你在本地和远程模式之间复用同一套心智模型。

获取 session

const session = await agent.sessions.create();

如果你要继续一个已有远程会话:

const session = await agent.sessions.get("repo-analysis");

这样就可以切换到一个已知远程 session,而不是每次都从头开始。

发起一轮 prompt

const turn = await session.prompt({ query: "继续" });
await turn.finished;

订阅后续事件

const unsubscribe = session.subscribe((event) => {
  console.log(event);
});

unsubscribe();

订阅会收到 message | part | delta | turn | compact | session 六类 Mutation。用户参与请求表现为 pending Interaction Part,关联 Tool 同时进入 waiting-user;通过 session.respond(...) 提交结构化响应。

显式压缩

const compact = await session.compact();
const result = await compact.finished;

远程 Session 与本地 Session 使用相同 Handle:compact() 返回表示命令已经入队,finished 在服务端 Compact Command 真正完成后兑现。

历史消息

const messages = await session.messages();

System prompts

const system = await session.system();

状态与安全策略

const status = await session.status();

await session.set({
  security: { approval_mode: "always-allow" },
});

远程 Session 只能写入可序列化的安全配置,不能传输本地模型实例。

分叉

const next = await session.fork();