Skip to content

v0.4.3 网页 MCP 助手

Latest

Choose a tag to compare

@3169657175 3169657175 released this 29 Aug 08:55

网页 MCP 助手 0.4.3 发布说明

发布日期:2026-08-29

版本身份

  • Desktop:0.4.3
  • Coding Tools MCP Runtime:0.4.17
  • MCP Schema:v7 / 9 tools
  • Schema hash:68bb2ada74d1d9c21bcc02c56defadbf019c084d2f2054e64e31945460017c94
  • Electron:43.2.0

0.4.3 不增加公开 MCP Tool,也不改变 Runtime Schema。重点是降低内置 ChatGPT 长回复/长工具链期间的页面连接中断风险,并把页面 Stream、单条消息渲染状态、浏览器网络、Tunnel 和本地 Runtime 分层处理。

本文件同时记录 0.4.3 的同版本热修;版本号保持 0.4.3,安装包已重新覆盖构建。

1. ChatGPT 浏览器壳标准化

继续使用 Electron 官方现代 WebContentsView 与持久 persist:chatgpt-session

实机探针发现原始 UA 会暴露:

Chrome/150.0.7871.129 Electron/43.2.0

0.4.3 保留真实 Chromium 版本,仅移除 Electron / 应用标记,形成内部一致的普通 Chrome UA,不随机伪造其它浏览器指纹。

同时:

  • ChatGPT 主 WebContents:backgroundThrottling=false
  • 登录弹窗:backgroundThrottling=false
  • WebContents 运行时再次显式关闭 background throttling

目标是在窗口隐藏、切后台、长 MCP 任务期间降低 Chromium 对页面定时器/流式状态的后台节流影响。

2. ChatGPT 浏览器与 Tunnel 网络路径诊断

新增标准 Electron Session 代理策略:

  • direct → 浏览器明确直连
  • manual → 使用用户填写的固定代理
  • system → Chromium 系统代理模式
  • auto → 浏览器保持系统代理语义,同时与应用为 Tunnel 选择的 route 做一致性比较

chat:status.browserNetwork 增加:

  • mode
  • browserRoute
  • tunnelRoute
  • aligned
  • source
  • updatedAt

用户主动修改代理模式/地址时才刷新 ChatGPT Session 的 proxy policy,并关闭旧连接池。不会清 Cookie、LocalStorage 或登录态。

3. ChatGPT Stream Observer

新增只读页面观察器,识别用户真实遇到的:

  • “连接已中断”
  • “正在等待完整回复”
  • 英文等价 interruption / waiting 提示

状态:

  • page-stream-interrupted
  • page-stream-recovered

chat:status.streamState 会暴露当前 stream 状态。

该功能明确不会:

  • 自动 reload 正在生成的对话
  • 自动发送消息
  • 自动重启 Runtime
  • 自动重启 Tunnel
  • 把聊天正文写入 stream 日志

这样可进一步确认“刷新后回复出现”的问题究竟是 ChatGPT 页面 response stream 中断,还是本地执行链真的失败。

4. 同版本热修:消息已经生成但“无法显示此消息”

实际使用中还发现另一类与普通 Stream interruption 不同的故障:ChatGPT 当前 conversation 显示红色占位提示“出错了,无法显示此消息”,但服务端回复实际上已经生成;手工切换到其它对话再切回来后,消息会立即正常出现。

0.4.3 同版本热修将其单独识别为 message render error,支持中英文提示:

  • 出错了,无法显示此消息
  • There was an error displaying this message
  • Unable to display this message

状态事件:

  • page-message-render-error
  • page-message-render-recovered

为了避免把正在生成中的回复、未发送草稿或真实网络故障误刷新,自动重同步必须同时满足:

  • 错误持续至少约 1.8 秒。
  • 当前 URL 仍是具体 ChatGPT conversation。
  • 页面没有 Stop / 停止生成按钮。
  • composer 没有未发送草稿。
  • 同一 conversation 45 秒内没有执行过恢复。

满足条件后只执行一次普通 webContents.reload() 重新同步当前 conversation。

明确禁止:

  • 重发用户消息。
  • 自动点击发送按钮。
  • 在回复仍生成时强制 reload。
  • 使用 reloadIgnoringCache
  • 重启 Runtime。
  • 重启 Tunnel。

这个恢复动作只处理当前 ChatGPT Web 页面展示状态,不会重新执行 MCP 命令或本地副作用操作。

5. 网络与 Renderer 诊断加强

  • ChatGPT Session webRequest.onErrorOccurred 记录网络错误元数据。
  • Renderer unresponsive/responsive 单独记录。
  • 日志仅记录 host、resourceType、error、route 等元数据。
  • 不记录 ChatGPT conversation 完整 URL,不记录聊天正文。

6. 同版本热修:本地记忆卡片横向溢出

用户真实数据中出现长标题、长元信息和长正文后,Memory 列表卡片会被文本横向撑破,产生页面级横向滚动。

本次热修补齐 Manager V2 的宽度和断行约束:

  • Memory 列表/库容器限制 max-width:100% 并隐藏异常横向 overflow。
  • Memory card / card head 统一 min-width:0max-width:100%
  • 标题、元信息支持 overflow-wrap:anywhereword-break:break-word
  • 正文使用 white-space:pre-wrap 保留换行。
  • 正文只允许纵向滚动,不允许长字符串把整个页面横向撑开。
  • 长中文、长英文、Windows 路径和无空格 token 都有专项回归测试。

原有记忆创建区布局仍保留:

  • 正文区紧凑高度。
  • “置顶”和“加入候选”位于统一 action row。
  • 右侧无候选时保持内容高度。
  • 小屏自动堆叠。