feat(desktop): pipeline result preview + industry templates + onboarding auto-trigger
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled

Sprint 2: 产品体验打磨 + 行业模板

- Create PipelineResultPreview component with tab-based output switching
- Connect workflow/hand messages to PresentationContainer in ChatArea
- Add auto-trigger first Hand after onboarding (industry-specific queries)
- Seed 3 industry agent templates (education, healthcare, design-shantou)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
iven
2026-04-04 10:48:47 +08:00
parent eac1d9449e
commit 894c0d7b15
4 changed files with 292 additions and 0 deletions

View File

@@ -357,6 +357,26 @@ function App() {
time: '',
});
setShowOnboarding(false);
// Auto-trigger first Hand based on industry template
const templateId = clone.source_template_id || '';
const industryQueries: Record<string, { hand: string; action: string; query: string }> = {
'edu-teacher-001': { hand: 'researcher', action: 'report', query: '帮我研究2026年教育数字化转型趋势包括AI教学工具的最新进展' },
'healthcare-admin-001': { hand: 'collector', action: 'collect', query: '帮我采集最新的医疗政策文件摘要,重点关注基层医疗改革方向' },
'design-shantou-001': { hand: 'researcher', action: 'report', query: '帮我研究2026年服装设计流行趋势包括色彩、面料和款式创新' },
};
const task = industryQueries[templateId];
if (task) {
// Delay slightly to let UI settle
setTimeout(() => {
useHandStore.getState().triggerHand(task.hand, {
action: task.action,
query: { query: task.query },
}).catch(() => {
// Non-critical — user can trigger manually
});
}, 2000);
}
};
// 处理主视图切换