English | 日本語 | 简体中文 | 繁體中文 | 한국어 |

ZYC.Framework Logo

ZYC.Framework

基于 .NET 10WPF 构建的高性能、多模块、可扩展自动化开发框架。

NuGet Version NuGet Downloads .NET 10 Platform License

NuGet manual workflow Build nightly workflow


📖 项目简介

ZYC.Framework 是一个现代化的桌面自动化解决方案。它结合了 WPF 的强大 UI 表现力和 .NET 10 的最新特性,旨在通过模块化架构简化复杂自动化系统的开发流程。

项目深度集成了 .NET Aspire 用于分布式应用编排,并支持 BlazorWebView2 的混合开发模式,让你可以自由选择 Web 或原生技术栈。


✨ 核心特性

  • 多模块架构:解耦业务逻辑,支持动态加载与独立开发。
  • 现代化 UI 支持:基于 WPF,支持多工作区(Multi-Workspace)与多标签页(Multi-Tab)交互。
  • 混合开发模式
    • 集成 WebView2,轻松嵌入现代 Web 应用。
    • 集成 Blazor,实现 Web 组件与桌面端逻辑的无缝复用。
  • 云原生就绪:内置对 .NET Aspire 的支持,简化服务发现、治理与部署。
  • 企业级内置支持
    • 任务管理:任务调度与生命周期管理。
    • 异常处理:全局错误捕获与日志追溯机制。
    • 本地化框架:内置多语言支持方案,适应全球化场景。

🛠️ 技术栈

  • Runtime: .NET 10 SDK
  • UI Framework: WPF (Windows Presentation Foundation)
  • Hybrid UI: WebView2 + Blazor
  • Orchestration: .NET Aspire
  • Architecture: Modular Monolith / Plugin-based

🚀 快速开始

请参阅我们准备好的详细指南:

👉 快速开始指南 (quick-start.zh-CN.md)

👉 下载 Demo 安装包

创建项目

推荐的开始方式是全局 dotnet tool。先安装或更新 CLI,然后通过 zyc new 创建 Host 项目:

dotnet tool install --global ZYC.Framework.CLI --version 1.4.3
dotnet tool update --global ZYC.Framework.CLI --version 1.4.3
zyc new MyCompany.Tools --template minimal

如果需要手动集成,仍然可以通过 NuGet 直接添加核心包:

dotnet add package ZYC.Framework.Alpha --version 1.4.3

文档

指南 用途
快速开始 创建项目,并了解手动创建的备用流程。
架构 理解启动、模块加载、配置、导航和运行时服务。
导航与 Workspace 处理 URI 导航、Tab、Workspace 和恢复时机。
扩展点 查看模块可以扩展 Host 的公开位置。
内置模块 查看内置模块及其主要职责。
模块开发 构建包含契约、ModuleBase、菜单和 Tab 的运行时模块。
项目模板 选择并理解 minimalmodular CLI 模板。
故障排查 诊断 CLI、模块加载、路由、NuGet 模块、Aspire 和终端问题。

功能

核心框架

功能 说明
模块化架构 支持按模块组织功能,并支持动态加载与扩展。
多工作区布局 支持工作区分割、合并、方向切换和位置交换。
多标签页导航 支持基于 URI 的标签页导航、恢复和跨工作区移动。
可扩展菜单系统 提供主菜单、Hamburger 菜单、窗口标题栏、状态栏等扩展点。
通知系统 内置 Toast、Banner 等通知能力,用于状态和错误提示。
交互辅助能力 提供 BusyWindow、Overlay、拖放处理等桌面交互基础设施。
混合界面支持 支持通过 WebView2 嵌入 Web 内容,并可结合 Blazor 构建混合应用。
配置与状态持久化 支持配置、应用状态和任务记录的本地持久化。
单实例运行 支持应用单实例启动控制。
MCP 暴露机制 可将框架和模块中的公开能力自动暴露为 MCP 工具。

内置模块

README 只保留高层功能概览。当前模块清单、加载说明和模块职责请查看 内置模块

开发与交付

功能 说明
CLI 工具 提供命令行入口,支持模块级命令扩展。
模块脚手架 支持通过模板快速生成新模块及其抽象项目。
文档生成 支持生成 README 和文档模板内容。
NuGet 打包 支持框架和模块的 NuGet 打包流程。
安装包构建 支持生成桌面安装包,方便分发与部署。

📸 界面预览

workspace

工作区展示

multiple-tabs

多 Tab 展示

workspace-4

多工作区展示

workspace-4-tabs

多工作区 Tab 展示

aspire-dashboard

Aspire 仪表板

blazor-auth

Blazor with Auth

exception

异常处理

taskmanager

任务管理


📄 开源协议

本项目基于 MIT License 开源。


💖 鸣谢

本项目使用了以下开源库/参考了其部分实现:

以上项目的许可证归其原作者所有; 本仓库在遵循对应许可证条款的前提下使用/参考其实现。


🤝 贡献

如果你有任何建议或发现了 Bug,欢迎提交 Issue 或 Pull Request。