# 项目介绍 ## 什么是阑山桌面 **LanMountainDesktop(阑山桌面)** 是一个基于 .NET 和 Avalonia UI 的模块化桌面定制平台,旨在为用户提供高度可定制的桌面体验。 ### 核心特性 #### 🧩 插件系统 - **进程内插件** - 当前稳定的插件运行模式 - **进程隔离插件** - 未来支持的隔离模式(规划中) - **插件 SDK** - 完整的插件开发工具包 - **插件市场** - 应用内插件浏览和安装 #### 🎨 桌面组件(Widget) - **可视化编辑** - 拖拽式布局编辑 - **多种组件** - 时钟、天气、日历、倒计时等 - **自定义组件** - 通过插件扩展新组件 - **主题支持** - 亮色/暗色模式自适应 #### 🚀 Air APP 系统 - **独立应用** - 在桌面环境中运行的独立窗口应用 - **生命周期管理** - 统一的应用启动、激活和清理 - **窗口模式** - 标准、无边框、全屏、工具窗口 - **IPC 通信** - 与桌面宿主的双向通信 #### ⚙️ 设置系统 - **分域管理** - 按功能模块组织设置 - **持久化** - 自动保存到本地 - **插件集成** - 插件可注册自己的设置页 #### 🔄 更新系统 - **增量更新** - 只下载变更文件,节省带宽 - **原子化更新** - 保证更新完整性,失败自动回滚 - **多版本管理** - 支持版本共存和回退 - **签名验证** - RSA 签名确保安全性 ## 技术架构 ### 核心技术栈 | 技术 | 版本 | 用途 | |------|------|------| | .NET | 10.0 | 应用框架 | | Avalonia UI | 12.x | 跨平台 UI 框架 | | FluentAvalonia | 2.x | Fluent Design 控件 | | CommunityToolkit.Mvvm | 8.x | MVVM 框架 | | VeloPack | 最新 | 应用更新系统 | | dotnetCampus.Ipc | 最新 | 进程间通信 | ### 项目结构 ``` LanMountainDesktop/ ├── LanMountainDesktop/ # 主桌面宿主应用 ├── LanMountainDesktop.Launcher/ # 启动器(OOBE、Splash、版本管理) ├── LanMountainDesktop.AirAppRuntime/ # Air APP 运行时容器 ├── LanMountainDesktop.AirAppHost/ # Air APP 渲染进程 ├── LanMountainDesktop.PluginSdk/ # 插件 SDK ├── LanMountainDesktop.Shared.Contracts/ # 共享契约类型 ├── LanMountainDesktop.Settings.Core/ # 设置系统 ├── LanMountainDesktop.Appearance/ # 主题和外观 ├── LanMountainDesktop.DesktopComponents.Runtime/# 组件运行时 └── LanMountainDesktop.PluginIsolation.*/ # 插件隔离(未来) ``` ### 启动流程 ``` 用户启动 Launcher.exe ↓ 首次启动 → OOBE 引导 ↓ 显示 Splash 启动动画 ↓ 预启动 AirAppRuntime(框架依赖 JIT 进程) ↓ 扫描 app-* 目录,选择最佳版本 ↓ 启动 LanMountainDesktop.exe(主程序) ↓ 初始化日志、遥测、Host 生命周期 ↓ 加载主题、语言、设置 ↓ 初始化桌面壳层、主窗口、托盘 ↓ 加载插件、注册组件 ↓ 桌面就绪 ``` ## 应用场景 ### 个人用户 - **桌面定制** - 打造个性化的桌面环境 - **效率工具** - 快速访问常用功能和信息 - **信息聚合** - 在桌面上展示天气、日历、待办等 ### 开发者 - **插件开发** - 为桌面扩展新功能 - **Air APP 开发** - 创建独立的桌面应用 - **组件开发** - 设计自定义桌面组件 ### 企业用户 - **定制部署** - 企业专用的桌面环境 - **信息看板** - 展示企业数据和通知 - **工作流集成** - 集成企业工作流工具 ## 版本与支持 ### 当前版本 - **稳定版**: 查看 [GitHub Releases](https://github.com/HelloWRC/LanMountainDesktop/releases) - **预览版**: 通过更新频道切换到 Preview ### 平台支持 - ✅ **Windows 10/11** - 完整支持 - 🚧 **Linux** - 计划支持 - 🚧 **macOS** - 计划支持 ### 系统要求 - **操作系统**: Windows 10 1809 或更高版本 - **.NET Runtime**: 自动包含,无需单独安装 - **内存**: 建议 4GB 或更高 - **磁盘**: 安装需要约 200MB 空间 ## 开发理念 ### 模块化设计 所有功能通过插件和组件实现,核心保持精简。 ### 开放生态 鼓励社区开发插件和组件,共建生态系统。 ### 稳定可靠 原子化更新、版本回退、进程隔离等机制保证系统稳定。 ### 性能优先 增量更新、延迟加载、异步渲染等优化确保流畅体验。 ## 开源协议 本项目采用 [MIT License](https://github.com/HelloWRC/LanMountainDesktop/blob/main/LICENSE) 开源协议。 ## 社区与贡献 - **GitHub**: https://github.com/HelloWRC/LanMountainDesktop - **Issues**: 报告 Bug 和功能建议 - **Discussions**: 技术讨论和问答 - **Pull Requests**: 欢迎贡献代码和文档 ## 下一步 - [快速安装](02-快速安装.md) - 安装阑山桌面 - [开发环境配置](03-开发环境配置.md) - 配置开发环境 - [插件开发快速开始](../01-插件开发/01-快速开始/01-环境准备.md) - 开始开发插件