feat(feedback): personal AI models, AI run tracking and profiles/options endpoint

- user_settings allowlist: feedback_models (up to 10 personal model configs)
- normalizeFeedbackModels() validation, UI block "Мои модели" in #fbPromptModal
- GET /api/ai/profiles/options for tutors (no api_key), used by feedback/shorts
- feedbacks columns ai_prompt/ai_model/ai_duration_ms + backup/restore support
- "ИИ-запрос" popover on feedback card with status, model, timing and prompt
- audit: feedback.update / feedback.ai.run / feedback.ai.error labels
This commit is contained in:
dev
2026-10-07 16:30:27 +03:00
parent a73b1b3f8c
commit a9fb7aaf77
13 changed files with 522 additions and 85 deletions
+1 -1
View File
@@ -292,7 +292,7 @@ async function openShortsAi() {
document.getElementById('aiCorrectModal').classList.add('open');
const sel = document.getElementById('aiModelSelect');
try {
const res = await fetch(`${API}/api/ai/profiles`, { headers: hdr() });
const res = await fetch(`${API}/api/ai/profiles/options`, { headers: hdr() });
if (!res.ok) throw new Error('Профили недоступны');
const data = await res.json();
const profiles = data.profiles || [];