Files
nexus-terminal/.helloagents/archive/2026-03/202603250603_dark-green-night-theme/proposal.md
T
yinjianm 7e430cb983 fix(frontend): preserve ansi colors in terminal effects
Limit stroke and shadow effects to default-foreground terminal text so
ANSI-colored output keeps its intended visual meaning.

Also enable terminal text stroke and shadow by default in frontend and
backend fallbacks, and align the dark preset and default xterm theme
with the new green night palette.
2026-03-25 06:20:33 +08:00

67 lines
3.0 KiB
Markdown

# 变更提案: dark-green-night-theme
## 元信息
```yaml
类型: 功能增强
方案类型: implementation
优先级: P2
状态: 已完成
状态说明: 已完成黑绿夜间主题预设调整与前后端构建验证,待归档
创建: 2026-03-25
```
---
## 1. 需求
### 背景
当前外观里的“黑暗模式”仍偏通用深色,终端默认主题也没有完全贴近你提供的参考图,整体缺少黑绿监控/终端风格的一致性。
### 目标
- 将界面“黑暗模式”预设改成参考图这种黑绿夜间风格。
- 同步调整终端默认主题,使终端、工作区和状态面板的视觉方向一致。
- 保持浅色默认主题不变,只改黑暗模式预设与终端默认主题。
### 约束条件
```yaml
范围约束: 仅调整主题预设与默认主题定义,不改业务交互结构
一致性约束: 前后端默认主题定义保持一致,避免重置或回退后前后端风格漂移
体验约束: 保持终端文本可读性,避免纯荧光绿导致长时间阅读疲劳
验证约束: 以前端构建通过为基础,运行态视觉以本地手验为主
```
### 验收标准
- [ ] “黑暗模式”按钮应用后,界面主色调变为黑绿夜间风格
- [ ] 终端默认主题与黑暗模式预设在氛围上保持一致
- [ ] 不影响浅色默认主题和现有主题编辑功能
- [ ] 前端构建通过
---
## 2. 方案
### 技术方案
保留现有主题系统结构,只调整预设值。前端 `StyleCustomizerUiTab.vue` 中的 `darkModeTheme` 改为参考图对应的黑绿 UI 配色;前端 `default-themes.ts` 中的 `defaultXtermTheme` 改为黑底、绿系高亮、青绿辅助色的终端主题;后端 `config/default-themes.ts` 同步更新相同默认定义,确保初始化和回退逻辑一致。
### 影响范围
```yaml
涉及模块:
- frontend: 黑暗模式预设、终端默认主题
- backend: 默认主题定义镜像副本
预计变更文件: 3
```
### 风险评估
| 风险 | 等级 | 应对 |
|------|------|------|
| 绿色过亮导致正文和状态数字刺眼 | 低 | 正文采用浅灰绿,强调色才使用亮绿 |
| UI 黑绿预设与终端主题气质不一致 | 低 | 统一使用深炭黑背景 + 绿色强调 + 青绿辅助色 |
| 只改前端导致后端初始化后的默认值不一致 | 低 | 同步更新 backend 对应默认主题文件 |
### 实施结果
- `StyleCustomizerUiTab.vue``darkModeTheme` 已改为黑绿夜间风格,主背景、边框、按钮、图标 hover 和状态色全部切到深炭黑 + 绿色强调体系。
- 前后端 `defaultXtermTheme` 均改为黑底、浅灰绿正文、绿系高亮与青绿辅助色的终端默认主题。
- 浅色默认 `defaultUiTheme` 保持不变,仍保留当前默认浅色体系。
- `npm run build --workspace @nexus-terminal/frontend``npm run build --workspace @nexus-terminal/backend` 均通过。
- 受本地 `/appearance` 保存接口现场限制,本轮未在浏览器里直接点击“黑暗模式”做最终视觉手验。