Commit 39cbe290b30f966c4c6952d4bd2f9b6ee094d020

Authored by yibo
1 parent 5c510eb6

fix: agent list shows correct names and emojis

- Fix loadIdentity regex to handle **bold** markdown formatting
- Add fallback to config.json name when identity.md has no 名称 field
- Add 名称 field to Digester/Evolver/Innovator identity.md
data/agents/digester/identity.md
1 # 身份信息 1 # 身份信息
2 2
  3 +- **名称**: Digester
3 - **Emoji**: 🧬 4 - **Emoji**: 🧬
4 -- **简称**: Digester  
5 - **类型**: meta 5 - **类型**: meta
6 - **全称**: Digester — 知识消化与体系构建专家 6 - **全称**: Digester — 知识消化与体系构建专家
data/agents/evolver/identity.md
1 # 身份信息 1 # 身份信息
2 2
  3 +- 名称: Evolver
3 - Emoji: 🧬 4 - Emoji: 🧬
4 -- 简称: Evolver  
5 - 类型: meta 5 - 类型: meta
6 - 专长: RL 式迭代训练、Gap Analysis、SKILL.md 优化 6 - 专长: RL 式迭代训练、Gap Analysis、SKILL.md 优化
data/agents/innovator/identity.md
1 # 身份信息 1 # 身份信息
2 2
  3 +- 名称: Innovator
3 - Emoji: 🧬 4 - Emoji: 🧬
4 - 简称: Innovator 5 - 简称: Innovator
5 - 全名: Agent 训练总监 & 技能工厂 6 - 全名: Agent 训练总监 & 技能工厂
server/routes/agent-chat.js
@@ -385,8 +385,13 @@ function loadAgentConfig(agentDir) { @@ -385,8 +385,13 @@ function loadAgentConfig(agentDir) {
385 function loadIdentity(agentDir) { 385 function loadIdentity(agentDir) {
386 const content = loadFile(agentDir, 'identity.md'); 386 const content = loadFile(agentDir, 'identity.md');
387 const r = { name: 'Agent', emoji: '🤖', greeting: '' }; 387 const r = { name: 'Agent', emoji: '🤖', greeting: '' };
388 - const nm = content.match(/名称:\s*(.+)/); if (nm) r.name = nm[1].trim();  
389 - const em = content.match(/Emoji:\s*(.+)/); if (em) r.emoji = em[1].trim(); 388 + const nm = content.match(/名称\**[::]\s*(.+)/); if (nm) r.name = nm[1].trim();
  389 + // fallback: 如果 identity.md 没有名称,从 config.json 取 name
  390 + if (r.name === 'Agent') {
  391 + const cfg = loadAgentConfig(agentDir);
  392 + if (cfg && cfg.name && cfg.name !== 'Agent') r.name = cfg.name;
  393 + }
  394 + const em = content.match(/Emoji\**[::]\s*(.+)/); if (em) r.emoji = em[1].trim();
390 const gm = content.match(/## 问候语\n"?([^"]*)"?/s); 395 const gm = content.match(/## 问候语\n"?([^"]*)"?/s);
391 if (gm) r.greeting = gm[1].trim().replace(/^"|"$/g, ''); 396 if (gm) r.greeting = gm[1].trim().replace(/^"|"$/g, '');
392 return r; 397 return r;