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,3 +24,4 @@
24 - [2026-03-27] hi → 你好,我是 Master Agent,LemonBoss 组织的管理者。告诉我你想做什么,我会把任务分配给合适的 Agent 来执行。 24 - [2026-03-27] hi → 你好,我是 Master Agent,LemonBoss 组织的管理者。告诉我你想做什么,我会把任务分配给合适的 Agent 来执行。
25 - [2026-03-27] hi → 不是。我目前使用的是 **MiniMax-M2.1** 模型(见系统环境信息)。 25 - [2026-03-27] hi → 不是。我目前使用的是 **MiniMax-M2.1** 模型(见系统环境信息)。
26 - [2026-03-27] hi → 抱歉,我无法清空对话日志 — 这属于 Claude Code 客户端层面的操作,超出了我的能力范围。 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 \ No newline at end of file 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,7 +6,7 @@
6 "description": "公司战略规划、团队管理、OKR 制定、任务委派", 6 "description": "公司战略规划、团队管理、OKR 制定、任务委派",
7 "benchmarkScore": 97, 7 "benchmarkScore": 97,
8 "trainedAt": "2026-03-20", 8 "trainedAt": "2026-03-20",
9 - "usedCount": 11 9 + "usedCount": 12
10 }, 10 },
11 { 11 {
12 "id": "qa-judge", 12 "id": "qa-judge",
web/src/views/TemplateAgents.vue
@@ -36,14 +36,14 @@ @@ -36,14 +36,14 @@
36 <div class="template-list-scroll"> 36 <div class="template-list-scroll">
37 <div 37 <div
38 v-for="tpl in filteredTemplates" :key="tpl.id" 38 v-for="tpl in filteredTemplates" :key="tpl.id"
39 - class="template-item" 39 + class="agent-card"
40 :class="{ active: selectedTemplateId === tpl.id }" 40 :class="{ active: selectedTemplateId === tpl.id }"
41 @click="selectTemplate(tpl.id)" 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 </div> 47 </div>
48 <div v-if="tpl.benchmarkScore" class="tpl-score">⭐ {{ tpl.benchmarkScore }}</div> 48 <div v-if="tpl.benchmarkScore" class="tpl-score">⭐ {{ tpl.benchmarkScore }}</div>
49 </div> 49 </div>
@@ -455,30 +455,20 @@ onMounted(() =&gt; { @@ -455,30 +455,20 @@ onMounted(() =&gt; {
455 outline: none; border-color: var(--accent); background: var(--bg-input-focus); 455 outline: none; border-color: var(--accent); background: var(--bg-input-focus);
456 } 456 }
457 .template-list-scroll { 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 .empty-mini { padding: 24px; text-align: center; color: var(--text-muted); font-size: 13px; } 473 .empty-mini { padding: 24px; text-align: center; color: var(--text-muted); font-size: 13px; }
484 474