场景
用户通过微信/飞书等通讯工具远程连接"助理会话"时,助理会话所在工作区与用户自建的工作区往往不是同一个(例如助理会话在 personal_assistant/workspace,而日常工作在另一个自建工作区)。此时希望远程直接查看和控制其他工作区的会话。
当前问题
- SessionControl list 无法列出其他工作区的会话,且其 workspace 参数实际未生效:
实测调用 SessionControl(action="list", workspace="<另一个工作区绝对路径>"),返回结果仍是"当前会话所在工作区"的会话列表,传入的 workspace 参数被忽略(工具文档描述该参数为 list 的必填项,行为与文档不符)。
- 会话枚举只能绕道文件系统:跨工作区的会话注册表实际存在于
.bitfun/projects/<路径编码>/sessions/index.json,解析后可见全部会话及丰富元数据(sessionName / agentType / modelName / turnCount / status / workspacePath / lastActiveAt 等),信息量反而比 SessionControl list 更全。
- 读会话内容已可跨工作区:SessionHistory 传入 session_id 即可导出其他工作区会话的 transcript(导出 → 读 index 行 → 按 range 跳读),不受工作区限制。
即:写路径不通、读路径已通,跨工作区管理链路是断裂的。
建议
- 让
SessionControl list 的 workspace 参数真正生效(列出指定工作区的会话);
- 或提供一个统一的 session 枚举工具(不传 workspace 时列出全部工作区的会话,或按工作区分组展示);
- 在此基础上支持跨工作区发指令/管理会话(如 SessionMessage 向其他工作区的会话投递消息),使"一个助理会话远程管理全部会话"的体验成立。
环境
- BitFun 客户端(HarmonyOS aarch64 容器)
- openclaw gateway 2026.9.4
- 涉及工具:SessionControl / SessionMessage / SessionHistory
场景
用户通过微信/飞书等通讯工具远程连接"助理会话"时,助理会话所在工作区与用户自建的工作区往往不是同一个(例如助理会话在 personal_assistant/workspace,而日常工作在另一个自建工作区)。此时希望远程直接查看和控制其他工作区的会话。
当前问题
实测调用
SessionControl(action="list", workspace="<另一个工作区绝对路径>"),返回结果仍是"当前会话所在工作区"的会话列表,传入的 workspace 参数被忽略(工具文档描述该参数为 list 的必填项,行为与文档不符)。.bitfun/projects/<路径编码>/sessions/index.json,解析后可见全部会话及丰富元数据(sessionName / agentType / modelName / turnCount / status / workspacePath / lastActiveAt 等),信息量反而比 SessionControl list 更全。即:写路径不通、读路径已通,跨工作区管理链路是断裂的。
建议
SessionControl list的workspace参数真正生效(列出指定工作区的会话);环境