Skip to content

About

ExusiAI Assistant是面向中小学课堂大屏的插件化 Windows 教学桌面平台,基于.NET 8/WPF开发,本软件拓展形式以插件优先

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

ExusiAI Assistant Desktop

ExusiAI Assistant Desktop:课堂桌面新体验

面向中小学课堂大屏的插件化 Windows 教学桌面平台。

ExusiAI 本体专注桌面壳、扩展运行时、设置、主题、日志和市场边界;屏幕批注、点名、课件管理、文件查看等教学能力以独立扩展交付,优先保证课堂可靠性、响应速度和可维护性。

当前版本:0.2.0-preview.4 · Windows 10/11 · .NET 8 / C# 12 / WPF · GPL-3.0-only
当前仍处于 Preview 阶段,不建议用于生产课堂环境。

当前能力

  • .NET 8 / C# 12 / WPF / MVVM 桌面壳;
  • 统一 package.json,可表达 Plugin、Theme、Widget、Provider 等包类型;
  • 清单严格解析、兼容性检查、重复 ID 检测和包路径逃逸防护;
  • 可回收 AssemblyLoadContext、插件初始化/启动/停止生命周期和故障隔离;
  • 与通用扩展协议分离的 WPF 导航扩展点;
  • 8 套编辑器风格配色、System 自动切换、本地版本化设置和文件日志;
  • Windows 11 原生 Mica / Acrylic 材质与 DWM 窗口圆角;
  • 独立插件工作台,插件页面不再挤占主菜单;
  • 插件可在运行时启用、禁用和重试,偏好会跨启动保留;原生平台可选择进程级挂起协议,但停用仍必须停止托管后台服务并移除界面贡献;
  • 可搜索的本地资源库、统一插件目录和扩展管理页面;
  • 支持 ZIP 插件安全导入、导出、卸载,也可直接将插件文件夹放入本地目录;
  • 内置 ClassIsland 源码集成:在 ExusiAI 同一进程运行原版 Avalonia 界面与课表、组件、临时换课逻辑,不打包或启动 ClassIsland.exe;嵌入窗口使用与 WPF 宿主兼容的重定向合成面;停用时完整停止并释放托管服务和窗口,重新启用时在保留的进程级 Avalonia 平台上重建会话;ClassIsland 插件包在下次启动时事务安装,失败保留旧版本和待重试包;默认保留原版独立主题,可选择跟随宿主;
  • ArkPets 桌宠:保持 ArkPets 的模型 / 行为 / 选项结构,兼容 Ark-Models 全角色模型库与 direct-start 配置;ExusiAI 可自动管理上游便携运行核心、模型下载、localhost IPC 实时控制和随宿主启动,桌宠不会作为独立开机程序常驻;与 ClassIsland 原生运行集成保持独立并提供可选课堂联动;
  • 文件查看器:TXT/Markdown 异步增量预览、CSV 分页解析、DOC/DOCX 受限文本、XLSX 多工作表分页、PPT 程序内源码转换基础预览、PPTX 基础图文与内嵌视频、PDF 分页搜索和程序内 LibVLC DLL 视频解码;不打包或启动第三方格式转换 exe,复杂 Office 排版仍在完善;
  • Windows GitHub Actions 构建及单元测试。

构建与运行

需要 Windows 10/11、.NET 8 SDK 和 .NET 9 SDK(ClassIsland 原版源码构建):

dotnet restore ExusiAI.sln
dotnet build ExusiAI.sln --configuration Release
dotnet test ExusiAI.sln --no-build --configuration Release
dotnet run --project src/ExusiAI.Desktop

构建或发布 Desktop 时,ClassIsland、文件查看器、课堂点名器和 ArkPets 桌宠会复制到输出目录的 packages 安装源。ClassIsland 从 third_party/ClassIsland 源码编译并携带同进程运行所需 DLL 与资源,关闭上游 apphost,排除所有上游 exe;不使用 RuntimeSeed 或下载独立 ClassIsland 发行程序。文件查看器携带程序内 PPT 转换、PDF 和视频解码 DLL,不依赖 LibreOffice 服务或外部转换程序。首次运行或内置插件升级时,插件会安全同步到与外部插件相同的本地插件目录;用户卸载内置插件后不会在下次启动时自动恢复。

创建可分发的 Windows x64 目录:

dotnet publish src/ExusiAI.Desktop/ExusiAI.Desktop.csproj `
  --configuration Release `
  --runtime win-x64 `
  --self-contained true `
  -p:PublishSingleFile=false `
  --output artifacts/ExusiAI-win-x64

发布目标会自动带上四个内置插件包,并单独发布 viewer 子目录:自包含发布时,查看器携带自己的 .NET/WPF 运行库与 Office、PDF、视频 DLL。移除 SDK 自带的可选 createdump.exe 崩溃转储工具,查看器目录只允许自身入口 exe;自动生成崩溃转储不属于该包功能。重新发布会先移除旧查看器目录,避免遗留旧依赖或外部 exe。分发时请保留整个 artifacts/ExusiAI-win-x64 目录。用户可在“扩展管理”中导入或导出 ZIP、卸载插件、打开统一插件目录;手动安装时将含 package.json 的插件文件夹放入该目录并重启。

代码边界

项目 职责
ExusiAI.Extension.Abstractions 稳定、无 UI 依赖的包模型与生命周期协议
ExusiAI.Extension.Runtime 不可信清单的发现/验证、加载上下文和生命周期
ExusiAI.Extension.SDK 面向扩展作者的可选辅助 API
ExusiAI.Extension.Wpf 仅供 WPF UI 扩展使用的贡献协议
ExusiAI.Theme 与 WPF 无关的主题选择和设计令牌
ExusiAI.Infrastructure 本地路径、设置、日志和 Windows 适配器
ExusiAI.Marketplace 可查询的本地包目录;不负责加载代码
ExusiAI.FileViewer.Core 无 WPF 依赖的查看器 Provider 契约、安全预算及流式解析
ExusiAI.Desktop WPF 表现层和唯一组合根

设计与安全说明见 docs/architecture,包规范见 docs/package-spec/package-manifest.md。文件查看器的路线图与兼容矩阵会随每阶段更新。

明确不包含

当前 Preview 不包含真实在线市场、云同步、AI/OCR、账号、遥测、自动更新或安装器。

开源许可证

本项目整体以 GNU General Public License v3.0 only(SPDX: GPL-3.0-only)发布。ClassIsland 原生运行时及集成保留其原作者、贡献者及许可证声明;详情见插件内的 THIRD_PARTY_NOTICES.md。参与开发前请阅读 贡献指南。

About

ExusiAI Assistant是面向中小学课堂大屏的插件化 Windows 教学桌面平台,基于.NET 8/WPF开发,本软件拓展形式以插件优先

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages