Bỏ qua để đến nội dung

Deep Resource Integration (Feature Spec)

DomainsDOL EnglishUX401 words2 min read
active

Context: Enhancing Smart Search AI Results with deep, diverse, and interactive data widgets (replacing generic chat inputs). Parent Document: CM_FEATURE_Smart_Search.md

Instead of returning a generic text summary, each AI Action now maps to a specialized “Intel Widget” that visualizes deep database resources.

AI PersonaAction IDData Widget StrategyData Points Needed (Deep Resource)
Performance Deep DiveACT_AI_STATSUnified Stats HUD (Radar + Trend + Mastery)- Skill Balance (Radar)
- 4-Week Trend (Line Cloud)
- Weakness/Strength Tags
Effort TrackerACT_AI_PRACTICE_PROCESSStreak & Heatmap- 30-day Activity Heatmap
- Current Streak Count
- XP / Effort Velocity
Class Prep AssistantACT_AI_SCHEDULE_PREPTimeline Card- Next Class Context (Topic, Room)
- Recommended Pre-read Materials (PDF Links)
- Required Tasks (Tickbox)
Smart Lecture NotesACT_AI_SESSION_SUMMARYSmart Note Deck- Key Takeaways (Bullet points)
- Teacher’s Annotation Snapshot
- Linked Homework IDs
Mistake ClinicACT_AI_ERROR_BANKError Analysis Table- Top 3 Recurring Errors (Grammar/Vocab)
- “Fix-it” Mini Quiz Data
- Frequency Count
Rescue MissionACT_AI_PLANRecovery Timeline- Absent Sessions Context
- “Must-Watch” Video Clips
- MVP Tasks (High priority only)
Concept ClarifierACT_AI_EXPLAINContrast Card- Concept Definition
- “Bad vs Good” Examples
- Related Concepts List

Ensure these widgets exist and consume specialized props:

  • UnifiedStatsWidget.tsx (Ready to enhance)
  • PracticeJourneyWidget.tsx (Needs Heatmap logic)
  • SchedulePrepWidget.tsx (Needs Resource Links)
  • SessionRecapEnhancedWidget.tsx (Needs Smart Note logic)
  • InlineErrorBankWidget.tsx (New - to replace generic Vocab)
  • AICatchUpPlanWidget.tsx (New - Rescue Mission)
  • AIConceptClarifierWidget.tsx (New - Concept Clarifier)

Mock data should be structured to simulate real API responses for “Deep Resources”.

// Example: Deep Resource for Schedule
interface ScheduleDeepResource {
nextSession: {
title: "Unit 5: Linear Thinking",
time: "19:30 Today",
room: "302"
},
prepMaterials: [
{ type: 'pdf', title: 'Task 1 Template', url: '...' },
{ type: 'vocab', title: 'Unit 5 Wordlist', count: 20 }
],
requiredTasks: [
{ id: 't1', text: 'Watch Pre-class Video', done: false }
]
}