Remote Session API

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

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

  • get_info()
  • prompt()
  • subscribe()
  • messages()
  • system()
  • interactions() / respond()
  • status() / set({ security })
  • stop()
  • 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 | file_diff | session | warning 七类 Mutation。用户参与请求表现为所属 Tool Part 上的 pending Interaction,该 Tool 同时进入 waiting-user;模型调用失败会产生 warning / model_request。通过 session.respond(...) 提交结构化响应。

历史消息

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();