auto-save 2026-05-09 16:12 (~4)

This commit is contained in:
2026-05-09 16:12:31 +08:00
parent 90e37f31ed
commit e74787b2d9
4 changed files with 2540 additions and 2531 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1478,18 +1478,12 @@ function renderAgents() {
const sEl = card.querySelector(".agent-skills");
const skills = (a.skills || []).map(skillById).filter(Boolean);
if (skills.length) {
for (const s of skills.slice(0, 5)) {
for (const s of skills) {
const tag = document.createElement("span");
tag.className = "mini-skill";
tag.textContent = s.emoji + " " + s.name;
sEl.appendChild(tag);
}
if (skills.length > 5) {
const more = document.createElement("span");
more.className = "mini-skill";
more.textContent = "+" + (skills.length - 5);
sEl.appendChild(more);
}
}
card.querySelector(".chat").onclick = () => chatWithAgent(a.id);
card.querySelector(".edit").onclick = () => openAgentModal(a.id);

View File

@@ -947,6 +947,7 @@ a { color: var(--orange-3); text-decoration: none; }
border-radius: 14px;
padding: 14px 18px 16px;
min-height: 100px;
max-height: min(250px, 38vh);
transition: border-color 0.15s, background 0.15s;
}
.studio-stage.drop-hover {
@@ -1122,6 +1123,7 @@ a { color: var(--orange-3); text-decoration: none; }
border: 1px solid rgba(255,105,0,0.25);
border-radius: 6px;
font-weight: 600;
overflow-wrap: anywhere;
}
/* Agent picker 列表 */
@@ -1910,13 +1912,14 @@ a { color: var(--orange-3); text-decoration: none; }
/* 最常用智能体大卡 */
.top-agent-card {
display: flex;
align-items: center;
align-items: flex-start;
gap: 18px;
padding: 22px 26px;
background: var(--card-bg);
border: 1px solid var(--line);
border-radius: 18px;
margin-bottom: 18px;
max-height: min(190px, 34vh);
/* blur 已在外壳统一处理,内部卡片不再单独磨砂以降低合成成本 */
}
.top-agent-avatar {
@@ -1944,11 +1947,13 @@ a { color: var(--orange-3); text-decoration: none; }
font-weight: 800;
color: var(--text);
letter-spacing: -0.3px;
overflow-wrap: anywhere;
}
.top-agent-sub {
font-size: 12px;
color: var(--text-dim);
margin-top: 3px;
overflow-wrap: anywhere;
}
/* 热力图 — 全宽大格 */
.heatmap-wrap {
@@ -2039,6 +2044,7 @@ a { color: var(--orange-3); text-decoration: none; }
border: 1px solid var(--line);
border-radius: 14px;
min-height: 100px;
max-height: min(340px, 48vh);
margin-bottom: 10px;
/* 卡片层不再单独磨砂 */
}
@@ -2082,7 +2088,13 @@ a { color: var(--orange-3); text-decoration: none; }
}
[data-theme="light"] .day-convo-item { background: rgba(15,22,40,0.03); }
.day-convo-item:hover { background: var(--card-hover-bg); border-color: var(--line-strong); }
.day-convo-title { flex: 1; font-size: 13px; font-weight: 600; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.day-convo-title {
flex: 1;
font-size: 13px;
font-weight: 600;
color: var(--text);
overflow-wrap: anywhere;
}
.day-convo-meta { font-size: 11px; color: var(--text-dim2); white-space: nowrap; }
.dash-grid {
@@ -2099,6 +2111,7 @@ a { color: var(--orange-3); text-decoration: none; }
border: 1px solid var(--line);
border-radius: 18px;
transition: border-color 0.2s, background 0.2s;
max-height: min(190px, 34vh);
}
.stat:hover { border-color: var(--line-strong); background: var(--card-hover-bg); }
.stat-label {
@@ -2115,8 +2128,13 @@ a { color: var(--orange-3); text-decoration: none; }
margin: 6px 0;
color: var(--text);
font-variant-numeric: tabular-nums;
overflow-wrap: anywhere;
}
.stat-sub {
font-size: 12px;
color: var(--text-dim);
overflow-wrap: anywhere;
}
.stat-sub { font-size: 12px; color: var(--text-dim); }
/* ========== 设置 ========== */
.settings-scroll {
@@ -2143,7 +2161,9 @@ a { color: var(--orange-3); text-decoration: none; }
display: flex;
flex-direction: column;
min-width: 0;
max-height: min(380px, 54vh);
}
.settings-group.wide { max-height: min(460px, 62vh); }
.settings-group-head {
display: flex;
align-items: center;
@@ -2182,9 +2202,8 @@ a { color: var(--orange-3); text-decoration: none; }
font-size: 12px;
color: var(--text-dim2);
margin-top: 2px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
line-height: 1.45;
overflow-wrap: anywhere;
}
.settings-group-body {
padding: 18px 22px 22px;
@@ -2414,6 +2433,7 @@ a { color: var(--orange-3); text-decoration: none; }
flex-direction: column;
gap: 10px;
position: relative;
max-height: min(300px, 46vh);
}
.agent-card:hover {
transform: translateY(-3px);
@@ -2441,9 +2461,7 @@ a { color: var(--orange-3); text-decoration: none; }
font-weight: 700;
color: var(--text);
margin-bottom: 2px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
overflow-wrap: anywhere;
}
.agent-model {
font-size: 11px;
@@ -2456,10 +2474,7 @@ a { color: var(--orange-3); text-decoration: none; }
color: var(--text-dim);
line-height: 1.55;
flex: 1;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
overflow-wrap: anywhere;
}
.agent-actions {
display: flex;
@@ -2654,6 +2669,7 @@ a { color: var(--orange-3); text-decoration: none; }
flex-direction: column;
gap: 8px;
min-height: 140px;
max-height: min(420px, 52vh);
}
.cluster-col-head {
display: flex;
@@ -2688,6 +2704,9 @@ a { color: var(--orange-3); text-decoration: none; }
color: var(--text);
white-space: pre-wrap;
word-wrap: break-word;
min-height: 0;
overflow-y: auto;
padding-right: 4px;
}
/* ========== Cron 定时任务 ========== */
@@ -2708,8 +2727,9 @@ a { color: var(--orange-3); text-decoration: none; }
display: grid;
grid-template-columns: auto 1fr auto auto auto;
gap: 14px;
align-items: center;
align-items: start;
transition: border-color 0.2s, background 0.2s;
max-height: min(220px, 42vh);
}
.cron-item:hover { border-color: var(--line-strong); background: var(--card-hover-bg); }
.cron-item.disabled { opacity: 0.55; }
@@ -2730,9 +2750,7 @@ a { color: var(--orange-3); text-decoration: none; }
font-size: 14px;
font-weight: 700;
color: var(--text);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
overflow-wrap: anywhere;
}
.cron-meta {
font-size: 11px;
@@ -2749,15 +2767,15 @@ a { color: var(--orange-3); text-decoration: none; }
padding: 1px 6px;
border-radius: 4px;
font-size: 10.5px;
overflow-wrap: anywhere;
}
.cron-prompt-preview {
font-size: 11.5px;
color: var(--text-dim);
margin-top: 4px;
max-width: 560px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
line-height: 1.55;
overflow-wrap: anywhere;
}
.cron-pill {
font-size: 10px;
@@ -2898,9 +2916,10 @@ a { color: var(--orange-3); text-decoration: none; }
border: 1px solid var(--line);
border-radius: 12px;
display: flex;
align-items: center;
align-items: flex-start;
gap: 12px;
transition: border-color 0.2s, background 0.2s;
max-height: min(150px, 30vh);
}
.tool-chip:hover { background: var(--card-hover-bg); border-color: var(--line-strong); }
.tool-chip.off { opacity: 0.5; }
@@ -2910,17 +2929,14 @@ a { color: var(--orange-3); text-decoration: none; }
font-size: 13px;
font-weight: 700;
color: var(--text);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
overflow-wrap: anywhere;
}
.tool-chip .tool-desc {
font-size: 11px;
color: var(--text-dim2);
margin-top: 2px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
line-height: 1.45;
overflow-wrap: anywhere;
}
.tool-chip .tool-status {
font-size: 9px;

View File

@@ -1,6 +1,6 @@
// 爱马仕 Hermes · 轻量 Service Worker
// 静态壳走 network-first拿不到再回退缓存API 直通
const CACHE = "hermes-ui-v7";
const CACHE = "hermes-ui-v8";
const ASSETS = [
"./",
"./index.html",