Skip to content

v0.10.1 — 挂载失败可见性 + 浏览器设置页复制指令修复

Choose a tag to compare

@benz-ai-x benz-ai-x released this 20 Sep 08:18
· 81 commits to main since this release

两个真机案例驱动的可见性/可操作性修复:挂载失败不再「没反应」,浏览器打开设置页的「复制 AI 助手指令」从哑巴按钮恢复为可用。

挂载失败可见性链路 + 一键修复导出

2026-09-18 真机案例:加挂载项未先「一键安装」→ 远端无导出 → mount_nfs 报错如天书,且设置窗是不刷新的快照——错误永远不出现,用户视角是「挂载没反应」。四级修复:

  • 失败分类:mount_nfs 错误码 → 中文指引 + fixable 标记(ENOENT → 「远程路径不存在或未导出——请先执行一键安装」)
  • 状态投影:MountState 新增 fixable 字段(NamedTuple 默认值,位置兼容),失败写入/成功清空
  • 装饰升级:/api/state 的 nfs_states 携带 {status, error, fixable}——error 不再在传输层丢弃
  • 设置窗闭环:状态徽标 + 错误行内红字;fixable=exports 时一键「修复导出并重挂」(自动执行远程安装 → 1 秒自动重挂);NFS 视图 5s 定向轮询只合并装饰字段、绝不碰未保存的表单(node 测试钉死不变量)

浏览器设置页「复制 AI 助手指令」修复

浏览器直开设置页(http://127.0.0.1:9528,输 token 登录)是官方支持入口,但侧栏「复制 AI 助手指令」按钮在此场景是静默空操作——此前 token 拼装移到原生侧时,只有 WKWebView 路径拿到了实现。修复:

  • 新增认证 GET /api/agent-instructions——文本与菜单栏/原生设置窗复制路径逐字节一致(agent_instructions() 单一归宿),token 经 HttpOnly 会话 cookie 携带、不进 JS
  • JS 双通道:原生设置窗走 bridge 不变;浏览器 fetch 后 Clipboard API 写剪贴板 + toast 反馈(Safari 用户手势不跨 await 存活时退 execCommand 兜底)

文档

  • agent.md API 表新增 /api/agent-instructions;CLAUDE.md / 双语 README 同步浏览器入口说明
  • 新增 AGENTS.md(指向 CLAUDE.md 的符号链接,单一真相源)

验证

pytest 1901 绿 + node 127 绿;临时实例 HTTP 冒烟(无 token 401 / 带 token 200 / 单一归宿一致性)通过;真机安装 v0.10.1 构建后三个 NFS 挂载自动恢复、新路由 401 门生效。DMG Developer ID 签名 + Apple 公证 + staple 通过。