Files
LanMountainDesktop/README.md
lincube 4cb52e56c7 Launcher (#4)
* 激进的更新

* 试试

* fix.可爱的我一直在修CI(

* fix.启动器一定要能够启动

* feat.尝试弄了AOT的启动器。

* fix.修CI,好像是因为Linux那边有个问题,反正修就对了。

* fix.ci难修,为什么liunx跑不起来呢?

* Update build.yml

* Update LanMountainDesktop.csproj

* changed.调整了启动逻辑,优化了更新页面。

* changed.优化了更新体验

* feat.依旧试增量更新这一块,看看velopack

* fix.我们试验性地修复了启动器无法正常启动的问题,原因可能是这个画面没有启动,就GUI没显示。然后还把编译问题修了一下。

* fix.继续修ci,ci怎么天天炸

* changed.velopack,试试rust

* fix.修ci,修融合桌面,修启动器

* fix.GitHub Action工作流怎么天天出问题

* feat.引入velopack,不好,是rust(至少内存很安全了。

* chore: migrate release pipeline to signed filemap and wire rainyun s3

* fix: make optional s3 upload step workflow-parse safe

* fix: make delta pack generation robust for empty diffs and linux paths

* chore: rotate launcher update public key for pdc signing

* fix: restore stable launcher update public key

* fix: sync launcher public key with update signing secret

* fix: normalize PEM line endings in signing key validation

* fix: rotate launcher public key to match ci signing secret

* fix: compare signing keys by SPKI instead of PEM text

* refactor update backend to host-managed PDC pipeline

* fix release workflow env key collisions

* relax publish-pdc precheck to require S3 only

* set GH_TOKEN for PDCC installer step

* ci: add local pdc mock fallback for release publish

* ci: fix pdc mock process log redirection

* ci: fallback pdcc signing key to update private key

* ci: ensure pdcc signing passphrase env is always set

* ci: create pdcc publish root before invoking client

* ci: set pdcc version variable from release version

* ci: decouple pdcc installer version from publish config version

* ci: package pdcc subchannels with generated filemap and changelog

* ci: make local pdc mock diff return empty for fast fallback

* ci: fix pdcc variable mapping and pdc signing prechecks

* Update App.axaml.cs

* ci: wire aws cli credentials for rainyun s3

* ci: pin pdcc client version separately from app version

* ci: harden local pdc mock transport handling

* ci: publish pdcc subchannels in one pass

* ci: add pdcc publish heartbeat and timeout

* ci: fix pdcc publish workdir bootstrap

* feat.Penguin Logistics Online Network Distribution System

* ci: fix plonds s3 probe and signing fallback

* ci: validate signing key and quiet missing baselines

* ci: relax aws checksum mode for rainyun s3

* ci: avoid multipart uploads to rainyun s3

* ci: handle empty plonds baselines safely

* ci.plonds

* Rebuild release pipeline around PLONDS and DDSS

* Fix Windows installer script path in release workflow
2026-04-21 20:59:52 +08:00

4.5 KiB

阑山桌面LanMountainDesktop

你的桌面,不止一面

.NET 10 Avalonia UI License

Important

温馨提示:本项目有部分成分由氛围编程 (Vibe Coding) 方式编写。

如果您对此类项目有固有的排斥感,请无视此项目,谢谢。

简介

阑山桌面是一个跨平台桌面环境增强工具,面向需要高频查看信息、追求桌面效率与个性化体验的用户。

基于 Avalonia UI 和 .NET 10 构建,支持 Windows、Linux、macOS 三大平台。

Platform Platform Platform

核心特性

📊 信息聚合

  • 课程表、日历、天气、新闻、热搜
  • 所有信息一目了然,无需频繁切换窗口

🎯 效率工具

  • 自习环境监测、计时器、知识卡片
  • 最近文档、浏览器快捷入口
  • 常用工具组件一键触达

🎨 个性化桌面

  • 自由布局,随心所欲摆放组件
  • 多页桌面,工作学习场景分离
  • 主题切换、玻璃效果、圆角风格

🔌 插件生态

  • 通过 .laapp 插件扩展功能
  • 官方 Plugin SDK 支持自定义组件
  • 设置页、组件、集成功能一站式接入

为谁而设计

用户类型 典型场景
🎓 学生用户 课程表、自习监测、计时、天气和日常信息聚合
💼 办公用户 日历、资讯、最近文档、常用工具入口
🎨 效率爱好者 自由布局、主题切换、插件扩展
🇨🇳 中文用户 本地化界面、农历和节假日等本地语境支持

快速开始

环境要求

  • .NET SDK 10

构建与运行

开发模式 (推荐):

# 还原依赖
dotnet restore

# 构建项目
dotnet build LanMountainDesktop.slnx -c Debug

# 直接运行主程序 (跳过 Launcher,快速开发)
dotnet run --project LanMountainDesktop/LanMountainDesktop.csproj

生产模式 (完整流程):

# 通过 Launcher 启动 (包含 OOBE、Splash、版本管理)
dotnet run --project LanMountainDesktop.Launcher/LanMountainDesktop.Launcher.csproj -- launch

详细说明请参考 开发文档

运行测试

dotnet test LanMountainDesktop.slnx -c Debug

插件开发

阑山桌面支持通过 Plugin SDK 开发自定义插件:

# 安装插件模板
dotnet new install LanMountainDesktop.PluginTemplate

# 创建新插件
dotnet new lmd-plugin -n MyPlugin
  • Plugin SDK: LanMountainDesktop.PluginSdk (API 4.0.1)
  • 共享契约: LanMountainDesktop.Shared.Contracts
  • 迁移指南: PLUGIN_SDK_V4_MIGRATION.md

项目结构

LanMountainDesktop/
├── LanMountainDesktop/              # 桌面宿主应用
├── LanMountainDesktop.Launcher/     # 启动器 (OOBE、Splash、版本管理、更新)
├── LanMountainDesktop.PluginSdk/    # 官方插件 SDK
├── LanMountainDesktop.Shared.Contracts/  # 宿主与插件共享契约
├── LanMountainDesktop.Appearance/   # 主题与外观基础设施
├── LanMountainDesktop.Settings.Core/# 设置持久化基础设施
└── LanMountainDesktop.Tests/        # 测试项目

生态边界

项目 职责
本仓库 桌面宿主、插件运行时、Plugin SDK、共享契约
LanAirApp 插件市场元数据、开发者生态材料
LanMountainDesktop.SamplePlugin 官方示例插件

文档索引

技术栈

许可证

MIT