diff --git a/docs/superpowers/plans/2026-08-30-frontend-beautify.md b/docs/superpowers/plans/2026-08-30-frontend-beautify.md new file mode 100644 index 0000000..1d71bfe --- /dev/null +++ b/docs/superpowers/plans/2026-08-30-frontend-beautify.md @@ -0,0 +1,1779 @@ +# 前端美化与交互改造 Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** 将 `src/genesis/server/static/chat.html`(单文件 1215 行内联 CSS+JS)拆分为 `chat.html` + `chat.css` + `chat.js`,套用「深色指挥中心 + 文档工作台」混合风格(单一青绿 `#5EEAD4` 强调色 + 系统字体栈),并实施 8 项交互改善(分组 / 拖拽 / 气泡操作 / 多行输入 / 顶栏徽章 / 快捷键 Esc+Cmd+K / 骨架屏 / 空状态快捷指令 / 错误分级)。 + +**Architecture:** 机械拆分 → 视觉重塑 → 交互改造三步走。chat_state.js / chat_ws.js 完全不动(保持 `window.GenesisState` / `window.GenesisWS` 协议不变),chat.js 通过 fallback 默认值兜底。所有 DOM id 保留,所有 API 端点不变,所有 localStorage 键不变。**无后端变更,无测试框架(pytest)可覆盖的逻辑**,故 Task 验证手段为"浏览器手动 + 浏览器自动化烟雾测试"。 + +**Tech Stack:** 纯前端(HTML / CSS / JavaScript ES2017+)。无新增依赖。 + +## Global Constraints + +- 中文优先:所有 UI 文案、注释、提交信息使用中文(专有名词 / 标识符 / 代码关键字除外)。 +- 不新增依赖:不引入 Google Fonts / JetBrains Mono;纯系统字体栈。 +- 单主题:本轮不做 dark/light 切换。 +- 兼容性保证:所有 DOM id 必须保留(见 spec §三-1);所有 localStorage / sessionStorage 键必须保留(见 spec §三-3);所有 `/api/...` 调用方式不变。 +- 移动端:< 768px 断点的改造不在本轮范围(spec §零-8)。 +- 不实现"重新生成"按钮(spec §零-9)。 +- 提交粒度:每个 Task 独立 commit,便于回滚。 +- 颜色十六进制值必须与 spec §一完全一致(禁止调整)。 +- 后端 Python 代码不在本 plan 修改范围;仅前端三个文件(chat.html / chat.css / chat.js)+ docs。 + +--- + +## 文件结构(本 plan 涉及) + +``` +src/genesis/server/static/ +├── chat.html # Modify:删 ` 整段 +- 主体:保留所有 DOM 节点 id(业务逻辑依赖) +- 末尾:删除第 509-1213 行 `` 整段 +- 末尾:新增 `` +- 末尾:保留 `