2.8 KiB
2.8 KiB
GO-DESK-9: 插件系统
状态:Phase 0 已实施完成,待推进 Phase 1 创建日期:2026-05-01 前置文档:
../../02-架构设计/插件化架构方案.md(初版调研)
一、背景与动机
1.1 当前痛点
| 痛点 | 现状 | 影响 |
|---|---|---|
| app.go God Object | 825 行,47 个方法全在一个 struct 上 | 难以维护,新功能必须改核心文件 |
| App.vue 硬编码映射 | getComponent() 只有 2 个 key 的字面量对象 |
新 Tab 必须改源码 |
| FileEditorPanel if/else 链 | 10 层 v-if/v-else-if | 新增文件类型需改 5+ 处 |
| 前后端配置断层 | 后端定义 3 个 Tab,前端硬编码只保留 file-system | 新 Tab 无法透传到前端 |
| 无扩展机制 | 所有功能编译时固定 | 无法按需加载,安装包膨胀 |
1.2 目标
建立两层插件体系(内置 + 外部市场),使 u-desk 从"单体应用"演进为可扩展平台。
二、文档结构
GO-DESK-9.插件系统/
├── README.md ← 本文件(总览)
├── 设计文档/
│ ├── 架构设计.md ← 系统形态、两层体系、设置面板原型
│ ├── 接口定义.md ← Go 后端 + TS 前端完整接口
│ ├── 数据模型.md ← plugin_state 表 DDL 与存储策略
│ └── 复杂度与价值评估.md ← 投入产出分析 + 远期风险预警
├── 任务规划/
│ ├── 实施路线图.md ← Phase 0~5 全景时间线与范围
│ └── Phase0-基础设施.md ← Phase 0 详细步骤与验证标准
└── 决策记录/
└── README.md ← 关键技术决策(adapter 模式等)
三、快速导航
| 如果你想看 | 去哪里 |
|---|---|
| 系统长什么样 | 设计文档/架构设计.md |
| UI 插槽怎么切 | 设计文档/架构设计.md → 第四章 |
| 接口怎么定义的 | 设计文档/接口定义.md |
| 数据库存什么 | 设计文档/数据模型.md |
| 复杂度值不值 | 设计文档/复杂度与价值评估.md |
| 分几步做、每步做什么 | 任务规划/实施路线图.md |
| Phase 0 具体怎么动手 | 任务规划/Phase0-基础设施.md |
| 为什么选这个方案不选那个 | 决策记录/README.md |
四、里程碑概览
Phase 0 ████████████ 基础设施骨架(当前目标)
Phase 1 ████ Draw.io 验证插件
Phase 2 █████████████ 预览系统重构
Phase 3 █████████████ Tab 插件化 + 设置面板 + UI 插槽
Phase 4 ██████ 外部插件支持
Phase 5 ░░░░░░░░░░░░░ 插件市场(远景)
每个 Phase 可独立交付验证。