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

ZYC.Framework Logo

ZYC.Framework

一個基於 .NET 10 與 WPF 構建的高效能、模組化、可擴充的桌面自動化框架。

NuGet Version NuGet Downloads .NET 10 Platform License

NuGet manual workflow Build nightly workflow


📖 專案概覽

ZYC.Framework 是一個現代化的桌面自動化解決方案,結合了 WPF 的高表現力 UI 能力與 .NET 10 的最新技術特性。其核心目標是透過模組化架構,降低複雜自動化系統的開發與維護成本。

本專案深度整合 .NET Aspire 以實現分散式應用程式的協調與管理,同時支援 Blazor 與 WebView2 的混合架構,讓你可以依需求在 Web UI 與原生桌面體驗之間自由取捨。


✨ 主要特性

  • 模組化架構:業務邏輯高度解耦,支援動態載入與獨立開發。
  • 現代化 UI 體驗:基於 WPF,支援 多工作區 與 多分頁 操作模式。
  • 混合式開發:
    • 整合 WebView2,可嵌入現代 Web 應用程式。
    • 整合 Blazor,在桌面應用中重用 Web 元件。
  • 雲原生就緒:內建 .NET Aspire 支援,簡化服務探索、治理與部署流程。
  • 內建企業級能力(Batteries Included):
    • 任務管理:任務排程與完整的生命週期管理。
    • 例外處理:健全的全域錯誤捕捉與診斷機制。
    • 在地化支援:內建多語系架構,支援全球化應用需求。

🛠️ 技術棧

  • 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-TW.md)

👉 下載 Demo 安裝程式

建立專案

推薦的開始方式是全域 dotnet tool。先安裝或更新 CLI,然後透過 zyc new 建立 Host 專案:

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

如果需要手動整合,仍然可以透過 NuGet 直接加入核心套件:

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

說明文件

指南 用途
快速開始 建立專案,並了解手動建立的備用流程。
架構 理解啟動、模組載入、設定、導航和執行時服務。
導航與 Workspace 處理 URI 導航、Tab、Workspace 和還原時機。
擴充點 查看模組可以擴充 Host 的公開位置。
內建模組 查看內建模組及其主要職責。
模組開發 建構包含契約、ModuleBase、選單和 Tab 的執行時模組。
專案模板 選擇並理解 minimal 與 modular CLI 模板。
故障排查 診斷 CLI、模組載入、路由、NuGet 模組、Aspire 和終端問題。

功能

核心框架

功能 說明
模組化架構 支援模組化功能組織與動態載入。
多工作區佈局 支援工作區分割、合併與重新排列。
多分頁導航 基於 URI 的分頁導航與恢復。
可擴展選單 主選單、Hamburger 選單等擴展點。
通知系統 內建 Toast 與 Banner 通知。
互動輔助 BusyWindow、Overlay、拖放處理。
混合 UI WebView2 + Blazor 混合桌面應用。
設定與狀態 本地持久化設定與應用狀態。
單例執行 支援單實例應用啟動。
MCP 暴露 可將功能暴露為 MCP 工具。

內建模組

內建模組提供文字預覽與編輯、HexEditor 二進位編輯、檔案瀏覽、Web 內容及終端工具。透過 File → Open → Binary File 開啟二進位檔案。完整模組清單、用法與限制請查看 內建模組。

開發與交付

功能 說明
CLI 工具 命令列入口。
模組模板 快速建立新模組。
文件生成 README / Docs 生成。
NuGet 打包 NuGet 套件生成。
安裝包 桌面安裝程式建構。

📸 UI 預覽

workspace

工作區展示

multiple-tabs

多分頁展示

workspace-4

多工作區展示

workspace-4-tabs

工作區 + 分頁

aspire-dashboard

Aspire 儀表板

blazor-auth

Blazor(含驗證)

exception

例外處理

taskmanager

任務管理


📄 授權條款

本專案以 MIT License 授權並開源。


💖 致謝

本專案使用(或參考了部分實作)以下開源專案:

授權與著作權歸各專案原作者所有。 本倉庫對其使用與引用皆遵循各自的授權條款。


🤝 參與貢獻

歡迎提交 Issue 與 Pull Request。如果你有任何建議或發現問題,請隨時提出。