Commit a154c945ecf9e830baeb2acd016ab880e0096f98

Authored by yibo
1 parent a128a2ff

style: update Template agents list style to match AgentChat list

data/system/agents/master/memory/memory.md
... ... @@ -24,3 +24,4 @@
24 24 - [2026-03-27] hi → 你好,我是 Master Agent,LemonBoss 组织的管理者。告诉我你想做什么,我会把任务分配给合适的 Agent 来执行。
25 25 - [2026-03-27] hi → 不是。我目前使用的是 **MiniMax-M2.1** 模型(见系统环境信息)。
26 26 - [2026-03-27] hi → 抱歉,我无法清空对话日志 — 这属于 Claude Code 客户端层面的操作,超出了我的能力范围。
  27 +- [2026-03-27] 你帮我创建一个叫做 ABC 的公司 → ✅ **ABC Inc. 公司已创建完成!**
... ...
data/system/agents/master/memory/reflections/reflect-1774633135565.json 0 → 100644
  1 +{
  2 + "timestamp": "2026-03-27T17:38:55.565Z",
  3 + "convId": "conv-mn96pu73",
  4 + "task": "你帮我创建一个叫做 ABC 的公司",
  5 + "status": "completed",
  6 + "toolCount": 7,
  7 + "durationSec": 53,
  8 + "patterns": [
  9 + "完成了 7 步工具调用的复杂任务 (53秒)"
  10 + ],
  11 + "lessons": [],
  12 + "plan": null
  13 +}
0 14 \ No newline at end of file
... ...
data/system/agents/master/memory/short-term/session-1774633135564.md 0 → 100644
  1 +# Session 摘要
  2 +
  3 +- **时间**: 2026-03-27 17:38:55
  4 +- **对话ID**: conv-mn96pu73
  5 +- **状态**: completed
  6 +- **工具调用**: 7 次
  7 +- **耗时**: 53秒
  8 +
  9 +## 任务
  10 +你帮我创建一个叫做 ABC 的公司
  11 +
  12 +## 结果
  13 +✅ **ABC Inc. 公司已创建完成!**
  14 +
  15 +| 操作 | 状态 |
  16 +|------|------|
  17 +| 公司创建 | ✅ ABC Inc. 已创建 (ID: abc) |
  18 +| CEO 招聘 | ✅ 首席执行官已入职 |
  19 +| CTO 招聘 | ✅ 首席技术官已入职 |
  20 +| COO 招聘 | ✅ 首席运营官已入职 |
  21 +| HR 招聘 | ✅ 人力资源总监已入职 |
  22 +| 战略启动 | ✅ 已向 CEO 发送启动令 (taskId: T-mn96qkam) |
  23 +
  24 +CEO 已收到战略启动令,正在分析公司定位并制定 SOP。
  25 +
  26 +另外,我已创建了两个定时任务:
  27 +- 🔄 **系统巡检**: 每 5 分钟自动检查所有 Agent 状态
  28 +- 📊 **系统日报**: 每 30 分钟自动生成日报
... ...
data/system/templates/_registry.json
... ... @@ -6,7 +6,7 @@
6 6 "description": "公司战略规划、团队管理、OKR 制定、任务委派",
7 7 "benchmarkScore": 97,
8 8 "trainedAt": "2026-03-20",
9   - "usedCount": 11
  9 + "usedCount": 12
10 10 },
11 11 {
12 12 "id": "qa-judge",
... ...
web/src/views/TemplateAgents.vue
... ... @@ -36,14 +36,14 @@
36 36 <div class="template-list-scroll">
37 37 <div
38 38 v-for="tpl in filteredTemplates" :key="tpl.id"
39   - class="template-item"
  39 + class="agent-card"
40 40 :class="{ active: selectedTemplateId === tpl.id }"
41 41 @click="selectTemplate(tpl.id)"
42 42 >
43   - <div class="tpl-icon">{{ agentEmoji(tpl.type) }}</div>
44   - <div class="tpl-info">
45   - <div class="tpl-name">{{ tpl.name }}</div>
46   - <div class="tpl-type">{{ tpl.type }}</div>
  43 + <div class="agent-card-emoji">{{ agentEmoji(tpl.type) }}</div>
  44 + <div class="agent-card-info">
  45 + <div class="agent-card-name">{{ tpl.name }}</div>
  46 + <div class="agent-card-type">{{ tpl.type }}</div>
47 47 </div>
48 48 <div v-if="tpl.benchmarkScore" class="tpl-score">⭐ {{ tpl.benchmarkScore }}</div>
49 49 </div>
... ... @@ -455,30 +455,20 @@ onMounted(() =&gt; {
455 455 outline: none; border-color: var(--accent); background: var(--bg-input-focus);
456 456 }
457 457 .template-list-scroll {
458   - flex: 1; overflow-y: auto; padding: 12px;
459   - display: flex; flex-direction: column; gap: 8px;
460   -}
461   -.template-item {
462   - display: flex; align-items: center; gap: 12px;
463   - padding: 12px; border-radius: 10px; cursor: pointer;
464   - border: 1px solid transparent; transition: all 0.2s;
465   -}
466   -.template-item:hover {
467   - background: var(--bg-surface-hover);
468   -}
469   -.template-item.active {
470   - background: var(--bg-surface);
471   - border-color: var(--border-active);
472   - box-shadow: 0 4px 12px rgba(0,0,0,0.05);
473   -}
474   -.tpl-icon { font-size: 24px; }
475   -.tpl-info { flex: 1; min-width: 0; }
476   -.tpl-name {
477   - font-size: 14px; font-weight: 700; color: var(--text-primary);
478   - white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
479   -}
480   -.tpl-type { font-size: 11px; color: var(--text-muted); text-transform: uppercase; margin-top: 2px; }
481   -.tpl-score { font-size: 11px; color: var(--yellow-text); font-weight: 700; }
  458 + flex: 1; overflow-y: auto; padding: 6px;
  459 +}
  460 +.agent-card {
  461 + display: flex; align-items: center; gap: 8px;
  462 + padding: 7px 10px; border-radius: 8px; cursor: pointer;
  463 + transition: all 0.15s; margin-bottom: 2px; border: 1px solid transparent;
  464 +}
  465 +.agent-card:hover { background: var(--accent-bg); }
  466 +.agent-card.active { background: var(--bg-surface-active); border-color: var(--border-active); }
  467 +.agent-card-emoji { font-size: 18px; flex-shrink: 0; }
  468 +.agent-card-info { min-width: 0; flex: 1; }
  469 +.agent-card-name { font-size: 11px; font-weight: 600; color: var(--text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  470 +.agent-card-type { font-size: 9px; color: var(--text-faint); text-transform: uppercase; }
  471 +.tpl-score { font-size: 10px; font-weight: 700; color: var(--yellow-text, #f59e0b); background: rgba(245,158,11,0.1); padding: 2px 6px; border-radius: 6px; }
482 472  
483 473 .empty-mini { padding: 24px; text-align: center; color: var(--text-muted); font-size: 13px; }
484 474  
... ...