Skip to content

DeepShell Agent v0.1.3 — Windows x64 平台验收版本

Pre-release
Pre-release

Choose a tag to compare

@kirbylynx kirbylynx released this 14 Sep 06:49
· 28 commits to main since this release

DeepShell Agent v0.1.3 — Windows x64 平台验收版本

版本性质:Windows x64 平台验收版本(platform-acceptance release),性质为验收驱动的修复迭代。本版本不新增产品能力,产出是"在真实 Windows 11 真机上完成端到端验收,并修复验收过程中暴露的 8 处 Windows 平台缺陷"。

本版本的实质

此前 DeepShell Agent 只在 macOS 上做过运行验证,Windows x64 只有"构建路线定义"。v0.1.3 把 Windows 侧推进到"具备同级验收证据"。

过程中发现 8 处 Windows 平台缺陷,其中 4 处会让用户直接无法使用产品——而这 4 处在 macOS 上不可能出现,此前也从未在真机上跑过:

现象 根因
应用窗口空白、无任何内容 Tauri 返回逐字路径 \\?\D:\...,Windows API 接受但 Node.js 模块解析不接受——realpathSync 把盘符截成 D: 抛 EISDIR,Sidecar 一行代码都没跑起来
浏览器被打开一个必然打不开的 tauri.localhost 页面 Windows 的 app-asset 协议是 http(s)://tauri.localhost(macOS 才是 tauri://localhost),导航分类器把自家页面当外链交给了系统浏览器
启动时多出一个空白命令行窗口,关闭它应用一起退出 三层叠加,最里层是应用自己缺少 windows_subsystem = "windows",按控制台子系统链接,Windows 每次启动都分配控制台
卸载提示文件被占用,删不干净 应用异常退出后 Sidecar 成为孤儿进程,继续内存映射原生库;卸载程序不检测、不终止它

另有 4 处:Sidecar 与后台工具的 CREATE_NO_WINDOW(两处)、诊断包路径脱敏与 pathPolicy 声明自相矛盾、隔离记录永久阻断启动(代码注释许诺的"下次启动核验清理"从未实现)。

验收结果

场景 结论
S1 安装向导 / S2 首次启动 ✅ 用户手动确认
S3 数据目录 / S4 凭据配置 ✅ 通过
S5 会话与工具 ✅ 通过(模型实际收到的 27 项工具清单含 pwsh、不含 bash)
S6 单实例 / S7 端口占用 / S8 恶意源隔离 ✅ 通过
S9 退出清理 ✅ 通过(runtime_stopping → runtime_stopped,296 ms,零残留)
S10 崩溃恢复 ✅ 通过(含审批超时 fail-closed、执行中 Tool Call 标为 unknown 且未重放、刷新/重连不重复)
S11 卸载 🔶 部分通过——注册表/快捷方式/数据保留 ✅,安装目录残留 5 文件 / 108.54 MB ❌
S12 诊断包 ✅ 通过(逐字节人工复核:零绝对路径、零 secret)
S13 环境还原 ✅ 通过

关键测量:安装包 80.41 MB;安装后 32226 文件 / 512.03 MB;WebView2 Runtime 152.0.4191.66;冷启动就绪 5.8–12.3 秒;崩溃检测约 32 秒。

⚠️ 本版本已知限制(请务必阅读)

这些不是"未测",而是已确认的缺口,本版本刻意不修:

  1. 卸载可能删不干净——若 Sidecar 因异常退出成为孤儿进程,卸载后安装目录会残留 5 个文件 / 108.54 MB,需人工终止该进程后删除。根因与因果链已完整验证。
  2. 安装包未按平台裁剪——同时包含 Windows 与 macOS 两套 Node 运行时,其中 macOS 部分 4800 文件 / 187.5 MB 在 Windows 上完全无用。这违反架构文档 §9.3 的"发布包只包含目标平台所需运行时文件"。
  3. 文件拖放不可用——界面会显示可拖放提示,但拖入文件无任何反应(dragDropEnabled 默认值拦截了 HTML5 拖放,而应用未处理 DragDrop 事件)。
  4. 客户端渲染进程死亡后无法恢复——若 WebView2 渲染进程意外终止,应用不检测、不重载、不提示,界面变成纯黑屏,只能强制结束进程重开。对 Sidecar 有完整健康监控,对自身的客户端零监控。
  5. 界面不展示权限/沙箱能力——架构 §8.2 要求"UI 必须展示当前会话实际生效的能力",实测未满足:Web UI 前端产物中权限/沙箱相关文案零命中、无 i18n 资源。Windows 上目录权限是完全 no-op(ACL 为继承且未加固),而 UI 不展示这一点,用户无从得知该平台差异。
  6. 未在 macOS 上做任何运行验证——本版本全部结论来自 Windows 真机。因本机无 macOS 硬件,无法实证 macOS 基线未被破坏(M1–M4 仅完成静态复核)。macOS 用户请勿使用本版本。
  7. WebView2 差异矩阵有 2 个维度未测(Markdown/SVG 渲染侧、拖放),Sandbox 矩阵有 1 项未隔离验证(审批的 UI 断线分支),T8 六故障域中 2 个存在检测盲区。
  8. Windows 菜单不符合平台惯例——顶部菜单名与窗口标题是同一个字符串(DeepShell Agent),且菜单项是 macOS 的应用程序菜单(services/hide/hide_others)。菜单构建代码完全没有平台分支。

安装

  1. 下载 DeepShell.Agent_0.1.3_x64-setup.exe;
  2. 运行安装向导(NSIS 安装器已内嵌 WebView2 引导程序,缺少时会自动安装);
  3. 首次启动后,在 Models Settings 中配置 DeepSeek 官方 API 或 OpenAI-compatible Provider。

系统要求:Windows 10 22H2 或 Windows 11 x64。

未进行 Windows 代码签名。 安装时 Windows SmartScreen 可能提示"未知发布者"。

依赖与漏洞扫描

本次发布前在官方 npm registry 上执行了真实漏洞审计(本机默认镜像 registry.npmmirror.com 无 audit 端点,故显式覆盖 registry):

审计项 结果
生产依赖(--prod) ✅ 零漏洞
随包分发的 DSH 运行时 ✅ 零漏洞
全部依赖(含开发/测试工具链) ⚠️ 4 high + 1 moderate,全部位于 @wdio/* WebDriver 测试工具链路径——该工具链不进入发布二进制(已字节级验证发布版不含 wdio 标记)

产物校验

请核对下载文件的 SHA256(见 SHA256SUMS.txt)。

诚实声明

本版本没有把 Windows 侧做到与 macOS 侧同等完备。上述 8 条限制均已逐条登记在验收记录与 Roadmap 中(REL-022–REL-027、DESK-023),不得因本版本"验收通过"而被默认为已解决。

本版本可以表述为:"Windows x64 平台验收已完成,S1–S13 逐项标注四态,修复 8 处平台缺陷,并新发现 4 个待办缺陷。"

本版本不得表述为:"全部收口条件满足"、"Windows 侧已与 macOS 侧同等完备"、"架构 §8.2 已满足"、"macOS 基线未被破坏"。