diff --git a/.helloagents/CHANGELOG.md b/.helloagents/CHANGELOG.md index dd921c0..6614402 100644 --- a/.helloagents/CHANGELOG.md +++ b/.helloagents/CHANGELOG.md @@ -6,3 +6,7 @@ - 2026-03-25:新增 GHCR Docker 发布 workflow,并将 `docker-compose.yml` 的三个业务镜像切换到 `ghcr.io/micah123321/*`。 - 2026-03-25:`/workspace` 默认布局改为“左侧 Workbench + 中央视终端 + 右侧状态监控”,并在状态监控中新增开机累计上下行流量展示。 - 2026-03-25:继续微调 `/workspace` Workbench,新增默认“快捷指令”标签、调整三栏宽度到更接近 xterminal 参考图,并修复终端区域鼠标悬停时指针异常消失的问题。 + +### 修复 +- **[frontend]**: 统一 `QuickCommandsView.vue` 的按钮主题适配,移除残留硬编码 hover 色值并切回主题变量体系 — by yinjianm + - 方案: [202603250532_quickcommands-theme-alignment](archive/2026-03/202603250532_quickcommands-theme-alignment/) diff --git a/.helloagents/INDEX.md b/.helloagents/INDEX.md index 7f5cbc2..9cd4b7b 100644 --- a/.helloagents/INDEX.md +++ b/.helloagents/INDEX.md @@ -31,7 +31,7 @@ ```yaml kb_version: 2.3.7 -最后更新: 2026-03-25 03:17 +最后更新: 2026-03-25 05:39 模块数量: 4 待执行方案: 0 ``` diff --git a/.helloagents/archive/2026-03/202603250532_quickcommands-theme-alignment/.status.json b/.helloagents/archive/2026-03/202603250532_quickcommands-theme-alignment/.status.json new file mode 100644 index 0000000..9d99dea --- /dev/null +++ b/.helloagents/archive/2026-03/202603250532_quickcommands-theme-alignment/.status.json @@ -0,0 +1 @@ +{"status":"completed","completed":5,"failed":0,"pending":0,"total":5,"done":5,"percent":100,"current":"已完成 QuickCommandsView 主题变量对齐与验证,等待归档","updated_at":"2026-03-25 05:39:15"} diff --git a/.helloagents/archive/2026-03/202603250532_quickcommands-theme-alignment/proposal.md b/.helloagents/archive/2026-03/202603250532_quickcommands-theme-alignment/proposal.md new file mode 100644 index 0000000..00bbe81 --- /dev/null +++ b/.helloagents/archive/2026-03/202603250532_quickcommands-theme-alignment/proposal.md @@ -0,0 +1,64 @@ +# 变更提案: quickcommands-theme-alignment + +## 元信息 +```yaml +类型: 缺陷修复 +方案类型: implementation +优先级: P2 +状态: 已完成 +状态说明: 已完成 QuickCommandsView 主题变量对齐、构建验证和知识库同步,待归档 +创建: 2026-03-25 +``` + +--- + +## 1. 需求 + +### 背景 +快捷指令视图当前整体已接入主题变量体系,但局部交互按钮仍残留写死的颜色类,导致默认主题下的悬停和操作态与其他主题表现不一致,视觉语言不统一。 + +### 目标 +- 仅修复 `packages/frontend/src/views/QuickCommandsView.vue`。 +- 统一快捷指令视图内残留的硬编码色值,使其回到现有主题变量体系。 +- 不调整快捷指令的数据逻辑、交互结构和其他组件。 + +### 约束条件 +```yaml +范围约束: 仅限 QuickCommandsView.vue,禁止扩散到其它视图和组件 +实现约束: 复用现有 bg-background/bg-border/text-foreground/text-text-secondary/bg-primary 等主题变量类 +行为约束: 不改变搜索、分组、编辑、删除、右键菜单和发送命令逻辑 +风险约束: 避免引入新的主题 token 或全局样式依赖 +``` + +### 验收标准 +- [ ] `QuickCommandsView.vue` 中残留的硬编码 hover/background 色值被替换为主题变量类 +- [ ] 默认主题下快捷指令列表操作按钮、空状态按钮等视觉风格与当前主题体系一致 +- [ ] 其他主题下不出现明显的对比度退化或交互态丢失 +- [ ] 前端最小构建或类型校验可通过 + +--- + +## 2. 方案 + +### 技术方案 +保留 `QuickCommandsView.vue` 的结构和行为,仅替换模板中与主题适配冲突的硬编码类。重点处理列表项操作按钮上的 `hover:bg-black/10` 以及与主题变量命名不一致的按钮 hover 类,统一改为当前项目已有的 `hover:bg-border`、`hover:text-foreground` 或 `hover:bg-primary/10` 体系,保证默认主题与其他主题都走同一套 CSS 变量映射。 + +### 影响范围 +```yaml +涉及模块: + - frontend: 快捷指令视图模板样式 +预计变更文件: 1 +``` + +### 风险评估 +| 风险 | 等级 | 应对 | +|------|------|------| +| 替换 hover 类后局部按钮层级感变弱 | 低 | 优先复用仓库中同类列表组件已采用的主题类组合 | +| 默认主题修好但紧凑模式下按钮显隐观感变化 | 低 | 保持原有显隐逻辑,仅改颜色类 | +| 漏掉同文件里的另一处硬编码样式 | 低 | 通过全文检索确认所有残留硬编码色值 | + +### 实施结果 +- `QuickCommandsView.vue` 的顶部添加按钮与空状态按钮统一切换到 `bg-button`、`text-button-text`、`hover:bg-button-hover`。 +- 分组视图和平铺视图中的复制、编辑、删除按钮均移除了 `hover:bg-black/10`,改为 `hover:bg-border`。 +- 前端 `npm run build --workspace @nexus-terminal/frontend` 通过。 +- `vite preview` 可启动并打开登录页,但因本地认证/后端接口返回 500,未能在浏览器中直接进入快捷指令视图做目视验收。 diff --git a/.helloagents/archive/2026-03/202603250532_quickcommands-theme-alignment/tasks.md b/.helloagents/archive/2026-03/202603250532_quickcommands-theme-alignment/tasks.md new file mode 100644 index 0000000..831ef54 --- /dev/null +++ b/.helloagents/archive/2026-03/202603250532_quickcommands-theme-alignment/tasks.md @@ -0,0 +1,51 @@ +# 任务清单: quickcommands-theme-alignment + +```yaml +@feature: quickcommands-theme-alignment +@created: 2026-03-25 +@status: completed +@mode: R2 +``` + +## 进度概览 + +| 完成 | 失败 | 跳过 | 总数 | +|------|------|------|------| +| 5 | 0 | 0 | 5 | + +--- + +## 任务列表 + +### 1. 方案与范围确认 + +- [√] 1.1 创建快捷指令主题适配修复方案包并锁定单文件范围 | depends_on: [] + +### 2. 视图主题适配修复 + +- [√] 2.1 盘点 `QuickCommandsView.vue` 中残留的硬编码色值与不一致 hover 类 | depends_on: [1.1] +- [√] 2.2 将残留硬编码色值替换为现有主题变量类,并保持交互逻辑不变 | depends_on: [2.1] + +### 3. 验证与同步 + +- [√] 3.1 运行前端最小验证并记录结果 | depends_on: [2.2] +- [√] 3.2 更新 `.helloagents` 文档与变更记录 | depends_on: [3.1] + +--- + +## 执行日志 + +| 时间 | 任务 | 状态 | 备注 | +|------|------|------|------| +| 2026-03-25 05:32 | 1.1 | 完成 | 创建 implementation 方案包,范围锁定为 QuickCommandsView 单文件主题适配 | +| 2026-03-25 05:34 | 2.1 / 2.2 | 完成 | 盘点并替换 QuickCommandsView 中残留的按钮硬编码色值,统一到按钮与边框主题变量体系 | +| 2026-03-25 05:38 | 3.1 | 完成 | `npm run build --workspace @nexus-terminal/frontend` 通过;`vite preview` 可启动,但受本地认证/后端 500 限制未能进入快捷指令页 | +| 2026-03-25 05:39 | 3.2 | 完成 | 更新 frontend 模块文档,准备补充 CHANGELOG 与归档索引 | + +--- + +## 执行备注 + +- 本次修复只处理视图层主题样式,不触碰 store、事件流和数据结构。 +- 默认主题与其他主题不一致的判断基于当前文件残留硬编码色值,而不是后端主题数据异常。 +- 浏览器实际启动验证已执行,但目标视图的目视验收仍依赖可用的登录态和后端接口。 diff --git a/.helloagents/archive/_index.md b/.helloagents/archive/_index.md index 341ef70..51f9a9d 100644 --- a/.helloagents/archive/_index.md +++ b/.helloagents/archive/_index.md @@ -8,12 +8,14 @@ | 时间戳 | 名称 | 类型 | 涉及模块 | 决策 | 结果 | |--------|------|------|---------|------|------| | 202603250317 | ghcr-docker-publish | implementation | workspace-root | ghcr-docker-publish#D001 | ✅完成 | +| 202603250532 | quickcommands-theme-alignment | implementation | frontend | - | ✅完成 | | 202603251200 | workspace-workbench-monitor | implementation | frontend, backend | workspace-workbench-monitor#D001 | ✅完成 | ## 按月归档 ### 2026-03 - [202603250317_ghcr-docker-publish](./2026-03/202603250317_ghcr-docker-publish/) - 新增 GHCR 镜像发布 workflow 并切换 compose 镜像来源 +- [202603250532_quickcommands-theme-alignment](./2026-03/202603250532_quickcommands-theme-alignment/) - 统一快捷指令视图按钮主题适配,移除残留硬编码 hover 色值 - [202603251200_workspace-workbench-monitor](./2026-03/202603251200_workspace-workbench-monitor/) - `/workspace` 改为三栏 Workbench 布局,并新增开机累计流量监控 ## 结果状态说明 diff --git a/.helloagents/modules/frontend.md b/.helloagents/modules/frontend.md index 366ce5e..f684b6f 100644 --- a/.helloagents/modules/frontend.md +++ b/.helloagents/modules/frontend.md @@ -36,8 +36,8 @@ ### 工作区交互 **条件**: 用户进入 `/workspace` 或相关管理页面。 -**行为**: 通过组件、Pinia 与 composable 协同管理终端、文件管理、命令历史、布局配置、主题和状态监控;当前 `/workspace` 默认主布局为“左侧 Workbench、中央终端、右侧状态监控”,其中 Workbench 以 tab 容器整合快捷指令、命令历史、文件管理和编辑器,默认激活快捷指令。 -**结果**: 页面逻辑分散在 `views/`、`components/`、`stores/` 与 `composables/`,其中布局与交互微调优先落在 `layout.store.ts`、`LayoutRenderer.vue`、`WorkspaceWorkbench.vue` 和 `Terminal.vue`。 +**行为**: 通过组件、Pinia 与 composable 协同管理终端、文件管理、命令历史、布局配置、主题和状态监控;当前 `/workspace` 默认主布局为“左侧 Workbench、中央终端、右侧状态监控”,其中 Workbench 以 tab 容器整合快捷指令、命令历史、文件管理和编辑器,默认激活快捷指令。`QuickCommandsView.vue` 内的新增按钮、空状态按钮和列表操作按钮统一复用 `bg-button`、`text-button-text`、`hover:bg-button-hover`、`hover:bg-border` 等主题变量类,避免写死黑白 hover 色值。 +**结果**: 页面逻辑分散在 `views/`、`components/`、`stores/` 与 `composables/`,其中布局与交互微调优先落在 `layout.store.ts`、`LayoutRenderer.vue`、`WorkspaceWorkbench.vue`、`QuickCommandsView.vue` 和 `Terminal.vue`。 ## 依赖关系 diff --git a/packages/frontend/src/views/QuickCommandsView.vue b/packages/frontend/src/views/QuickCommandsView.vue index 635a2a3..cee9913 100644 --- a/packages/frontend/src/views/QuickCommandsView.vue +++ b/packages/frontend/src/views/QuickCommandsView.vue @@ -26,7 +26,7 @@ - + @@ -41,7 +41,7 @@ {{ $t('quickCommands.empty', '没有快捷指令。') }} - + {{ $t('quickCommands.addFirst', '创建第一个快捷指令') }} @@ -137,13 +137,13 @@ 'opacity-0 group-hover:opacity-100 focus-within:opacity-100': isCompactMode, 'opacity-100': !isCompactMode }"> - + - + - + @@ -183,13 +183,13 @@ 'opacity-0 group-hover:opacity-100 focus-within:opacity-100': isCompactMode, 'opacity-100': !isCompactMode }"> - + - + - +
{{ $t('quickCommands.empty', '没有快捷指令。') }}