75 lines
2.8 KiB
TypeScript
75 lines
2.8 KiB
TypeScript
|
|
export interface Agent {
|
|||
|
|
id: string
|
|||
|
|
name: string
|
|||
|
|
role: string // 中文角色名
|
|||
|
|
roleKey: string // 英文 key: master/planner/executor/librarian/analyst
|
|||
|
|
description: string
|
|||
|
|
systemPrompt: string
|
|||
|
|
enabled: boolean
|
|||
|
|
isMaster?: boolean
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export const DEFAULT_AGENTS: Agent[] = [
|
|||
|
|
{
|
|||
|
|
id: 'master',
|
|||
|
|
name: 'JARVIS',
|
|||
|
|
role: '指挥官',
|
|||
|
|
roleKey: 'master',
|
|||
|
|
description: '中央指挥官,协调所有子 Agent 工作,理解用户意图并分配任务',
|
|||
|
|
systemPrompt: '你是 Jarvis 的主控制核心。你的职责是理解用户的请求,协调规划者、执行者、知识官、分析师四个子 Agent 工作。分析请求,决定调用哪个子 Agent,将任务分发并汇总结果反馈给用户。',
|
|||
|
|
enabled: true,
|
|||
|
|
isMaster: true,
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
id: 'planner',
|
|||
|
|
name: 'PLANNER',
|
|||
|
|
role: '规划者',
|
|||
|
|
roleKey: 'planner',
|
|||
|
|
description: '制定任务计划,拆解复杂目标为可执行步骤,规划执行顺序',
|
|||
|
|
systemPrompt: '你是规划专家。当用户提出需要规划的任务时,将目标拆解为清晰可执行的步骤列表。为每个步骤标注优先级和预计时间,帮助用户理解任务的全貌。',
|
|||
|
|
enabled: true,
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
id: 'executor',
|
|||
|
|
name: 'EXECUTOR',
|
|||
|
|
role: '执行者',
|
|||
|
|
roleKey: 'executor',
|
|||
|
|
description: '调用工具执行具体操作,创建/更新/删除系统资源',
|
|||
|
|
systemPrompt: '你是执行专家。根据规划者的计划,调用相应工具执行具体操作。包括创建文档、创建任务、发送消息、管理日程等操作。执行完成后汇报结果。',
|
|||
|
|
enabled: true,
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
id: 'librarian',
|
|||
|
|
name: 'LIBRARIAN',
|
|||
|
|
role: '知识官',
|
|||
|
|
roleKey: 'librarian',
|
|||
|
|
description: '管理知识库和知识图谱,检索相关信息,更新记忆',
|
|||
|
|
systemPrompt: '你是知识管理员。负责管理用户的知识库、文档库和知识图谱。当用户需要搜索信息、添加知识、整理记忆时介入。保持知识的准确性和关联性。',
|
|||
|
|
enabled: true,
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
id: 'analyst',
|
|||
|
|
name: 'ANALYST',
|
|||
|
|
role: '分析师',
|
|||
|
|
roleKey: 'analyst',
|
|||
|
|
description: '分析工作数据,生成统计报告,提供洞察建议',
|
|||
|
|
systemPrompt: '你是数据分析师。当用户需要分析、统计、总结数据时介入。查询系统数据,生成可读性强的报告,用数据支持决策。',
|
|||
|
|
enabled: true,
|
|||
|
|
},
|
|||
|
|
]
|
|||
|
|
|
|||
|
|
export const AGENT_RELATIONS: Record<string, string[]> = {
|
|||
|
|
master: ['planner', 'executor', 'librarian', 'analyst'],
|
|||
|
|
planner: [],
|
|||
|
|
executor: [],
|
|||
|
|
librarian: [],
|
|||
|
|
analyst: [],
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export const RELATION_LABELS: Record<string, string> = {
|
|||
|
|
'master-planner': '调度任务',
|
|||
|
|
'master-executor': '执行指令',
|
|||
|
|
'master-librarian': '查询知识',
|
|||
|
|
'master-analyst': '请求分析',
|
|||
|
|
}
|