diff --git a/.memory/worklog.json b/.memory/worklog.json index f122562..662acad 100644 --- a/.memory/worklog.json +++ b/.memory/worklog.json @@ -1,18 +1,5 @@ { "entries": [ - { - "files_changed": 1, - "message": "Codex 会话活跃 · 最近命令:codex · 分支 master · 1 项未提交变更 · 最近提交:auto-save 2026-05-10 07:10 (~1)", - "ts": "2026-05-09T23:15:55Z", - "type": "session-heartbeat" - }, - { - "files_changed": 1, - "hash": "e6460e6", - "message": "auto-save 2026-05-10 07:16 (~1)", - "ts": "2026-05-10T07:16:17+08:00", - "type": "commit" - }, { "files_changed": 1, "message": "Codex 会话活跃 · 最近命令:codex · 分支 master · 1 项未提交变更 · 最近提交:auto-save 2026-05-10 07:16 (~1)", @@ -3258,6 +3245,19 @@ "message": "auto-save 2026-05-11 15:18 (~4)", "hash": "0a3403a", "files_changed": 4 + }, + { + "ts": "2026-05-11T15:24:43+08:00", + "type": "commit", + "message": "auto-save 2026-05-11 15:24 (~5)", + "hash": "04b31aa", + "files_changed": 5 + }, + { + "ts": "2026-05-11T07:26:27Z", + "type": "session-heartbeat", + "message": "Codex 会话活跃 · 最近命令:codex · 分支 master · 1 项未提交变更 · 最近提交:auto-save 2026-05-11 15:24 (~5)", + "files_changed": 1 } ] } diff --git a/RULES.md b/RULES.md index 29cd222..0799229 100644 --- a/RULES.md +++ b/RULES.md @@ -20,7 +20,7 @@ - 爱马仕前端「仪表盘」活动热力图已重做为带摘要、月份标尺、紧凑格子和细分色阶的活动卡片 - 爱马仕前端「设置 → 连接」可自助维护 API 地址 / API Key 并测试连接;「对话 → 存周报」和「设置 → 周报记录」会在本地保存任务描述、上下文片段和最终周报 - 爱马仕前端「设置 → 模型与 MCP」可读取 / 写入 LXC 内 `/opt/hermes-agent/config.yaml`,保存后重启 Docker `hermes-agent` -- 当前前端静态壳缓存版本:`hermes-ui-v23` +- 当前前端静态壳缓存版本:`hermes-ui-v24` - 文档 / 解析:https://styles.kang-kang.com - 管理后台:待定 - 代码仓:https://git.kang-kang.com/kangwan/hermes-glass-ui-personal diff --git a/src/index.html b/src/index.html index 19c7e29..71c44c7 100644 --- a/src/index.html +++ b/src/index.html @@ -11,7 +11,7 @@ 爱马仕 · AI - + @@ -1376,6 +1376,6 @@ git push # Gitea kangwan/hermes-glass-ui-personal - + diff --git a/src/styles.css b/src/styles.css index 70f7be5..3f349d2 100644 --- a/src/styles.css +++ b/src/styles.css @@ -98,7 +98,7 @@ html, body { a { color: var(--orange-3); text-decoration: none; } /* ========== 小卡片内部滚动 ========== */ -:is(.card, .agent-card, .flow-card, .cron-item, .tool-chip, .stat, .top-agent-card, .day-detail, .cluster-col, .settings-group, .studio-stage, .help-card) { +:is(.card, .agent-card, .flow-card, .cron-item, .tool-chip, .stat, .top-agent-card, .day-detail, .cluster-col, .studio-stage, .help-card) { overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; @@ -107,19 +107,19 @@ a { color: var(--orange-3); text-decoration: none; } scrollbar-width: thin; scrollbar-color: rgba(255,105,0,0.45) transparent; } -:is(.card, .agent-card, .flow-card, .cron-item, .tool-chip, .stat, .top-agent-card, .day-detail, .cluster-col, .settings-group, .studio-stage, .help-card)::-webkit-scrollbar { +:is(.card, .agent-card, .flow-card, .cron-item, .tool-chip, .stat, .top-agent-card, .day-detail, .cluster-col, .studio-stage, .help-card)::-webkit-scrollbar { width: 8px; } -:is(.card, .agent-card, .flow-card, .cron-item, .tool-chip, .stat, .top-agent-card, .day-detail, .cluster-col, .settings-group, .studio-stage, .help-card)::-webkit-scrollbar-track { +:is(.card, .agent-card, .flow-card, .cron-item, .tool-chip, .stat, .top-agent-card, .day-detail, .cluster-col, .studio-stage, .help-card)::-webkit-scrollbar-track { background: transparent; } -:is(.card, .agent-card, .flow-card, .cron-item, .tool-chip, .stat, .top-agent-card, .day-detail, .cluster-col, .settings-group, .studio-stage, .help-card)::-webkit-scrollbar-thumb { +:is(.card, .agent-card, .flow-card, .cron-item, .tool-chip, .stat, .top-agent-card, .day-detail, .cluster-col, .studio-stage, .help-card)::-webkit-scrollbar-thumb { background: rgba(255,105,0,0.34); border: 2px solid transparent; border-radius: 999px; background-clip: content-box; } -:is(.card, .agent-card, .flow-card, .cron-item, .tool-chip, .stat, .top-agent-card, .day-detail, .cluster-col, .settings-group, .studio-stage, .help-card):hover::-webkit-scrollbar-thumb { +:is(.card, .agent-card, .flow-card, .cron-item, .tool-chip, .stat, .top-agent-card, .day-detail, .cluster-col, .studio-stage, .help-card):hover::-webkit-scrollbar-thumb { background: rgba(255,105,0,0.56); border: 2px solid transparent; background-clip: content-box; @@ -2433,12 +2433,15 @@ a { color: var(--orange-3); text-decoration: none; } flex: 1 1 auto; min-height: 0; overflow-y: auto; + overflow-x: hidden; padding: 4px 10px 20px 0; - display: flex; - flex-direction: column; + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + align-content: start; + align-items: start; gap: 16px; } -.settings-group.wide { grid-column: auto; } +.settings-group.wide { grid-column: 1 / -1; } .settings-group { background: var(--card-bg); @@ -2448,10 +2451,10 @@ a { color: var(--orange-3); text-decoration: none; } display: flex; flex-direction: column; min-width: 0; - min-height: 0; - overflow: hidden; + min-height: auto; + overflow: visible; } -.settings-group.wide { min-height: 0; } +.settings-group.wide { min-height: auto; } .settings-group-head { display: flex; align-items: center; @@ -3861,7 +3864,6 @@ a { color: var(--orange-3); text-decoration: none; } .day-detail, .day-convo-item, .cluster-col, - .settings-group, .studio-col, .studio-stage, .studio-skill-item, @@ -3920,25 +3922,46 @@ a { color: var(--orange-3); text-decoration: none; } max-height: min(180px, 32vh); } -/* 设置页采用稳定的表单文档流,避免全局卡片滚动规则压扁卡片内容。 */ +/* 设置页采用独立表单网格,避免全局卡片滚动规则压扁卡片内容。 */ +#tab-settings { + overflow: hidden; +} #tab-settings .settings-scroll { - display: block; + display: grid !important; + grid-template-columns: repeat(2, minmax(0, 1fr)); + align-content: start; + align-items: start; + gap: 16px; + height: auto; + min-height: 0; + overflow-x: hidden; overflow-y: auto; } #tab-settings .settings-group { - display: block; + display: flex; + flex-direction: column; + flex: none; width: 100%; + min-height: auto; height: auto; max-height: none; overflow: visible; scrollbar-gutter: auto; - margin: 0 0 16px; + margin: 0; + contain: none; +} +#tab-settings .settings-group.wide { + grid-column: 1 / -1; } #tab-settings .settings-group-body { + display: flex; + flex-direction: column; height: auto; + min-height: auto; max-height: none; overflow: visible; scrollbar-gutter: auto; + contain: none; } #tab-settings .about-item { max-height: none; @@ -3947,6 +3970,18 @@ a { color: var(--orange-3); text-decoration: none; } } #tab-settings .settings-save-bar { margin-top: 4px; + grid-column: 1 / -1; +} + +@media (max-width: 1100px) { + .settings-scroll, + #tab-settings .settings-scroll { + grid-template-columns: 1fr; + } + .settings-group.wide, + #tab-settings .settings-group.wide { + grid-column: auto; + } } @media (max-width: 640px) { diff --git a/src/sw.js b/src/sw.js index f0b09cf..26c5852 100644 --- a/src/sw.js +++ b/src/sw.js @@ -1,11 +1,11 @@ // 爱马仕 Hermes · 轻量 Service Worker // 静态壳走 network-first(拿不到再回退缓存),API 直通 -const CACHE = "hermes-ui-v23"; +const CACHE = "hermes-ui-v24"; const ASSETS = [ "./", "./index.html", - "./styles.css?v=20260511-settings-v23", - "./app.js?v=20260511-settings-v23", + "./styles.css?v=20260511-settings-v24", + "./app.js?v=20260511-settings-v24", "./manifest.webmanifest", "./icon.svg", ];