Skip to content

DSH Desktop v0.11.0

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Oct 06:54
beb6821

DSH Desktop v0.11.0 — 工作台、Office 创作与运行时稳定性全面升级

更新内容

  • 工作台市场:新增工作台市场与目录,可浏览、安装和管理工作台;市场卡片支持按星标数、下载量、来源更新时间和标题排序,首次打开仍保留目录默认顺序。
  • 工作台启用与默认状态:工作台功能改为默认关闭;只有在「常规」设置中明确开启后才启用,未设置或偏好设置不可读时均按关闭处理。更新后从未操作过该开关的用户需要主动开启。
  • 工作台与工作区管理:从某个工作台移除工作区时,只会隐藏该工作台中的入口,不会删除共享工作区注册或会话;显式重新添加后可恢复显示。侧边栏同时展示本地工作台,并更清楚地说明卸载状态。
  • 工作台界面与市场恢复:改进所选侧边栏项目的背景显示、市场失败状态协调及陈旧安装清理,并保留宿主样式表的所有权,减少界面样式互相覆盖。
  • PPT 模板选择:发送消息后,所选模板会以图标和标题保留在对话开头;点击模板标题可分页预览,方便确认当前会话所用模板。
  • Office 与 PPT 创作:为 Windows 和 macOS 打包 Python 创作运行环境;Office 技能按模板模式分流,使通用 Office 技能能够进入与所选模板相匹配的处理路径。
  • 桌面文件与文件夹引用:拖入带有本机路径的文件或文件夹时,可作为 @路径 引用加入消息;粘贴的文件内容仍按原有方式上传。新增宿主路径桥接以便桌面编辑器识别这些本机路径。
  • 插件启用状态统一:插件管理、市场安装器、启动和 Safe Mode 统一依据同一插件开关状态判断是否启用;卸载时清除对应开关,重新安装可从启用状态开始。启动时重新列出插件不会意外重新启用已关闭的插件。
  • 插件安装、升级与恢复:改进待卸载插件处理、插件包切换和 Profile 插件目录投影;插件管理后端遇到应由共享市场或 Profile 管理的包时可交由相应流程处理,减少安装、升级和卸载期间的状态不一致。
  • Safe Mode 退出:侧边栏「退出 Safe Mode」在存在阻止性兼容问题时,会提供「仍要退出」或「管理插件」的选择;管理器已打开并等待处理时,退出操作会交由其重启流程完成。
  • Windows 菜单与窗口交互:调整 Windows 菜单栏和标题栏集成,改进侧边栏收起行为;窗口菜单独立渲染进程丢失时可自行恢复,不必依赖重启整个应用。
  • 桌面目录选择:macOS 选择目录时可直接新建文件夹,避免系统目录对话框隐藏「新建文件夹」操作。
  • 内置 Harness 升级:将 @deepseek-ai/dsh-* 运行时依赖升级至 0.2.0-rc.2,并更新与之配套的兼容补丁;模型选择搜索改由新版 Harness 原生能力提供。

问题修复

  • Office 引擎启动:先规范化归档路径再解析 LibreOffice 引擎,修复安装目录经由符号链接、Windows junction、8.3 短路径或盘符大小写变化时,Office 可执行文件仍留在 app.asar 内而无法启动的问题。
  • macOS 终端启动:修正 node-pty 在已位于 app.asar.unpacked 的路径上再次拼接 .unpacked 的问题,避免终端因找不到 spawn-helper 而启动失败。
  • 工作台移除工作区:避免从单个工作台移除工作区时连带删除共享注册信息或会话;工作台内显式重新添加后可恢复该工作区。
  • 工作台市场与安装状态:改进市场错误状态的协调和陈旧安装清理,并补充本地工作台显示及卸载状态说明,降低失败后界面状态与实际安装不一致的情况。
  • Safe Mode 退出操作:修复存在阻止性兼容问题时侧边栏退出按钮只会重新打开管理器、而管理器已打开时点击没有可见效果的情况。
  • 插件代际安装:修复 @deepseek-ai 命名空间下的插件被误当作宿主单例移出自身 generation,导致迁移期间找不到 package.json、Profile 回滚或 peer 校验误报的问题。
  • macOS 插件命令与 Node 运行时:macOS 包管理命令和 shim 改用 Electron Helper 的 Node 模式,移除额外打包的独立 Node;生成代际时在 Electron 运行时正确设置 Node 模式,并在升级或迁移前重写命令 shim,避免继续指向已移除的 Node。
  • Electron Node 模式启动:Linux 开发环境也通过 Electron Node 模式启动 Harness,避免开发启动依赖另一套 Node 运行时。
  • 插件安装器与开关状态:修复市场、插件管理和 Profile generation 等不同安装路径间的开关状态处理;卸载路径会清除开关,待提交卸载的插件不会被启动时的 bundle 修复流程重新组合启用。
  • Windows 命令路径与 ZIP 名称测试:调整 Office 命令路径序列化比较及畸形 ZIP 条目名称测试,按 Windows 路径行为进行处理。
  • 桌面安装识别:调整桌面安装状态识别与启动服务的先后顺序,避免启动时服务判断早于安装状态分类。
  • PPT 构建可靠性:为运行时构建输入建立指纹校验,在输入未变化时跳过重复生成;仅重新安装 node_modules 时重新投影暂存包,而不重复构建模板和预览。
  • 签名构建测试:修复 Windows 上读取签名构建摘要时使用错误默认编码导致中文内容解码失败的问题。

性能与优化

  • 安装包布局:JavaScript 依赖改为从 app.asar 加载,仅将原生扩展、库及必须由操作系统直接启动的文件解包,减少安装包中的散装文件与解包体积;构建后会检查 PPT 运行时中的 Mach-O、ELF 和 PE 文件未被错误地内嵌。
  • PPT 构建缓存:开发、构建和测试在输入未变更时复用已有 PPT 运行时产物,减少重复生成耗时;设置 DSH_PPT_FORCE_BUILD=1 可强制完整重建。
  • macOS 运行时统一:通过复用 Electron Helper 执行包管理命令,减少每个 Profile 同时部署 Electron 和独立 Node 的重复运行时,并统一主进程与 Harness 侧的命令 shim。
  • 打包与运行时验证:更新打包检查和发布目标验证,覆盖归档内加载、原生文件解包及 Electron Node 运行时,尽早发现发布包资源布局错误。

升级说明

  • 工作台开关:工作台现为默认关闭。更新后如需使用,请在「常规」设置中开启;已保存为开启的设置继续生效。
  • 插件开关状态:插件启用状态由统一的插件开关记录;卸载会清除开关状态,之后重新安装时会重新进入启用状态。
  • PPT 强制重建:仅在需要忽略构建缓存、完整重新生成 PPT 运行时产物时设置 DSH_PPT_FORCE_BUILD=1。

说明

  • 开发者与运维:本版本同时更新工作台市场、Office/PPT 运行时、插件安装与 Safe Mode 流程,以及 Windows、macOS 和 Linux 的打包与启动路径。排查插件或 Office 启动问题时,应区分安装、路径解析、运行时启动和实际加载阶段。