auto-save 2026-05-11 15:30 (~5)

This commit is contained in:
2026-05-11 15:30:18 +08:00
parent 04b31aa14e
commit 4addeb50d8
5 changed files with 70 additions and 35 deletions

View File

@@ -1,18 +1,5 @@
{ {
"entries": [ "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, "files_changed": 1,
"message": "Codex 会话活跃 · 最近命令codex · 分支 master · 1 项未提交变更 · 最近提交auto-save 2026-05-10 07:16 (~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)", "message": "auto-save 2026-05-11 15:18 (~4)",
"hash": "0a3403a", "hash": "0a3403a",
"files_changed": 4 "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
} }
] ]
} }

View File

@@ -20,7 +20,7 @@
- 爱马仕前端「仪表盘」活动热力图已重做为带摘要、月份标尺、紧凑格子和细分色阶的活动卡片 - 爱马仕前端「仪表盘」活动热力图已重做为带摘要、月份标尺、紧凑格子和细分色阶的活动卡片
- 爱马仕前端「设置 → 连接」可自助维护 API 地址 / API Key 并测试连接;「对话 → 存周报」和「设置 → 周报记录」会在本地保存任务描述、上下文片段和最终周报 - 爱马仕前端「设置 → 连接」可自助维护 API 地址 / API Key 并测试连接;「对话 → 存周报」和「设置 → 周报记录」会在本地保存任务描述、上下文片段和最终周报
- 爱马仕前端「设置 → 模型与 MCP」可读取 / 写入 LXC 内 `/opt/hermes-agent/config.yaml`,保存后重启 Docker `hermes-agent` - 爱马仕前端「设置 → 模型与 MCP」可读取 / 写入 LXC 内 `/opt/hermes-agent/config.yaml`,保存后重启 Docker `hermes-agent`
- 当前前端静态壳缓存版本:`hermes-ui-v23` - 当前前端静态壳缓存版本:`hermes-ui-v24`
- 文档 / 解析https://styles.kang-kang.com - 文档 / 解析https://styles.kang-kang.com
- 管理后台:待定 - 管理后台:待定
- 代码仓https://git.kang-kang.com/kangwan/hermes-glass-ui-personal - 代码仓https://git.kang-kang.com/kangwan/hermes-glass-ui-personal

View File

@@ -11,7 +11,7 @@
<link rel="icon" type="image/svg+xml" href="./icon.svg"> <link rel="icon" type="image/svg+xml" href="./icon.svg">
<link rel="apple-touch-icon" href="./icon.svg"> <link rel="apple-touch-icon" href="./icon.svg">
<title>爱马仕 · AI</title> <title>爱马仕 · AI</title>
<link rel="stylesheet" href="./styles.css?v=20260511-settings-v23"> <link rel="stylesheet" href="./styles.css?v=20260511-settings-v24">
</head> </head>
<body> <body>
@@ -1376,6 +1376,6 @@ git push # Gitea kangwan/hermes-glass-ui-personal
</main> </main>
</div> </div>
<script src="./app.js?v=20260511-settings-v23"></script> <script src="./app.js?v=20260511-settings-v24"></script>
</body> </body>
</html> </html>

View File

@@ -98,7 +98,7 @@ html, body {
a { color: var(--orange-3); text-decoration: none; } 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-x: hidden;
overflow-y: auto; overflow-y: auto;
overscroll-behavior: contain; overscroll-behavior: contain;
@@ -107,19 +107,19 @@ a { color: var(--orange-3); text-decoration: none; }
scrollbar-width: thin; scrollbar-width: thin;
scrollbar-color: rgba(255,105,0,0.45) transparent; 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; 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; 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); background: rgba(255,105,0,0.34);
border: 2px solid transparent; border: 2px solid transparent;
border-radius: 999px; border-radius: 999px;
background-clip: content-box; 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); background: rgba(255,105,0,0.56);
border: 2px solid transparent; border: 2px solid transparent;
background-clip: content-box; background-clip: content-box;
@@ -2433,12 +2433,15 @@ a { color: var(--orange-3); text-decoration: none; }
flex: 1 1 auto; flex: 1 1 auto;
min-height: 0; min-height: 0;
overflow-y: auto; overflow-y: auto;
overflow-x: hidden;
padding: 4px 10px 20px 0; padding: 4px 10px 20px 0;
display: flex; display: grid;
flex-direction: column; grid-template-columns: repeat(2, minmax(0, 1fr));
align-content: start;
align-items: start;
gap: 16px; gap: 16px;
} }
.settings-group.wide { grid-column: auto; } .settings-group.wide { grid-column: 1 / -1; }
.settings-group { .settings-group {
background: var(--card-bg); background: var(--card-bg);
@@ -2448,10 +2451,10 @@ a { color: var(--orange-3); text-decoration: none; }
display: flex; display: flex;
flex-direction: column; flex-direction: column;
min-width: 0; min-width: 0;
min-height: 0; min-height: auto;
overflow: hidden; overflow: visible;
} }
.settings-group.wide { min-height: 0; } .settings-group.wide { min-height: auto; }
.settings-group-head { .settings-group-head {
display: flex; display: flex;
align-items: center; align-items: center;
@@ -3861,7 +3864,6 @@ a { color: var(--orange-3); text-decoration: none; }
.day-detail, .day-detail,
.day-convo-item, .day-convo-item,
.cluster-col, .cluster-col,
.settings-group,
.studio-col, .studio-col,
.studio-stage, .studio-stage,
.studio-skill-item, .studio-skill-item,
@@ -3920,25 +3922,46 @@ a { color: var(--orange-3); text-decoration: none; }
max-height: min(180px, 32vh); max-height: min(180px, 32vh);
} }
/* 设置页采用稳定的表单文档流,避免全局卡片滚动规则压扁卡片内容。 */ /* 设置页采用独立表单网格,避免全局卡片滚动规则压扁卡片内容。 */
#tab-settings {
overflow: hidden;
}
#tab-settings .settings-scroll { #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; overflow-y: auto;
} }
#tab-settings .settings-group { #tab-settings .settings-group {
display: block; display: flex;
flex-direction: column;
flex: none;
width: 100%; width: 100%;
min-height: auto;
height: auto; height: auto;
max-height: none; max-height: none;
overflow: visible; overflow: visible;
scrollbar-gutter: auto; 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 { #tab-settings .settings-group-body {
display: flex;
flex-direction: column;
height: auto; height: auto;
min-height: auto;
max-height: none; max-height: none;
overflow: visible; overflow: visible;
scrollbar-gutter: auto; scrollbar-gutter: auto;
contain: none;
} }
#tab-settings .about-item { #tab-settings .about-item {
max-height: none; max-height: none;
@@ -3947,6 +3970,18 @@ a { color: var(--orange-3); text-decoration: none; }
} }
#tab-settings .settings-save-bar { #tab-settings .settings-save-bar {
margin-top: 4px; 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) { @media (max-width: 640px) {

View File

@@ -1,11 +1,11 @@
// 爱马仕 Hermes · 轻量 Service Worker // 爱马仕 Hermes · 轻量 Service Worker
// 静态壳走 network-first拿不到再回退缓存API 直通 // 静态壳走 network-first拿不到再回退缓存API 直通
const CACHE = "hermes-ui-v23"; const CACHE = "hermes-ui-v24";
const ASSETS = [ const ASSETS = [
"./", "./",
"./index.html", "./index.html",
"./styles.css?v=20260511-settings-v23", "./styles.css?v=20260511-settings-v24",
"./app.js?v=20260511-settings-v23", "./app.js?v=20260511-settings-v24",
"./manifest.webmanifest", "./manifest.webmanifest",
"./icon.svg", "./icon.svg",
]; ];