zhaoweijie 0c571dec21 Initial commit: Multi-Agent Coordination Platform
- Vue 3 + TypeScript + Vite project structure
- Element Plus UI components with dark theme
- Pinia state management for agents and tasks
- JSPlumb integration for visual workflow editing
- SVG icon system for agent roles
- Axios request layer with API proxy configuration
- Tailwind CSS for styling
- Docker deployment with Caddy web server
- Complete development toolchain (ESLint, Prettier, Vitest)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 10:22:14 +08:00

146 lines
3.1 KiB
TypeScript

export interface AgentMapIcon {
name: string
icon: string
color: string
}
// "肾脏病学家": {
// name: "肾脏病学家",
// icon: "doctor",
// color: "#00A2D2",
// },
export const agentMapIcon = new Map<string, AgentMapIcon>()
agentMapIcon.set("船舶设计师", {
name: '船舶设计师',
icon: 'shejishi',
color: '#65AE00',
})
agentMapIcon.set("防护工程专家", {
name: '防护工程专家',
icon: 'engineer',
color: '#B06CFE',
})
agentMapIcon.set("病理生理学家", {
name: '病理生理学家',
icon: 'doctor',
color: '#00A2D2',
})
agentMapIcon.set("药物化学家", {
name: '药物化学家',
icon: 'specialist',
color: '#FF7914',
})
agentMapIcon.set("制剂工程师", {
name: '制剂工程师',
icon: 'medical',
color: '#65AE00',
})
agentMapIcon.set("监管事务专家", {
name: '监管事务专家',
icon: 'researcher',
color: '#0064C4',
})
agentMapIcon.set("物理学家", {
name: '物理学家',
icon: 'specialist',
color: '#B06CFE',
})
agentMapIcon.set("实验材料学家", {
name: '实验材料学家',
icon: 'researcher',
color: '#C01E6A',
})
agentMapIcon.set("计算模拟专家", {
name: '计算模拟专家',
icon: 'researcher',
color: '#FF7914',
})
agentMapIcon.set("腐蚀机理研究员", {
name: '腐蚀机理研究员',
icon: 'specialist',
color: '#00C8D2',
})
agentMapIcon.set("先进材料研发员", {
name: '先进材料研发员',
icon: 'engineer',
color: '#00C8D2',
})
agentMapIcon.set("肾脏病学家", {
name: '肾脏病学家',
icon: 'doctor',
color: '#00A2D2',
})
agentMapIcon.set("临床研究协调员", {
name: '临床研究协调员',
icon: 'renyuan',
color: '#FF7914',
})
agentMapIcon.set("中医药专家", {
name: '中医药专家',
icon: 'medical',
color: '#00C8D2',
})
agentMapIcon.set("药物安全专家", {
name: '药物安全专家',
icon: 'medical',
color: '#65AE00',
})
agentMapIcon.set("二维材料科学家", {
name: '二维材料科学家',
icon: 'shejishi',
color: '#EB6363',
})
agentMapIcon.set("光电物理学家", {
name: '光电物理学家',
icon: 'specialist',
color: '#079EFF',
})
agentMapIcon.set("机器学习专家", {
name: '机器学习专家',
icon: 'researcher',
color: '#8700AE',
})
agentMapIcon.set("流体动力学专家", {
name: '流体动力学专家',
icon: 'specialist',
color: '#EB6363',
})
export function getAgentMapIcon(agentName: string):AgentMapIcon {
return agentMapIcon.get(agentName) ?? agentMapIcon.get('监管事务专家')!
}
export interface AgentMapDuty {
name: string
key: string
color: string
}
// 职责映射
// 提议 评审 改进 总结
export const agentMapDuty: Record<string, AgentMapDuty> = {
Propose: {
name: '提议',
key: 'propose',
color: '#0060FF',
},
Critique: {
name: '评审',
key: 'review',
color: '#FFFC08',
},
Improve: {
name: '改进',
key: 'improve',
color: '#9808FF',
},
Finalize: {
name: '总结',
key: 'summary',
color: '#FF6F08',
},
}
export function getActionTypeDisplay(type: string) {
return agentMapDuty[type]
}