Skip to content

feat(minimax-pet): 0.6.0 打开对话与主题跟随,移除打招呼/跳一下和原聊天草稿 - #124

Merged
MyPrototypeWhat merged 1 commit into
mainfrom
feat/minimax-pet-host-navigation
Nov 11, 2026
Merged

MyPrototypeWhat merged 1 commit into
mainfrom
feat/minimax-pet-host-navigation

Conversation

@MyPrototypeWhat

@MyPrototypeWhat MyPrototypeWhat commented Nov 11, 2026 •

Copy link
Copy Markdown
Collaborator

MiniMax Pet 0.6.0:删掉「打招呼/跳一下」和原属聊天草稿(含语音输入),不再申请麦克风权限。任务详情新增「打开对话」/「去回答」(host.navigation.open),面板和桌面卡片也跟随 MiniMax Code 的明暗主题(host.ui.subscribe)。两个 API 都只在 3.1.11 起提供,旧客户端自动隐藏,不需要新增权限,最低版本仍为 3.1.6。

页面外观有变化:右键菜单只剩四项,任务详情多一个按钮。截图是用模拟 Host 渲染的,需要时我再附上。

验证环境与结果

  • 源码:macOS,Node.js 24,npm test 237 个通过、npm run test:smoke 70/70 通过;npm run package 后 npm run check:package 确认 plugins/ 与源码逐字节一致(38 个文件)。
  • 仓库根 npm run check:plugins/minimax-ai/minimax-pet: OK,无错误,无该包的警告。
  • 用模拟 Host(注入 window.mcode.miniapp,非真实客户端)在无头 Chromium 里检查:面板与桌面卡片正常渲染,点击「去回答」/「打开对话」以 { id: 'session', sessionId, source: 'local' } 调用,且点击时 navigator.userActivation.isActive 为真;host.ui.subscribe 推送 dark 后面板切换主题;控制台无报错。
  • Host API 按 agent-archon 的 packages/ui/src/operations/miniAppHostNavigation.ts、apps/electron/main/modules/browser/miniapp-host.ts 和 docs/client.md 核对:open 不要求 hostAccess,在点击中同步发起,并会把主窗口带前台。2026-11-10 确认 3.1.11 的 macOS 与 Windows 安装包在两个正式 CDN 上均返回 200。

未验证

  • 真实 MiniMax Code 3.1.11+ 窗口中的打开对话与主题跟随(本机只有 3.1.1 与 3.1.10-preview,无法测试)。
  • 侧边面板被切走对话后的行为;Windows GUI;正式客户端安装。
  • 新增的测试用合成数据,不能证明上述路径。

npm run check 警告:无。

权限与最低版本变化:deviceAccess: ["microphone"] 删除(降级,无升级);无新增权限;最低客户端版本保持 3.1.6。

Written by Claude Opus 5.5

改了什么

  • 「打招呼」「跳一下」:右键菜单和外观页按钮均删除。悬停与拖拽松手时的跳跃动画保留,playOneShot 仍在使用。
  • 原属聊天草稿整体移除:菜单项、设置页入口、草稿子页、桌面 composer、语音输入与 message.append 调用一并删除;chat-draft.mjs、speech-input.mjs 及对应测试删除;panel-navigation.mjs 不再有 settingsView/onLeaveDraft;miniapp.json 去掉 deviceAccess。
  • 打开对话:
    • 面板在 renderDetailOpen 里管理按钮,openSelectedSession → openSessionInHost → callBridge(() => hostNavigation.open(...)),同步发起以满足 Host 的 user-activation 检查。
    • 桌面卡片由 createCompactPetView 的新参数 onOpenSession 提供同样能力,结果提示在 compact-hint 里。
    • 任务需要回答时按钮文案为「去回答」,否则为「打开对话」;没选任务、来源不可用、app.source === 'demo' 或客户端不支持时隐藏。
    • 结果处理:opened 提示成功;user_cancelled/superseded 提示未打开;错误按 { code, message } 读取(不依赖 instanceof Error),覆盖 target_unavailable、unsupported_source、not_permitted、host_unavailable、result_unknown,不自动重试。
    • 用递增 token 丢弃迟到结果;只有切换任务才重置,短暂断线只隐藏按钮,不会让进行中的打开结果丢失。
  • 主题跟随:initHostTheme 用 host.ui.subscribe 把 theme 写到 documentElement 的 data-theme;CSS 原本就有 [data-theme] 规则,因此旧客户端仍由 prefers-color-scheme 决定。订阅随 pagehide 释放,onError 只记录日志并保留当前主题。返回的 language 不使用。
  • 文档:源码与分发两端 README(中英)、DEVELOPMENT.md、PROVENANCE.md 同步;根目录两个 README 的 minimax-pet 行提到「一键打开任务对话(3.1.11 起)」。
  • 版本:0.5.11 → 0.6.0。

测试

  • sources/minimax-ai/minimax-pet:npm test 237 通过、npm run test:smoke 70/70。
  • 新增/改写的测试:打开按钮的可见性(需要回答、未选任务、不可用、demo、旧客户端)、点击时同步发起与结果文案、迟到结果丢弃、短暂断线不清空进行中的打开、七种结果/错误分支、旧 Host 不调用、主题订阅与释放;桌面卡片对应的可见性、回调时序、切换任务清空提示与异常上报。
  • 删除 dev/chat-draft.test.mjs、dev/speech-input.test.mjs(被测模块已删除)。

Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.

- 删除右键菜单和外观页的「打招呼」「跳一下」;悬停与拖拽松手的跳跃动画保留。
- 删除整个原属聊天草稿功能:菜单项、设置入口、草稿页、桌面输入框、语音转写,
  以及声明为麦克风的 deviceAccess 权限。
- 任务详情(面板与桌面卡片)新增「打开对话」/「去回答」,调用
  host.navigation.open({ id: 'session', sessionId, source: 'local' });
  点击中同步发起、不自动重试、切换任务后丢弃迟到结果,旧客户端隐藏按钮。
- 通过 host.ui.subscribe 跟随 MiniMax Code 明暗主题,旧客户端仍跟随系统设置。
- 两项新能力均先做能力检测,最低客户端版本保持 3.1.6。
- 同步更新源码测试、README(中英)、DEVELOPMENT、PROVENANCE 与根 README 表格。
@MyPrototypeWhat
MyPrototypeWhat merged commit b302c09 into main Nov 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant