feat(aia): Protocol Agent MVP complete with one-click generation and Word export

- Add one-click research protocol generation with streaming output

- Implement Word document export via Pandoc integration

- Add dynamic dual-panel layout with resizable split pane

- Implement collapsible content for StatePanel stages

- Add conversation history management with title auto-update

- Fix scroll behavior, markdown rendering, and UI layout issues

- Simplify conversation creation logic for reliability
This commit is contained in:
2026-01-25 19:16:36 +08:00
parent 4d7d97ca19
commit 303dd78c54
332 changed files with 6204 additions and 617 deletions

View File

@@ -189,6 +189,36 @@ export class ProtocolContextService {
return requiredStages.every(stage => context.completedStages.includes(stage));
}
/**
* 检查是否可以生成研究方案4/5 必填项)
* 必填科学问题、PICO、研究设计、观察指标
* 可选:样本量
*/
canGenerateProtocol(context: ProtocolContextData): boolean {
const requiredStages: ProtocolStageCode[] = [
'scientific_question',
'pico',
'study_design',
'endpoints',
];
return requiredStages.every(stage => context.completedStages.includes(stage));
}
/**
* 获取缺失的必填阶段
*/
getMissingRequiredStages(context: ProtocolContextData): ProtocolStageCode[] {
const requiredStages: ProtocolStageCode[] = [
'scientific_question',
'pico',
'study_design',
'endpoints',
];
return requiredStages.filter(stage => !context.completedStages.includes(stage));
}
/**
* 获取进度百分比
*/