# DSH Desktop 用户指南 ## 安装与首次启动 从产品下载入口获取 macOS 或 Windows 安装包。安装后的 DSH Desktop 自带运行所需的 Electron、Node 和 DSH 依赖,普通用户不需要另行安装 Node.js 或 pnpm。 首次启动时,应用会准备默认 profile,并在本机启动官方 DSH Web surface。关闭窗口通常只会隐藏窗口;可以从托盘重新打开,选择 **退出** 才会结束应用和 Host 进程。 ## Profile Profile 是一组 DSH bundle、依赖和 patch 的组合。托盘中的 **Profile** 菜单会列出现有 profile,以及可按需创建的 `desktop` 和 `web` 默认 profile。 选择 profile 后应用会有序重启。新 profile 在 Host、窗口和浏览器客户端都成功启动后才会被记录为最近一次可用 profile;启动失败会回到上一次可用选择。官方 profile 默认使用同一个 DSH home,所以 sessions、settings 和 storage 通常不需要迁移。自定义配置(patch)如果主动改写持久化路径,则以该 profile 自己的设置为准。 切换 profile 不会把旧 profile 的插件偷偷复制到新 profile。要管理目标 profile,请在终端中显式写出 profile,或者在切换后使用终端里的默认命令。 ## 兼容模式与高级模式 - **兼容模式**:使用上游默认 Web client 和 profile 自己的 layout/sidebar/conversation 组合。它适合希望尽量接近官方 Harness 的用户。 - **高级模式**:在不改变上游 Web carrier 的前提下加入 Desktop 自有的 frame、布局、Mica/vibrancy 和原生拖动区域。它适合需要更完整桌面外观的用户。 切换模式会重启应用,不会在正在运行的 renderer 中热替换 root slot 或窗口材质。Linux 只提供兼容模式。 ## 插件管理 插件是给 DSH 添加能力的扩展包,例如模型、工具、界面和工作流。DSH Desktop 使用的就是官方 Harness 的插件体系,官方插件可以直接安装使用;多个插件遵循统一的约定,可以一起安装、一起工作。 普通 DSH 插件仍使用官方 CLI 语义: ```sh dsh plugin --profile desktop add dsh plugin --profile desktop remove dsh plugin --profile desktop update ``` 在 DSH Desktop 托盘打开的终端中,裸 `dsh` 和不带 `--profile` 的 plugin 命令默认使用当前激活 profile: ```sh dsh plugin add dsh plugin remove dsh plugin update ``` 显式 `--profile ` 始终优先。插件变更后需要重启 DSH Desktop,才能让新的 bundle 进入 Loader 组合。 ## 打开终端 从托盘选择 **Open DSH Terminal**。macOS 会打开 Terminal,Windows 会优先使用 Windows Terminal,找不到时回退到 PowerShell 或命令提示符。 欢迎信息会显示:应用版本、当前 profile、profile 目录和 DSH home。Desktop 会在自己的 user-data 目录生成 `dsh`、`pnpm` 和 `node` 私有 shim,只对这个终端进程设置 PATH,不会修改系统 PATH 或用户 shell 配置。 ## 更新 打包后的 macOS/Windows 应用会在后台检查 `https://www.dshdesktop.cn/api/desktop/version`。后台检查不阻塞启动;网络错误、非 200、非法版本或服务端版本不新时保持静默。 托盘中的 **Check for Updates…** 是手动检查:即使已经是当前版本,也会显示结果;检查失败会提示稍后重试。只有服务端版本严格高于本地版本时,应用才会询问是否下载。用户取消不会访问计数下载入口。 确认下载后,应用才会请求当前平台的固定下载地址。macOS 会打开 DMG,由用户把应用替换到 Applications;Windows 会准备 NSIS 安装器,再询问是否退出并启动安装。下载和安装失败不会破坏当前版本,托盘仍可重试。 ## 排查 - **窗口消失了**:先检查系统托盘,关闭窗口不是退出。 - **插件没有出现**:确认命令作用于目标 profile,并重启应用。 - **终端命令找不到**:从托盘重新打开 Desktop 终端;系统 shell 的全局 PATH 不会被 Desktop 修改。 - **更新没有提示**:后台错误会静默;使用托盘手动检查查看结果。 更底层的生命周期、打包和平台限制属于开发者文档,见[文档索引](README.md)。