| 103 | } |
| 104 | |
| 105 | async logSystemMessage(phase: Stage, content: string, evaluationPoints: any[]) { |
| 106 | const formattedContent = content.split('\n') |
| 107 | .map(line => line.trim()) |
| 108 | .filter(line => line) |
| 109 | .join('\n '); |
| 110 | |
| 111 | await this.writeLog('system_message', JSON.stringify( |
| 112 | { |
| 113 | phase: { |
| 114 | id: phase.id, |
| 115 | name: phase.name, |
| 116 | evaluationPoints: evaluationPoints.map(ep => ({ |
| 117 | criteriaId: ep.criteriaId, |
| 118 | criterionName: ep.criterion || '未找到对应的评估标准', |
| 119 | weight: ep.weight, |
| 120 | details: phase.evaluationPoints |
| 121 | .find(p => p.criteriaId === ep.criteriaId)?.details || [] |
| 122 | })) |
| 123 | }, |
| 124 | messagePreview: formattedContent.slice(0, 200) + '...', |
| 125 | fullMessage: formattedContent |
| 126 | }, |
| 127 | null, |
| 128 | 2 |
| 129 | )); |
| 130 | } |
| 131 | |
| 132 | async logPhaseTransition( |
| 133 | messageCount: number, |