{"id":"cmv065krl0013pj2odmqf91gq","slug":"ai-insights","judul":"AI & Insights","deskripsi":"Gemini AI — generate soal, insights anak, content generator","parentId":"cmv05qyqx000htm4dwawyj1ll","urut":5,"kategori":"backend","tag":"[\"ai\",\"gemini\",\"insights\"]","status":"aktif","versi":null,"konsep":"","createdAt":"2026-10-08T23:30:00.417Z","updatedAt":"2026-10-10T03:56:55.043Z","bagian":[{"id":"cmv065l2x0015pj2oh8hgbgnf","blueprintId":"cmv065krl0013pj2odmqf91gq","judul":"Ringkasan","konten":"**Gemini AI integration:**\n\n**1. AI Content Generator** — `POST /api/admin/generate`\n- Generate soal kuis (PAKET_SOAL)\n- Generate preset pengasuhan (PRESET_PENGASUHAN)\n- Pakai `GEMINI_API_KEY`\n- Output: JSON array soal `[{q, options, answer, explain}]`\n\n**2. Insights Anak** — `GET /api/insights?anakId=X`\n- Analisis aktivitas anak 7 hari\n- Output: kategori, teks, level (info/warning/positive)\n- Sumber: Gemini atau rule-based\n- `InsightsRes`: anakNama, insights[], ringkasan (totalAktivitas, tugasSelesai, tugasPending, tugasDitolak, saldoToken)\n\n**3. KuisAttempt** — soal JSON dari Gemini atau Question Bank\n- levelKesulitan 1-5\n- tokenReward per kuis\n\n**4. OfficialMeta** — `aiGenerated`, `promptSource` (audit trail)\n\n**App ortu:** `LayarInsights.kt` — tampilkan insights per anak","media":"[]","urut":0,"createdAt":"2026-10-08T23:30:00.825Z","updatedAt":"2026-10-08T23:30:00.825Z"},{"id":"cmv065lem0017pj2o4ga56ykh","blueprintId":"cmv065krl0013pj2odmqf91gq","judul":"Pitfall","konten":"⚠ Gemini API key di env `GEMINI_API_KEY`\n⚠ Google rotasi model — cek model valid sebelum pakai\n⚠ `gemini-2.5-flash` valid per 2026-10-08 (2.0-flash dihapus Google)","media":"[]","urut":1,"createdAt":"2026-10-08T23:30:01.246Z","updatedAt":"2026-10-08T23:30:01.246Z"}],"children":[],"parent":{"slug":"zx-parenting","judul":"ZX Parenting"}}