190c191ce4
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
63 lines
3.8 KiB
Markdown
63 lines
3.8 KiB
Markdown
# 桌面端工业化升级规划(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. **输出裸 `<pre>`** — 报告是 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 流/执行事件/报告)。
|
||
- 深色优先;令牌化后保留未来切浅色的可能。
|