diff --git a/.memory/worklog.json b/.memory/worklog.json index 0cdc473..727a472 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 06:52 (~1)", - "ts": "2026-05-09T22:58:29Z", - "type": "session-heartbeat" - }, - { - "files_changed": 1, - "hash": "34cdb6c", - "message": "auto-save 2026-05-10 06:58 (~1)", - "ts": "2026-05-10T06:58:36+08:00", - "type": "commit" - }, { "files_changed": 1, "hash": "bd5f149", @@ -3257,6 +3244,19 @@ "type": "session-heartbeat", "message": "Codex 会话活跃 · 最近命令:codex · 分支 master · 1 项未提交变更 · 最近提交:auto-save 2026-05-11 14:56 (~5)", "files_changed": 1 + }, + { + "ts": "2026-05-11T15:01:48+08:00", + "type": "commit", + "message": "auto-save 2026-05-11 15:01 (~1)", + "hash": "f1d90c1", + "files_changed": 1 + }, + { + "ts": "2026-05-11T07:06:27Z", + "type": "session-heartbeat", + "message": "Codex 会话活跃 · 最近命令:codex · 分支 master · 4 项未提交变更 · 最近提交:auto-save 2026-05-11 15:01 (~1)", + "files_changed": 4 } ] } diff --git a/RULES.md b/RULES.md index efe7fdb..e48f84b 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-v18` +- 当前前端静态壳缓存版本:`hermes-ui-v19` - 文档 / 解析:https://styles.kang-kang.com - 管理后台:待定 - 代码仓:https://git.kang-kang.com/kangwan/hermes-glass-ui-personal diff --git a/src/styles.css b/src/styles.css index f9eeb53..cca423a 100644 --- a/src/styles.css +++ b/src/styles.css @@ -2433,34 +2433,33 @@ a { color: var(--orange-3); text-decoration: none; } flex: 1 1 auto; min-height: 0; overflow-y: auto; - padding: 4px 8px 8px 0; + padding: 4px 10px 18px 0; display: grid; - grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); - gap: 16px; + grid-template-columns: minmax(0, 1fr); + gap: 18px; align-content: start; } -/* "数据" 和 "关于" 在更宽时跨两列,显得大气 */ -.settings-group.wide { grid-column: 1 / -1; } -@media (min-width: 1400px) { - .settings-scroll { grid-template-columns: repeat(3, 1fr); } - .settings-group.wide { grid-column: span 3; } +@media (min-width: 1180px) { + .settings-scroll { grid-template-columns: repeat(2, minmax(0, 1fr)); } } +.settings-group.wide { grid-column: 1 / -1; } .settings-group { background: var(--card-bg); border: 1px solid var(--line); - border-radius: 18px; + border-radius: 14px; display: flex; flex-direction: column; min-width: 0; - max-height: min(380px, 54vh); + min-height: 0; + overflow: visible; } -.settings-group.wide { max-height: min(460px, 62vh); } +.settings-group.wide { min-height: 0; } .settings-group-head { display: flex; align-items: center; gap: 14px; - padding: 18px 22px 16px; + padding: 16px 20px 14px; border-bottom: 1px solid var(--line); min-width: 0; } @@ -2498,20 +2497,18 @@ a { color: var(--orange-3); text-decoration: none; } overflow-wrap: anywhere; } .settings-group-body { - padding: 18px 22px 22px; + padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 16px; min-width: 0; + overflow: visible; } .settings-grid-3 { display: grid; - grid-template-columns: repeat(3, minmax(0, 1fr)); + grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; } -@media (max-width: 900px) { - .settings-grid-3 { grid-template-columns: 1fr; } -} .settings-field { display: flex; @@ -2550,7 +2547,7 @@ a { color: var(--orange-3); text-decoration: none; } transition: border-color 0.2s, box-shadow 0.2s; } .settings-field textarea { - min-height: 156px; + min-height: 220px; resize: vertical; line-height: 1.55; font-family: "SF Mono", ui-monospace, Menlo, monospace; @@ -2598,6 +2595,11 @@ a { color: var(--orange-3); text-decoration: none; } display: flex; flex-wrap: wrap; gap: 10px; + align-items: center; +} +.settings-actions .settings-help { + flex: 1 1 280px; + min-width: 220px; } .settings-actions .glass-btn-sm { margin: 0; @@ -2852,8 +2854,12 @@ a { color: var(--orange-3); text-decoration: none; } .settings-save-bar { display: flex; justify-content: flex-end; - padding: 4px 0 16px; + padding: 10px 0 0; grid-column: 1 / -1; + position: sticky; + bottom: 0; + z-index: 4; + background: linear-gradient(to top, var(--bg-0) 68%, rgba(0,0,0,0)); } .settings-save-bar .glass-btn-sm { padding: 12px 24px; @@ -3830,7 +3836,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, @@ -3894,8 +3899,6 @@ a { color: var(--orange-3); text-decoration: none; } .top-agent-name, .top-agent-sub, .day-convo-title, - .settings-group-title, - .settings-group-desc, .studio-skill-name, .studio-skill-desc, .studio-stage-name, @@ -3923,3 +3926,50 @@ a { color: var(--orange-3); text-decoration: none; } .about-item { max-height: min(180px, 32vh); } + +/* 设置页需要整页滚动,不能让每张设置卡片各自裁切内容。 */ +#tab-settings .settings-group, +#tab-settings .settings-group-body, +#tab-settings .about-item { + max-height: none; + overflow: visible; + scrollbar-gutter: auto; +} + +@media (max-width: 640px) { + .settings-scroll { + padding-right: 0; + gap: 12px; + } + .settings-group-head { + padding: 14px 16px 12px; + gap: 12px; + } + .settings-group-icon { + width: 36px; + height: 36px; + flex-basis: 36px; + } + .settings-group-body { + padding: 14px 16px 16px; + gap: 14px; + } + .settings-actions { + align-items: stretch; + } + .settings-actions .glass-btn-sm, + .settings-save-bar .glass-btn-sm { + flex: 1 1 100%; + justify-content: center; + } + .settings-actions .settings-help { + flex-basis: 100%; + min-width: 0; + } + .settings-field textarea { + min-height: 190px; + } + .settings-save-bar { + justify-content: stretch; + } +} diff --git a/src/sw.js b/src/sw.js index af096a0..3e17c52 100644 --- a/src/sw.js +++ b/src/sw.js @@ -1,6 +1,6 @@ // 爱马仕 Hermes · 轻量 Service Worker // 静态壳走 network-first(拿不到再回退缓存),API 直通 -const CACHE = "hermes-ui-v18"; +const CACHE = "hermes-ui-v19"; const ASSETS = [ "./", "./index.html",