# cubes **Repository Path**: wallesoft/cubes ## Basic Information - **Project Name**: cubes - **Description**: No description available - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-09 - **Last Updated**: 2026-11-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Cubes 基于 Wails v3 的通用桌面应用开发框架。 ## 特性 - **插件系统** - 支持 DLL 和子进程两种插件模式,IPC 管道通信 - **开发插件管理** - 内置开发插件管理器(`pkg/devplugin`),环境检查与脚手架创建委托 cubes-cli - **数据库管理** - 基于 GORM + SQLite,支持可配置数据库名和自动迁移 - **事件总线** - 内置事件发布/订阅机制 - **备份与更新** - 应用数据备份和自动更新服务 - **前端模板** - Vue 3 + TDesign + Pinia 开箱即用 ## 项目结构 ``` cubes/ ├── internal/ │ ├── application/ # 应用服务层 │ │ ├── backup/ # 备份服务 │ │ └── update/ # 更新服务 │ ├── domain/ │ │ └── model/ # 领域模型 (BaseModel, PluginState, etc.) │ ├── infrastructure/ │ │ ├── database/ # 数据库初始化与迁移 │ │ ├── event/ # 事件总线 │ │ └── repository/ # 数据仓储 │ └── interface/ │ └── wails/ # Wails 服务绑定接口 ├── pkg/ │ ├── plugin/ # 插件系统核心 │ ├── devplugin/ # 开发插件管理器(环境检查/脚手架创建,委托 cubes-cli) │ ├── pluginruntime/ # 插件运行时 (供子进程使用) │ ├── pluginsdk/ # 插件 SDK │ └── validator/ # 验证工具 ├── frontend/ # 前端模板 ├── config/ # 配置示例 └── examples/ # 示例应用 ``` ## 快速开始 ```bash # 安装依赖 go mod tidy # 在应用中导入 import ( "gitee.com/wallesoft/cubes/internal/infrastructure/database" "gitee.com/wallesoft/cubes/pkg/plugin" ) ``` ### 开发插件支持(可选) 在 `app.Config` 中配置开发插件目录与 cubes-cli 路径,框架会自动创建开发插件管理器: ```go cfg := cubes.Config{ PluginDir: pluginDir, // 已安装插件目录 DevPluginDir: devPluginDir, // 开发插件目录(缺省为 PluginDir 同级 plugins-dev) CubesCLIPath: "", // 为空时从 PATH 查找 cubes-cli } // 启动后通过 app.DevPluginManager() 获取管理器: // CheckEnvironment() 检查 Go / Node.js / cubes-cli // CreatePlugin() 调用 cubes-cli plugin init 创建脚手架 // ListDevPlugins() 列出开发插件 ``` 配套 CLI 工具见 [cubes-cli](https://gitee.com/wallesoft/cubes-cli)。 ## 许可证 非商业使用:免费(详见 [LICENSE](LICENSE)) 商业用途需书面授权,请联系 x@walle.online