feat(workspace): add workbench layout and traffic totals
Rework the default /workspace layout into a three-column view with a left-side Workbench, centered terminal, and right-side status monitor. Add a new Workbench pane that groups file manager, command history, and editor into tabs while preserving panel state. Extend server status data to expose cumulative network upload and download totals since boot, and show them in the monitor. Include a lightweight migration for the old default layout and update related locale strings, pane metadata, and knowledge base records.
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# 变更提案: workspace-workbench-monitor
|
||||
|
||||
## 元信息
|
||||
```yaml
|
||||
类型: 功能增强
|
||||
方案类型: implementation
|
||||
优先级: P1
|
||||
状态: 实施中
|
||||
状态说明: 已完成实现、构建验证通过,待归档
|
||||
创建: 2026-03-25
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 1. 需求
|
||||
|
||||
### 背景
|
||||
当前 `/workspace` 主工作区把 `命令历史`、`文件管理`、`编辑器` 拆成多个独立 pane,占用了终端垂直空间;状态监控只展示瞬时上下行速率,没有展示系统自开机以来的累计流量。
|
||||
|
||||
### 目标
|
||||
- 仅改造 `/workspace` 主工作区布局。
|
||||
- 采用方案 B:左侧 `Workbench` Tab 容器承载 `历史命令 / 文件 / 编辑器`,中央终端保持完整高度,右侧保留状态监控。
|
||||
- 在右侧状态监控新增“开机累计上/下行流量”展示。
|
||||
|
||||
### 约束条件
|
||||
```yaml
|
||||
范围约束: 只改 /workspace 主工作区,不调整其它页面和弹层体系
|
||||
架构约束: 延续现有 Vue 3 + Pinia + splitpanes 布局体系,不引入新布局库
|
||||
后端约束: 仅基于现有 /proc/net/dev 采集链路扩展累计流量字段
|
||||
部署约束: 当前只考虑 amd64,不涉及 Docker / GHCR 变更
|
||||
```
|
||||
|
||||
### 验收标准
|
||||
- [ ] `/workspace` 默认主布局变为“左侧 Workbench + 中央终端 + 右侧状态监控”
|
||||
- [ ] Workbench 内可切换 `命令历史 / 文件 / 编辑器` 三个标签页
|
||||
- [ ] 右侧状态监控新增开机累计下载 / 上传流量显示
|
||||
- [ ] 前后端构建通过,类型链闭合
|
||||
|
||||
---
|
||||
|
||||
## 2. 方案
|
||||
|
||||
### 技术方案
|
||||
新增前端 `WorkspaceWorkbench.vue` 组件,作为新的布局 pane,在内部用 tab 容器组合 `CommandHistoryView`、`FileManager` 和 `FileEditorContainer`。布局层新增 `workbench` pane 类型,并把默认布局改成“三栏工作台”。为兼容已有保存布局,增加一次仅针对旧默认布局的轻量迁移逻辑。后端则在状态轮询时直接复用 `/proc/net/dev` 已解析的总字节数,新增 `netRxTotalBytes` / `netTxTotalBytes` 字段并透传到前端状态监控。
|
||||
|
||||
### 影响范围
|
||||
```yaml
|
||||
涉及模块:
|
||||
- frontend: /workspace 布局、状态监控、i18n、前端类型
|
||||
- backend: 状态监控服务累计流量字段
|
||||
预计变更文件: 10+
|
||||
```
|
||||
|
||||
### 风险评估
|
||||
| 风险 | 等级 | 应对 |
|
||||
|------|------|------|
|
||||
| 已保存的旧布局不自动切到新工作台 | 中 | 增加仅针对旧默认布局的迁移逻辑,避免误伤自定义布局 |
|
||||
| 文件管理器在 tab 切换后状态丢失 | 中 | Workbench 内使用 `v-show` 保持三个面板常驻 |
|
||||
| 累计流量字段前后端类型不一致 | 低 | 同步更新后端接口、本地类型与状态监控展示 |
|
||||
|
||||
---
|
||||
|
||||
## 3. 技术决策
|
||||
|
||||
### workspace-workbench-monitor#D001: 采用方案 B 的三栏工作台
|
||||
**日期**: 2026-03-25
|
||||
**状态**: ✅采纳
|
||||
**决策**: 左侧集中工作台、中央终端、右侧状态监控。
|
||||
**理由**: 保住终端主区高度,同时让文件/命令/编辑入口集中到同一容器,符合用户确认的 xterminal 参考方向。
|
||||
**影响**: 影响 `/workspace` 默认布局、布局配置器与状态监控展示逻辑。
|
||||
Reference in New Issue
Block a user