mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
5.0 KiB
5.0 KiB
项目介绍
什么是阑山桌面
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
- 预览版: 通过更新频道切换到 Preview
平台支持
- ✅ Windows 10/11 - 完整支持
- 🚧 Linux - 计划支持
- 🚧 macOS - 计划支持
系统要求
- 操作系统: Windows 10 1809 或更高版本
- .NET Runtime: 自动包含,无需单独安装
- 内存: 建议 4GB 或更高
- 磁盘: 安装需要约 200MB 空间
开发理念
模块化设计
所有功能通过插件和组件实现,核心保持精简。
开放生态
鼓励社区开发插件和组件,共建生态系统。
稳定可靠
原子化更新、版本回退、进程隔离等机制保证系统稳定。
性能优先
增量更新、延迟加载、异步渲染等优化确保流畅体验。
开源协议
本项目采用 MIT License 开源协议。
社区与贡献
- GitHub: https://github.com/HelloWRC/LanMountainDesktop
- Issues: 报告 Bug 和功能建议
- Discussions: 技术讨论和问答
- Pull Requests: 欢迎贡献代码和文档