Phase 3: Skills & Context — skill system, personal context, context layering
Backend: - Skill model + migration (with FK on chats.skill_id) - Personal + general skill CRUD services with access isolation - Admin skill CRUD endpoints (POST/GET/PATCH/DELETE /admin/skills) - User skill CRUD endpoints (POST/GET/PATCH/DELETE /skills/) - Personal context GET/PUT at /users/me/context - Extended context assembly: primary + personal context + skill prompt - Chat creation/update now accepts skill_id with validation Frontend: - Skill selector dropdown in chat header (grouped: general + personal) - Reusable skill editor form component - Admin skills management page (/admin/skills) - Personal skills page (/skills) - Personal context editor page (/profile/context) - Updated sidebar: Skills, My Context nav items + admin skills link - English + Russian translations for all skill/context UI Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -36,7 +36,8 @@
|
||||
"admin": "Admin",
|
||||
"users": "Users",
|
||||
"context": "Context",
|
||||
"skills": "Skills"
|
||||
"skills": "Skills",
|
||||
"personal_context": "My Context"
|
||||
},
|
||||
"dashboard": {
|
||||
"welcome": "Welcome, {{name}}",
|
||||
@@ -64,6 +65,31 @@
|
||||
"version": "Version",
|
||||
"characters": "characters"
|
||||
},
|
||||
"skills": {
|
||||
"my_skills": "My Skills",
|
||||
"general_skills": "General Skills",
|
||||
"no_skills": "No skills yet.",
|
||||
"no_personal_skills": "You haven't created any personal skills yet.",
|
||||
"create_personal": "Create Personal Skill",
|
||||
"edit_personal": "Edit Personal Skill",
|
||||
"create_general": "Create General Skill",
|
||||
"edit_general": "Edit General Skill",
|
||||
"name": "Name",
|
||||
"name_placeholder": "e.g. Cardiologist",
|
||||
"description": "Description",
|
||||
"description_placeholder": "Brief description of this specialist",
|
||||
"system_prompt": "System Prompt",
|
||||
"prompt_placeholder": "Instructions for the AI when using this skill...",
|
||||
"icon": "Icon",
|
||||
"no_skill": "No specialist",
|
||||
"general": "General",
|
||||
"personal": "Personal"
|
||||
},
|
||||
"personal_context": {
|
||||
"title": "Personal Context",
|
||||
"subtitle": "This context is added to all your AI conversations",
|
||||
"placeholder": "Add personal information that the AI should know about you..."
|
||||
},
|
||||
"common": {
|
||||
"loading": "Loading...",
|
||||
"error": "An error occurred",
|
||||
|
||||
@@ -36,7 +36,8 @@
|
||||
"admin": "Администрирование",
|
||||
"users": "Пользователи",
|
||||
"context": "Контекст",
|
||||
"skills": "Навыки"
|
||||
"skills": "Навыки",
|
||||
"personal_context": "Мой контекст"
|
||||
},
|
||||
"dashboard": {
|
||||
"welcome": "Добро пожаловать, {{name}}",
|
||||
@@ -64,6 +65,31 @@
|
||||
"version": "Версия",
|
||||
"characters": "символов"
|
||||
},
|
||||
"skills": {
|
||||
"my_skills": "Мои навыки",
|
||||
"general_skills": "Общие навыки",
|
||||
"no_skills": "Навыков пока нет.",
|
||||
"no_personal_skills": "Вы ещё не создали персональных навыков.",
|
||||
"create_personal": "Создать персональный навык",
|
||||
"edit_personal": "Редактировать навык",
|
||||
"create_general": "Создать общий навык",
|
||||
"edit_general": "Редактировать общий навык",
|
||||
"name": "Название",
|
||||
"name_placeholder": "напр. Кардиолог",
|
||||
"description": "Описание",
|
||||
"description_placeholder": "Краткое описание специалиста",
|
||||
"system_prompt": "Системный промпт",
|
||||
"prompt_placeholder": "Инструкции для ИИ при использовании этого навыка...",
|
||||
"icon": "Иконка",
|
||||
"no_skill": "Без специалиста",
|
||||
"general": "Общие",
|
||||
"personal": "Персональные"
|
||||
},
|
||||
"personal_context": {
|
||||
"title": "Персональный контекст",
|
||||
"subtitle": "Этот контекст добавляется ко всем вашим разговорам с ИИ",
|
||||
"placeholder": "Добавьте личную информацию, которую ИИ должен знать о вас..."
|
||||
},
|
||||
"common": {
|
||||
"loading": "Загрузка...",
|
||||
"error": "Произошла ошибка",
|
||||
|
||||
Reference in New Issue
Block a user