必须先部署至少两个活跃Session才能切换;切换仅改变运行时上下文与模型绑定,不修改Agent配置;可通过UI下拉、HTTP头、Java SDK或命令行实现切换。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Agent Space的Workspace中切换Session,必须先确保当前Workspace已部署至少两个活跃Session,否则界面不会显示切换控件;Session切换不改变Agent配置,只影响运行时上下文状态和模型实例绑定。
确认Workspace中存在多个Session
进入目标Workspace → 点击左侧菜单「Sessions」→ 查看列表中是否有≥2个状态为“Active”或“Paused”的Session。若仅有一个,需先通过「+ New Session」启动第二个:点击后选择已有Agent、填写用户ID(如alice)、指定模型(如qwen-plus),系统自动生成唯一sessionId并开始加载。
【注意:Session ID必须全局唯一,重复ID会导致旧Session被强制终止】
通过UI快捷切换当前Session
在Workspace顶部导航栏右侧,找到当前显示的Session标识(形如“sess-alice-20260904-001”)→ 点击下拉箭头 → 从弹出列表中直接选择另一个Active Session → 页面自动刷新,左侧聊天区立即加载该Session的历史消息与待办清单。
这一步操作起来很简单,无需重启任何服务,但切换后原Session的临时ToolExecutionContext不会迁移——例如正在运行的pdf-search任务会保留在原Session中继续执行,新Session从零开始。
通过RuntimeContext代码强制绑定Session
方法一:前端传参指定
在调用Agent接口时,在HTTP请求头中添加 X-Session-ID: sess-bob-20260904-002,后端HarnessAgent会自动匹配对应SessionRecord并恢复其Memory快照与日志流。
方法二:Java SDK动态切换
在RuntimeContext.builder()中显式设置sessionId → 调用agent.invoke(ctx, userMessage) → 若该sessionId对应Session尚未启动,系统将按workspace/sessions/目录下的JSONL日志自动重建状态;若已存在,则直接接管运行时上下文。
方法三:终端命令行切换
执行 agentscope session switch --workspace ws-contract --session sess-legal-003 → 命令成功后,所有后续通过该终端发起的请求都将路由至目标Session,包括Plan Mode中的todo_write和plan_exit操作。


















