生态总览
曦寒不是一个仓库,而是一组可以独立使用、也可以叠起来用的开源项目:后端基座、前端基座与基础应用是主推产品,打印、流程、表单、报表等设计器是生态产品。本页讲它们各自是什么、彼此什么关系、你的场景该从哪个进去。
它们各有独立的文档站,本站只负责生态层面的导览与共同的贡献约定。
主推产品
后端基座、前端基座与基础应用各管一层,各自独立发版,可以单独引用,也能组合成一套完整的中后台。
| 定位 | 项目 | 技术栈 | 文档站 |
|---|---|---|---|
| 后端基座 | XiHan.Framework | .NET | framework.docs.xihanfun.com |
| 前端基座 | XiHan.UI | TypeScript · Vue · React · Web Components | ui.docs.xihanfun.com |
| 基础应用 | XiHan.BasicApp | .NET + Vue | basicapp.docs.xihanfun.com |
XiHan.Framework · 后端基座
快速、轻量、高效、用心的 .NET 开发框架:微内核、能力图谱、管道执行。是为长期维护的 .NET 后端设计的开发框架:业务写成与协议无关的操作,一份契约同时服务 HTTP、gRPC、MCP 和命令行,每次调用都走同一条管道;持久化、缓存、消息、租户和权限都是可替换的包,开发时不需要任何外部设施,上线时换 Provider,业务代码不动。曦寒懿(XiHanFun)开源生态的后端基座。
按需引用的 NuGet 包,每个特性带一份清单,按能力 ID 声明提供和依赖什么;内核在启动前求解能力图谱,缺失、循环、版本冲突都直接报错,再按拓扑顺序装配。
XiHan.UI · 前端基座
快速、轻量、高效、用心的框架无关 Headless UI 组件库。是面向企业级前端的设计系统运行时,无头内核,多框架适配器。提供基础组件与 AI 组件,覆盖从中后台到 AI 对话的界面构建场景。曦寒懿(XiHanFun)开源生态的前端基座。
XiHan.BasicApp · 基础应用
基于 XiHan.Framework 和 XiHan.UI 的超高颜值通用中后台内核。开箱即用,提供 RBAC + 数据范围 + 字段脱敏的权限管理、多租户隔离、代码生成、实时通信、灰度发布、AI 等核心能力,满足新型企业级中后台管理场景。属于曦寒懿(XiHanFun)开源生态的基础应用。
生态产品
生态产品是面向具体业务场景的可视化设计器,每款一个仓库、一个文档站,可以单独安装使用。
| 设计器 | 项目 | 文档站 |
|---|---|---|
| 打印设计器 | XiHan.PrintDesigner | print.docs.xihanfun.com |
| 流程设计器 | XiHan.FlowDesigner | flow.docs.xihanfun.com |
| 表单设计器 | XiHan.FormDesigner | form.docs.xihanfun.com |
| 报表设计器 | XiHan.ReportDesigner | report.docs.xihanfun.com |
- 打印设计器:可视化设计打印模板,在浏览器里预览与打印;配合本地打印客户端可静默直打。
- 流程设计器:可视化编排流程图与审批流,产出与流程引擎无关的流程定义,由使用方对接自己的引擎。
- 表单设计器:可视化搭建表单,同一份 JSON 定义既驱动设计器,也驱动业务页面里的表单渲染。
- 报表设计器:可视化设计数据报表与看板,数据由使用方通过回调提供。
这些设计器都与前端框架无关,以原生 Web Components 交付,Vue、React、Angular 或不使用框架的页面都能直接使用;运行时不引入任何第三方包。模板只是 JSON,不含也不执行任何代码;组件不发网络请求,数据、存储与权限都经回调交给使用方。
彼此什么关系
┌───────────────────────────────┐
│ XiHan.BasicApp │ 企业级中后台,可直接投产
│ 后端 modules/ · 前端 src/ │
└───────┬───────────────┬───────┘
│ 引用 NuGet │ 引用 npm 包
┌───────▼───────┐ ┌────▼─────────────┐
│ XiHan.Framework│ │ XiHan.UI │
│ .NET 能力包 │ │ 设计系统运行时 │
└───────────────┘ └─────────────────┘两条依赖关系值得先说清楚:
- BasicApp 的后端确实建立在 Framework 之上:它引用框架的 NuGet 包,认证、授权、数据访问、多租户等底层能力都来自框架,BasicApp 只写业务。想看框架能力在真实业务里怎么落地,读 BasicApp 的源码是最快的路径。
- BasicApp 的前端同样建立在 UI 之上:自 BasicApp v4.0.0 起,前端整体用 XiHan.UI 重建,naive-ui 全量下线。想看组件库在真实业务里怎么用,读 BasicApp 前端的源码是最快的路径。
Framework 与 UI 之间没有依赖关系,一个是 .NET 后端包,一个是前端库,各自可以单独使用。
生态产品的设计器建立在 UI 之上:运行时只依赖本产品与 XiHan.UI 的包,界面直接用 UI 的组件与设计器零件。
我该从哪个进去
| 你的场景 | 从这里开始 |
|---|---|
| 要在自己的 .NET 项目里用这套框架、只取其中几个能力 | 开发框架 · 快速上手 |
| 要一套现成的中后台系统,改改就能上线 | 基础应用 · 快速开始 |
| 要在自己的前端项目里用组件库,或做跨框架的设计系统 | 视图组件 · 架构总览 |
| 要在自己的页面里嵌打印、流程、表单或报表设计器 | 打印设计器 · 流程设计器 · 表单设计器 · 报表设计器 |
| 还在选型,想先看清楚适合不适合 | 为什么选择曦寒框架 · 为什么选择曦寒基础应用 |
| 想先跑起来看看长什么样 | 在线预览 |
| 要让 Claude Code、Cursor 这类 AI 编程工具按正确的 API 写代码 | AI 辅助开发 |
AI 辅助开发
三个文档站都有「AI 辅助开发」一册:给 AI 编程工具的提示词与使用技能、MCP 服务端接入,以及可以直接放进上下文的 LLMs.txt。框架与组件库还各自随版本发布一个离线 CLI,同时也是 MCP 服务端:
| 项目 | 工具 | 在项目根接入 | 文档 |
|---|---|---|---|
| XiHan.Framework | .NET 工具 XiHan.Framework.Cli,查包、特性清单、配置键与文档 | dnx XiHan.Framework.Cli --yes -- setup --client claude | 开发框架 · For Agents |
| XiHan.UI | npm 包 @xihan-ui/cli,查组件 API、示例、设计令牌与 design.md | npx -y @xihan-ui/cli setup --client claude | 视图组件 · For Agents |
| XiHan.BasicApp | 不单独发包,后端与前端分别接入上面两个服务端 | 在仓库根依次运行上面两条命令 | 基础应用 · MCP Server |
两个 CLI 的数据随包离线发布,与各自产品同号。setup 读出项目引用的版本,把钉住版本的 MCP 配置与使用技能写进项目,AI 工具查到的就是项目在用的那一版;--client 还可以换成 cursor、vscode 或 codex。
版本与发布
各仓库独立发版,版本号互不对齐:
- Framework 发布到 NuGet,版本真源是
framework/Directory.Build.props - BasicApp 随仓库发布,版本真源是
backend/props/version.props - UI 发布到 npm,全部公开包始终同一个版本号,版本真源是
ui/packages/*/*/package.json - 生态产品的设计器各自发布到 npm,作用域分别是
@xihan-print、@xihan-flow、@xihan-form、@xihan-report,版本真源是各仓<产品>/packages/*/package.json(如print/packages/*/package.json)
三个产品站导航栏的末项显示该项目当前的版本号;本站「生态」菜单里的徽章显示各项目的发布阶段。
参与进来
三个仓库在 GitHub(主库)、Gitee 与 GitCode(同步备库)上都可访问,Issue 与 PR 三个平台都收。共同的约定见参与贡献指南与行为公约。
