# 桌面海洋 0.1.7｜内部测试包安装说明

本包完全离线运行，无需安装 Node.js、Electron 或开发工具。鱼群保存在各自电脑的用户数据目录，不在安装包内。没有账号、云同步或自动更新。

## 选择版本

| 文件标记 | 适用电脑 | 安装方式 |
| --- | --- | --- |
| macOS-AppleSilicon | Apple M 系列，macOS 13 及以上 | DMG 或 ZIP |
| macOS-Intel | Intel Mac，macOS 13 及以上 | DMG 或 ZIP |
| Windows-x64-Portable | Intel/AMD 64 位 Windows，优先 Windows 11 | 完整解压 ZIP |

Electron 44 的 macOS 最低版本为 13；不支持 Windows 7/8 或 32 位。本轮未制作 Windows ARM64 包。Windows 10 x64 满足 Electron 的运行时下限，但不代表本应用已完成 Windows 10/11 真机兼容验收。

## Mac

1. 打开对应 DMG，将 `Desktop Ocean.app` 拖入旁边的 `Applications`。也可解压 ZIP，再将 `.app` 放入“应用程序”。
2. 启动“应用程序”中的 Desktop Ocean。不要长期直接从 DMG 里运行。
3. 本包有用于校验包内完整性的本地 ad hoc 签名，但没有 Developer ID 分发签名、未经公证，首次打开可能被 Gatekeeper 拦截。核对来源与 SHA256 后，可按系统提示到“系统设置 → 隐私与安全”允许打开。不要关闭系统整体安全保护；若受公司设备策略限制，请交给管理员或等待签名版。

## Windows

1. 把 ZIP **完整解压**到一个可写目录，例如用户目录下的 `DesktopOcean`，不要直接在压缩包里双击。
2. 进入解压出的应用文件夹，双击 `DesktopOcean.exe`。必须保留旁边的 `resources`、`locales`、DLL 等文件，不能只拷贝 exe。
3. 若 SmartScreen 提示未知发布者，这是未签名内部测试包的分发限制。仅在确认来源和校验值后按系统提供的选项决定是否运行；不要关闭 SmartScreen。受组织策略管理的设备可能不允许运行。
4. 本机交付为免安装绿色版，不会自动创建快捷方式。Windows 原生 Setup 构建入口为 `npm run package:win:installer`；只有在 Windows 构建完成并输出 Setup 文件后，才能将其作为安装器分发。

## 使用与退出

- 首次启动获得一条随机幼鱼；升级不重置旧鱼。
- 关闭面板只是收起设置，小鱼仍运行。Mac 菜单栏、Windows 任务栏通知区域有小鱼图标；Windows 上图标可能在“隐藏的图标”内。
- 快捷键：Mac `Command + Shift + H`；Windows `Ctrl + Shift + H`。冲突时用托盘/菜单栏隐藏。
- 真正退出：点击小鱼图标，选择“退出桌面海洋”。正常退出会保存进度。

## 升级、存档与卸载

升级前从“数据”页导出 JSON，退出旧版，再替换应用。不要同时运行两份应用。Mac 的 Bundle ID 和数据名称保持不变；同一用户正常替换应用会沿用旧档。

- Mac 数据目录：`~/Library/Application Support/桌面海洋/`
- Windows 数据目录：`%APPDATA%\桌面海洋\`
- 可在应用“数据 → 打开数据目录”查看实际位置。
- 两台电脑之间需手动“导出存档 → 复制 JSON → 导入存档”；导入确认后替换目标鱼群，不会合并。
- 卸载应用不会主动删除鱼群。需要清理数据时请先导出，确认后再处理上述专用数据目录。

## 已验证与未验证

这些是内部测试产物，不是已签名、公证的公开发行版。当前平台结果以仓库 `docs/TEST_REPORT.md` 为准：Mac Apple Silicon 有桌面回归；Intel Mac 和 Windows 的真实运行、透明穿透、鼠标互动、锁屏/休眠、高 DPI、全屏与安装/卸载仍需各目标机器验证。跨平台结构检查和打包成功不替代这些测试。

Windows 原生 CI 流程已写入 `.github/workflows/package-desktop.yml`，仅手动触发，不自动发布。本地目录没有 Git 远程时不会自动上传源码或启动 CI。

`SHA256SUMS.txt` 可用于核对文件传输是否完整，它不能替代发布者签名。`manifest.json` 记录本次文件名、大小与校验值。

参考：[Electron 44 系统要求](https://www.electronjs.org/blog/electron-44-0)、[Squirrel.Windows 构建条件](https://www.electronforge.io/config/makers/squirrel.windows)、[Windows 签名说明](https://www.electronforge.io/guides/code-signing/code-signing-windows)。
