Check cached embedded servers before reuse, isolate concurrent cancellation, and serialize request MCP registration and cleanup. Preserve native controls across session switches and recover usable partial inventories. Share the bundled offline OpenCode configuration with desktop and Agent launch paths, including model bridge environment forwarding. Validation: focused tests and typecheck passed; lint passed before the final fixes. The full test run exceeded 120 seconds and reported a DS stdio MCP failure. Current-source Agent host and real suspend/resume validation remain pending. Release note: 修复切换会话后 OpenCode 原生控件消失及并发取消相互影响的问题,并完善内嵌服务复用检查和桌面、Agent 的离线依赖配置。
3.4 KiB
3.4 KiB
工作栏实现与验证进度
2026-09-08 OpenCode 复用与原生控件恢复
OpenCodeRuntime复用缓存的 embedded server 前执行有超时的健康检查;健康则保留 client,检查失败、抛错或超时则清除 client、会话映射、会话初始化及待答问题,关闭旧 server 后重建。并发调用共享检查与重建,调用方取消只结束自身等待。- 请求级 MCP 注册与断开通过实例内
mutateMcp队列串行执行。仅实际发出mcp.add的名称进入清理列表;注册尚在排队时取消不追加断开。断开的 1 秒超时从出队后开始。 App按本机/远程、连接方式、项目和 Runtime 选择组成 scope 缓存原生清单,用请求 代次阻止旧 scope 结果回写;同 scope 会话刷新不清空重取,切换会话重置消息级选择, Runtime 切换状态也按 generation 隔离。清单请求失败或返回unavailable/partial时保留已有可用缓存并有界重试;没有可用缓存时保留新返回的部分数据,因此unavailable重试为可用partial后可显示 Agent 和 Command。
验证记录:首轮定向测试 273 项通过、5 项跳过;补充修复后的 Runtime 与生命周期测试 77 项通过,界面定向测试 6 项通过,类型检查通过。修复前的 lint 检查通过。 全量测试超过 120 秒被终止,期间出现一项 DS 本地 stdio MCP 测试失败,尚待定位。 真实系统休眠恢复和当前源码的 GoodBuddy Agent 实机路径尚未完成验证。
2026-09-06 项目工作区
范围见 PRD 工作区。
当前源码已移除重复标题与底部完整 Diff 入口,使用彩色 Git 状态字母,点击更改项读取 单文件 Diff。已暂存与未暂存差异分开展示;本机 Git 测试覆盖无首次提交、未跟踪、 暂存后继续修改、重命名、删除及包含方括号的路径。Git 刷新驱动目录树重新读取,保留 展开状态;SSH 项目不提供本机系统打开按钮。审查后补齐了当前 Diff 随刷新重读、 旧请求结果失效,以及超过 50 项变更的继续加载入口。
验证记录:
- 最终
npm run typecheck、npm run lint、npm run build均通过。 - 工作区专项 7 个测试文件复跑:317 项通过,3 项 Linux 专用测试在 Windows 跳过。 任务完成测试同时检查目录树出现新文件。
- 最终
npm test:326 个测试文件、3552 项测试通过,9 个文件、58 项测试按既有条件 跳过。复核首轮曾有一项浏览器地址草稿测试超时,单独复跑及最终全量复跑均通过; 更早的超时/失败记录不再作为最终验收结果。 - 后续复核已通过既有凭据和固定 Host Key 经 VPN 连接共享 Linux x64 Host,使用当前
源码构建的隔离 Agent 包安装并启动。真实
RemoteWorkspaceAccess → Agent git/status与git/diff路径覆盖暂存后继续修改、删除、重命名、未跟踪和方括号路径;均通过。 Git 验证未调用模型。 - Windows 隔离桌面实例已通过真实点击验收:当前项目单文件暂存/工作树 Diff 分组与 增删颜色正确,修改测试文件后点击刷新可更新正在查看的 Diff,53 项变更经加载更多 全部可访问。截图留在本地验证目录,不纳入产品包。
目录分页、任意目录切换和 HTML 预览不在本轮改动范围内。