From 190c191ce48994fde22820963cd3101c47e76b2d Mon Sep 17 00:00:00 2001 From: Blizzard Date: Fri, 12 Jun 2026 15:57:03 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=A1=8C=E9=9D=A2=E7=AB=AF=E5=B7=A5?= =?UTF-8?q?=E4=B8=9A=E5=8C=96=E5=8D=87=E7=BA=A7=E8=A7=84=E5=88=92=EF=BC=88?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E7=B3=BB=E7=BB=9F/=E7=9C=9F=E6=A1=8C?= =?UTF-8?q?=E9=9D=A2=E9=9B=86=E6=88=90/UX=20=E9=AA=A8=E6=9E=B6/=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E5=8F=AF=E4=BF=A1/=E5=B8=83=E5=B1=80=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- desktop-industrial-plan.md | 62 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 desktop-industrial-plan.md diff --git a/desktop-industrial-plan.md b/desktop-industrial-plan.md new file mode 100644 index 0000000..4a86158 --- /dev/null +++ b/desktop-industrial-plan.md @@ -0,0 +1,62 @@ +# 桌面端工业化升级规划(desktop-industrial-plan) + +承接 [desktop-ui-plan.md](desktop-ui-plan.md)(IA/能力规划)。本文聚焦把现有桌面端从 +"深色控制台 MVP"打磨到**工业级桌面产品**的质量提升路线。 + +> 现状基线(2026-06-12 实测):`sundynix-desktop/frontend` = React 19 + TS + Tailwind + +> @xyflow/react,**无 UI 组件库**(README 写的 shadcn/ui 实际未安装),图标用 Unicode 字符, +> Wails Go 桥已生成(`wailsjs/`)但前端从未调用。已有视图:工作台/编排/知识库/报告/运行·观测/记忆。 + +## 诊断:为什么"不够工业级" + +问题不在配色,而在**缺产品级骨架**: + +1. **无设计系统** — 按钮/输入/卡片/徽标全是手搓内联 class、复制粘贴、不一致;强调色 + (violet/cyan) 是散落字面量,无法换肤。 +2. **图标是 Unicode 字符**(▤◆▣▦▸◇⌧⚙)— 最掉档次。 +3. **Wails Go 桥未用** — 本质是"套了窗口的网页":无原生文件框、拖拽入库、本地读盘、 + 原生通知、自定义标题栏、"用系统 Word 打开报告"。这是"工业级桌面"最大缺口。 +4. **无应用级 UX** — 无 toast / 全局错误边界 / 命令面板(⌘K) / 快捷键 / 确认弹窗 / 骨架屏。 +5. **健康灯 5 个只 2 个真**(NATS/Milvus/Neo4j 灰)— 缺网关 `/health` 聚合。 +6. **状态全在 App useState,刷新即丢** — 无运行历史/最近项持久化。 +7. **输出裸 `
`** — 报告是 Markdown 却不渲染;无自动滚动/复制/速率。
+8. **布局密度** — 为 1280 设计但窗口 min 1100,面板挤;固定高度;无可拖拽分隔。
+
+## 升级阶段(按性价比/依赖排序)
+
+### A. 设计系统地基(最高优先,其它都依赖它)
+- 装 `lucide-react` 图标;自建轻量 primitives(不引整套 shadcn,保零重依赖、clone 即跑):
+  `Button` `Input` `Textarea` `Select` `Card` `Badge` `Tabs` `Tooltip` `Dialog` `Toast`
+  `Skeleton` `EmptyState`,统一 `cn()`。
+- Tailwind 令牌补全:语义色(brand/accent/success/warn/danger)+ 半径/间距/字阶 token;
+  强调色字面量收敛到 token。
+- 6 个视图 + shell 迁到 primitives,去掉复制粘贴。
+
+### B. 真·桌面集成("工业级桌面"最大缺口)
+- 启用 Wails Go 桥:`app.go` 增 `OpenFileDialog`/`SaveFileDialog`/`SaveReport`/
+  `OpenInSystem`/`ReadFile`,前端经 `wailsjs` 调。
+- 知识库**拖拽 + 原生选择框**入库;报告**原生"另存为 .docx"** + "用系统 Word 打开"。
+- 原生通知(报告完成弹系统通知)、最近文件、窗口标题随任务变。
+- 自定义无边框标题栏(macOS 红绿灯内嵌 + 可拖拽区)。
+
+### C. 应用级 UX 骨架
+- 全局 `ToastProvider`(替代散落 err 文本)、`ErrorBoundary`、确认 `Dialog`。
+- 命令面板 `⌘K`(跳转/新建报告/搜知识库/运行)+ 全局快捷键。
+- 骨架屏 + 有插画的空状态(取代"规划中"文字)。
+
+### D. 内容与可信度
+- Markdown 渲染(报告/输出)+ 代码高亮 + 复制 + 流式自动跟随底部 + tokens/s 速率表。
+- 网关 `GET /health` 聚合 NATS/Milvus/Neo4j/PG/Redis → 5 灯全真。
+- 运行历史持久化(Wails 配置或 localStorage),RunsView 列出历史可回看。
+
+### E. 布局与密度
+- 可拖拽分隔的面板、响应式断点、记忆面板宽度。
+
+## 建议路线
+先 **A(设计系统)** 打底 → **B(真桌面集成)**,这两个一起把"网页套壳"扭转成"工业级桌面应用",
+感知提升最大。C/D/E 增量补。
+
+## 边界/原则
+- **零重依赖**:自建 primitives 而非整套组件库,守住 "clone 即跑、无重 native 依赖" 目标。
+- 不破坏既有真实链路(任务流/工具调用/Token 流/执行事件/报告)。
+- 深色优先;令牌化后保留未来切浅色的可能。