### Product or interface Desktop app ### Use case and problem 我在写一个 Mini App(只读地查看一段会话的模型轨迹:消息流、思考过程、工具调用与结果、token 与耗时),希望在用户从某段对话里打开它时,直接展示那一段对话的轨迹。 但 Mini App 无法知道自己这一页对应哪段会话——它两端都不携带会话标识: - Node 侧传给 `start(context)` 的上下文里没有 sessionId - Client 侧暴露的 `window.mcode` 只有 `miniapp.message.append` 一个方法 - 页面 URL 不带任何参数 后果是所有「关于当前会话」的 Mini App 都只能猜。要么按文件修改时间挑最近一段(在你打开空闲会话时,会展示成上一段对话的内容),要么去读内部运行时数据库的活跃 turn 租约(同时跑两段对话时,必须让用户手选)。两者都会把猜测当成事实呈现。 这不只是我一个人的需求:轨迹查看、token 看板、成本统计、会话质量复盘,凡是「关于当前会话」的插件都会撞上同一堵墙。 ### Desired behavior 希望 Mini App 能拿到一个明确的、只读的「当前会话」标识。两种形式任选其一,都可接受: **方案 A — Node 侧** 在 `start(context)` 的入参里增加一个只读字段,例如 `context.sessionId`,没有可用会话时为 `null`。 **方案 B — Client 侧** 在 `window.mcode.miniapp` 下暴露只读 getter: window.mcode.miniapp.currentSession // { sessionId, agentName } | null 验收标准: 1. 在某段会话中打开 Mini App,插件读到的值等于该会话的 id(形如 `mvs_...`)。 2. 从不由会话触发的地方打开(例如从设置面板),读到的是 `null`,而不是随便一个值—— 插件需要能区分「未绑定」和「绑定到空」。 3. 该值只读,插件不能写入;赋值必须失败或被忽略。 4. 不新增任何必须由插件方自行填写的必填参数,第三方 Mini App 保持向后兼容。 交互示例: 用户在会话 A 中从 @ 菜单打开「会话轨迹」→ 插件直接读到 sessionId=A → 立即展示 A 的轨迹, 无需询问、无需弹窗、不显示任何「正在猜测」的降级提示。 同一用户在会话 B 中再次打开 → 读到 sessionId=B → 展示 B。 ### Platform Windows ### Alternatives and additional context _No response_
Activity
MyPrototypeWhat commentedon Oct 10, 2026
后续迭代会支持 miniapp 感知当前 session 的 agent 事件