## 这个 PR 做了什么? / What does this PR do? ## 相关 Issue / Related issues ## 影响范围 / Affected areas - [ ] 桌面宿主 / Desktop host - [ ] 启动器、更新或安装 / Launcher, update, or installation - [ ] AirApp Runtime - [ ] 插件运行时或安装 / Plugin runtime or installation - [ ] Plugin SDK 或共享契约 / Plugin SDK or shared contracts - [ ] 设置、主题或外观 / Settings, theme, or appearance - [ ] 桌面组件系统 / Desktop component system - [ ] 构建、测试、CI 或打包 / Build, test, CI, or packaging - [ ] 文档或规格 / Documentation or specs ## 行为、兼容性与迁移 / Behavior, compatibility, and migration ## 验证 / Verification - [ ] `dotnet restore` - [ ] `dotnet build LanMountainDesktop.slnx -c Debug` - [ ] `dotnet test LanMountainDesktop.slnx -c Debug` - [ ] 手动运行桌面宿主 / Manually ran the desktop host - [ ] 验证插件安装、加载或 SDK 场景 / Verified plugin install, loading, or SDK scenarios - [ ] 验证 Windows / Verified on Windows - [ ] 验证 Linux / Verified on Linux - [ ] 验证 macOS / Verified on macOS - [ ] 未能运行的检查已说明原因 / Explained any checks that could not be run 实际验证说明 / Verification details: ```text ``` ## 文档与 spec / Documentation and specs - [ ] 本 PR 不需要更新文档或 `.trae/specs/` / No documentation or `.trae/specs/` update is needed - [ ] 已更新权威文档 / Updated source-of-truth documentation - [ ] 已新增或更新 `.trae/specs//` / Added or updated `.trae/specs//` - [ ] 已更新 SDK 迁移说明或共享契约说明 / Updated SDK migration or shared contract notes ## UI 截图或录屏 / UI screenshots or videos ## 最终检查 / Final checklist - [ ] 我已自查代码和文档,移除了调试残留和无关改动。 / I self-reviewed the code and docs and removed debug leftovers and unrelated changes. - [ ] 我没有提交未脱敏的日志、凭据或个人信息。 / I did not commit unredacted logs, credentials, or personal information. - [ ] 如果改动涉及 UI,已遵守 `docs/VISUAL_SPEC.md` 和 `docs/CORNER_RADIUS_SPEC.md`。 / If this changes UI, it follows `docs/VISUAL_SPEC.md` and `docs/CORNER_RADIUS_SPEC.md`. - [ ] 如果改动涉及行为、流程、边界或命令,已同步对应文档。 / If this changes behavior, workflows, boundaries, or commands, the related docs are updated. - [ ] 如果改动涉及新功能或行为调整,已补齐或更新 `.trae/specs/`,或说明无需更新的原因。 / If this adds a feature or behavior change, `.trae/specs/` is updated, or the reason for not updating is explained.