Aurelio 是一个基于 .NET 8 和 Avalonia UI 框架开发的现代化跨平台桌面工作台。它提供了强大的插件系统和丰富的功能模块,支持高度可扩展的应用程序架构。
- 🔌 插件系统:强大的插件架构,支持功能扩展和定制
- 📁 文件管理:内置文件浏览器和多种文件查看器
- 🖥️ 终端集成:内置终端模拟器,支持命令行操作
- 🌍 多语言支持:支持中文、英文等多种语言
- 🎨 现代化界面:基于 Fluent Design 的美观用户界面
- ⚡ 高性能:基于 .NET 8 的高性能运行时
- 🔧 可扩展性:模块化设计,易于扩展和定制
- .NET 8.0:现代化的 .NET 运行时
- Avalonia UI 11.3.2:跨平台 UI 框架
- FluentAvalonia UI:Fluent Design 风格组件库
- ReactiveUI:响应式 MVVM 框架
- CommunityToolkit.Mvvm:MVVM 工具包
- Newtonsoft.Json:JSON 序列化
- SkiaSharp:2D 图形渲染
- SharpCompress:压缩文件处理
- Flurl.Http:HTTP 客户端
- AvaloniaEdit:代码编辑器组件
- Ursa Controls:额外的 UI 控件库
- Semi.Avalonia:Semi Design 主题
💡 快速体验:🔗 点击这里下载最新版本
| 架构 | DMG 安装包 | APP 压缩包 |
|---|---|---|
| x64 | 🍎 Aurelio.osx.mac.x64.dmg | 📁 Aurelio.osx.mac.x64.app.zip |
| ARM64 | 🍎 Aurelio.osx.mac.arm64.dmg | 📁 Aurelio.osx.mac.arm64.app.zip |
| 架构 | AppImage |
|---|---|
| x64 | 🐧 Aurelio.linux.x64.AppImage |
| ARM64 | 🐧 Aurelio.linux.arm64.AppImage |
| ARM | 🐧 Aurelio.linux.arm.AppImage |
| Windows | Linux | macOS | |
|---|---|---|---|
| x64 | ✅️ | ✅️ | ✅ |
| x86 | ✅️ | ✅️ | ❌ |
| ARM64 | ✅️ | ✅️ | ❔ |
| ARM32 | ❌ | ❔ | ❔ |
图例说明:
- ✅ 完全支持并经过测试
- ❔ 理论支持,但未经充分测试
- ❌ 不支持
- 操作系统:Windows 7+、macOS 10.15+、Linux
- .NET Runtime:.NET 8.0
- 内存:至少 512MB RAM
- 存储空间:至少 120MB 可用空间
-
克隆仓库
git clone https://github.com/Yeppioo/Aurelio.git cd Aurelio -
安装 .NET 8 SDK
访问 .NET 官网 下载并安装 .NET 8 SDK
-
还原依赖
dotnet restore
-
构建项目
dotnet build --configuration Release
-
运行应用程序
dotnet run --project Aurelio.Main/Aurelio.Desktop
# Windows
dotnet publish Aurelio.Main/Aurelio.Desktop -c Release -r win-x64 --self-contained
# macOS
dotnet publish Aurelio.Main/Aurelio.Desktop -c Release -r osx-x64 --self-contained
# Linux
dotnet publish Aurelio.Main/Aurelio.Desktop -c Release -r linux-x64 --self-containedAurelio/
├── Assets/ # 资源文件
│ ├── Icon.png # 应用程序图标
│ ├── Icon.Border.png # 带边框图标
│ └── Version.txt # 版本信息
├── Aurelio.Main/ # 主应用程序
│ ├── Aurelio/ # 核心库
│ │ ├── Public/ # 公共模块
│ │ │ ├── Module/ # 功能模块
│ │ │ ├── Langs/ # 国际化资源
│ │ │ ├── Controls/ # 自定义控件
│ │ │ └── ViewModels/ # 视图模型
│ │ └── Views/ # 用户界面
│ │ ├── Main/ # 主窗口
│ │ └── Overlay/ # 覆盖层
│ └── Aurelio.Desktop/ # 桌面应用程序入口
├── Aurelio.Plugin/ # 插件系统
│ ├── Aurelio.Plugin.Base/ # 插件基础接口
│ ├── Aurelio.Plugin.Simple/ # 简单插件示例
│ └── Aurelio.Plugins/ # 插件示例
│ └── Minecraft/ # Minecraft 插件示例
│ ├── Aurelio.Plugin.Minecraft/ # 主插件
│ └── LiteSkinViewer/ # 皮肤查看器
└── Aurelio.Web/ # Web 组件
Aurelio 采用模块化的插件架构,支持功能扩展和定制。
public interface IPlugin
{
string Id { get; set; }
string Name { get; set; }
string Author { get; set; }
string Description { get; set; }
object SettingPage { get; set; }
Version Version { get; set; }
RequirePluginEntry[] Require { get; set; }
object? PackageInfo { get; set; }
int Execute();
}- 实例管理:管理多个 Minecraft 游戏实例
- 账户系统:支持正版和离线账户
- 皮肤查看器:2D/3D 皮肤预览功能
- 启动器功能:集成的 Minecraft 启动功能
注:Minecraft 相关功能通过第三方插件提供,不属于核心应用功能
Aurelio 支持多语言界面:
- 中文(简体):默认语言
- 中文(繁体):zh-hant
- 英文:en
语言资源文件位于 Public/Langs/ 目录下。
-
文件浏览器
- 支持多种文件格式预览
- 集成的图片查看器
- 日志文件查看器
-
终端模拟器
- 内置终端功能
- 支持命令行操作
-
任务中心
- 后台任务管理
- 进度监控
-
设置页面
- 应用程序配置
- 插件管理
- 主题设置
-
开发环境要求
- Visual Studio 2022 或 JetBrains Rider
- .NET 8.0 SDK
- Git
-
推荐的 IDE 扩展
- Avalonia for Visual Studio
- Avalonia for Rider
# 调试模式运行
dotnet run --project Aurelio.Main/Aurelio.Desktop --configuration Debug创建自定义插件的步骤:
-
创建插件项目
dotnet new classlib -n MyCustomPlugin cd MyCustomPlugin dotnet add reference ../Aurelio.Plugin/Aurelio.Plugin.Base/Aurelio.Plugin.Base.csproj dotnet add reference ../Aurelio.Main/Aurelio/Aurelio.csproj -
实现插件接口
using Aurelio.Plugin.Base; public class MyPlugin : IPlugin { public string Id { get; set; } = "com.example.myplugin"; public string Name { get; set; } = "My Custom Plugin"; public string Author { get; set; } = "Your Name"; public string Description { get; set; } = "Plugin description"; public object SettingPage { get; set; } public Version Version { get; set; } = new Version(1, 0, 0); public RequirePluginEntry[] Require { get; set; } = []; public object? PackageInfo { get; set; } public int Execute() { // 插件初始化逻辑 return 0; } }
-
注册插件事件
public int Execute() { InitEvents.AfterUiLoaded += OnAfterUiLoaded; return 0; } private void OnAfterUiLoaded(object? sender, EventArgs e) { // UI 加载完成后的逻辑 }
- 动态加载:支持运行时加载和卸载插件
- 接口标准化:统一的插件接口规范
- 依赖管理:自动处理插件间的依赖关系
- 配置管理:独立的插件配置系统
- 图片文件:PNG, JPG, GIF, BMP, SVG
- 文本文件:TXT, LOG, JSON, XML, YAML
- 代码文件:C#, Java, Python, JavaScript 等
- 压缩文件:ZIP, RAR, 7Z, TAR
- 快速预览:无需打开外部程序即可预览文件
- 批量操作:支持批量文件操作
- 搜索功能:强大的文件搜索和过滤功能
- 收藏夹:常用文件夹快速访问
- 深色主题:护眼的深色界面
- 浅色主题:经典的浅色界面
- 自动切换:根据系统主题自动切换
- 自定义主题:支持用户自定义主题色彩
- 标签页系统:多标签页工作流
- 分屏显示:支持分屏查看多个内容
- 浮动窗口:可拖拽的浮动面板
- 自适应布局:响应式界面设计
作为插件系统的示例,项目包含了一个功能完整的 Minecraft 插件,展示了插件系统的强大能力:
- 实例管理:管理多个独立的 Minecraft 游戏实例
- 版本管理:支持原版、Forge、Fabric、Quilt、NeoForge 等
- 模组管理:集成的模组安装和管理功能
- 账户系统:支持 Microsoft 账户和离线账户
- 皮肤查看器:2D/3D 皮肤预览功能
- 启动器功能:完整的游戏启动流程
- 模块化设计:每个功能都是独立的模块
- 事件驱动:基于事件系统的插件通信
- 配置管理:独立的插件配置系统
- UI 集成:无缝集成到主应用界面
注:此插件仅作为插件系统能力的演示,不代表应用程序的核心定位
# 检查 .NET 运行时
dotnet --version
# 重新安装依赖
dotnet restore --force
# 清理并重新构建
dotnet clean
dotnet build- 检查插件文件是否完整
- 验证插件依赖是否满足
- 查看应用程序日志文件
- 关闭不必要的插件
- 减少同时打开的标签页数量
- 检查系统资源使用情况
- Windows:
%APPDATA%\Yeppioo.Aurelio\Logs\ - macOS:
~/Library/Application Support/Yeppioo.Aurelio/Logs/ - Linux:
~/.config/Yeppioo.Aurelio/Logs/
我们欢迎社区贡献!请遵循以下步骤:
- Fork 项目
- 创建功能分支:
git checkout -b feature/AmazingFeature - 提交更改:
git commit -m 'Add some AmazingFeature' - 推送分支:
git push origin feature/AmazingFeature - 创建 Pull Request
- 遵循 C# 编码规范
- 添加适当的注释和文档
- 确保代码通过所有测试
- 保持向后兼容性
本项目采用 GPL-3.0 许可证。详情请参阅 LICENSE 文件。
- 官方网站:aurelio.yeppioo.vip
- GitHub 仓库:https://github.com/Yeppioo/Aurelio
- 作者:Yeppioo
- 邮箱:yeppioo@qq.com
感谢以下开源项目的支持:
- Avalonia UI - 跨平台 UI 框架
- .NET - 应用程序平台
- FluentAvalonia - Fluent Design 组件
- ReactiveUI - 响应式 MVVM 框架
- SkiaSharp - 2D 图形库
- Newtonsoft.Json - JSON 处理库
