架构设计采用内核布局 全局共享模块 独立应用外壳的模块化系统。超级管理员通过配置组合模块生成独立应用每个应用拥有专属侧边栏与布局确保不污染原版代码支持平滑升级与渐进式扩展。存储方案所有动态配置与映射统一使用 SQLite~/.hermes/project/apps.db包含三个表apps应用列表、app_modules应用-模块关联、modules模块注册表。JSON 仅用于极静态配置动态数据与高频读写场景彻底迁移至 SQLite。模块发现机制禁止文件系统自动扫描。开发者完成模块后需在注册表中手动添加元数据ID、名称、图标、组件路径系统方可识别并渲染。模块纯内容化——模块组件不渲染侧边栏仅负责业务视图侧边栏由应用层 AppLayout.vue 统一接管。目录结构packages/client/src/project/├── modules/ ← 全局共享模块纯视图│ └── registry.ts ← ★ 模块注册表必须在此注册新模块├── layouts/ ← 应用布局模板├── apps/ ← 独立应用外壳│ └── daily/ ← 示例应用│ ├── index.vue ← 入口文件│ └── AppLayout.vue ← 布局侧边栏开发规范1. 模块开发格式在 modules/ 下创建组件然后在 registry.ts 中注册2. 应用配置应用数据存在 ~/.hermes/project/apps.db3. 模块业务数据各自独立~/.hermes/modules/data/模块名/xxx.db4. 严格隔离核心代码仅修改 router/index.ts、App.vue、登录逻辑及新增架构文件访问地址- 示例应用http://192.168.1.8:8648/#/app/daily- 管理后台http://192.168.1.8:8648/#/admin这个方案的核心就是模块和应用的映射关系存在 SQLite 里前端通过 API 动态读取配置来渲染侧边栏和内容区。
临时设计方案
架构设计采用内核布局 全局共享模块 独立应用外壳的模块化系统。超级管理员通过配置组合模块生成独立应用每个应用拥有专属侧边栏与布局确保不污染原版代码支持平滑升级与渐进式扩展。存储方案所有动态配置与映射统一使用 SQLite~/.hermes/project/apps.db包含三个表apps应用列表、app_modules应用-模块关联、modules模块注册表。JSON 仅用于极静态配置动态数据与高频读写场景彻底迁移至 SQLite。模块发现机制禁止文件系统自动扫描。开发者完成模块后需在注册表中手动添加元数据ID、名称、图标、组件路径系统方可识别并渲染。模块纯内容化——模块组件不渲染侧边栏仅负责业务视图侧边栏由应用层 AppLayout.vue 统一接管。目录结构packages/client/src/project/├── modules/ ← 全局共享模块纯视图│ └── registry.ts ← ★ 模块注册表必须在此注册新模块├── layouts/ ← 应用布局模板├── apps/ ← 独立应用外壳│ └── daily/ ← 示例应用│ ├── index.vue ← 入口文件│ └── AppLayout.vue ← 布局侧边栏开发规范1. 模块开发格式在 modules/ 下创建组件然后在 registry.ts 中注册2. 应用配置应用数据存在 ~/.hermes/project/apps.db3. 模块业务数据各自独立~/.hermes/modules/data/模块名/xxx.db4. 严格隔离核心代码仅修改 router/index.ts、App.vue、登录逻辑及新增架构文件访问地址- 示例应用http://192.168.1.8:8648/#/app/daily- 管理后台http://192.168.1.8:8648/#/admin这个方案的核心就是模块和应用的映射关系存在 SQLite 里前端通过 API 动态读取配置来渲染侧边栏和内容区。