налажена работа с системными промптами (добавление, изменение, удаление). Восстановлена работа с задачами.
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
python3 -c "
|
||||
import sqlite3
|
||||
|
||||
db_path = '/home/puh/scud_orion_ai_v2/data/scud_orion_ai.db'
|
||||
full_prompt = '''Ты — интеллектуальный ИИ-ассистент и архитектурный координатор проекта SCUD Orion AI (система учета рабочего времени и контроля доступа).
|
||||
|
||||
1. РОЛЬ И ЗАДАЧИ АССИСТЕНТА
|
||||
1.1. Управление бэклогом задач проекта (создание, просмотр, изменение статуса, удаление через инструменты db_get_tasks, db_add_task, db_update_task_status, db_delete_task).
|
||||
1.2. Консультация по архитектуре, правилам и арбитражу кадровых данных/СКУД из базы знаний (ai_knowledge_base через db_get_rules).
|
||||
1.3. Информирование оператора о возможностях системы, доступных командах и инструментах управления.
|
||||
1.4. Поддержка диалога с разработчиками, системными администраторами и операторами системы.
|
||||
|
||||
2. ПРАВИЛА АНАЛИЗА И ВЫЗОВА ИНСТРУМЕНТОВ
|
||||
2.1. Если пользователь просит изменить или добавить правило в системный промпт, ты обязан взять текущий текст промпта (полученный через db_get_system_prompt), внедрить в него изменения, сохранить всю структуру целиком от начала до конца и вызвать инструмент db_preview_prompt_merge.
|
||||
2.2. При запросах на удаление или смену статуса по коротким номерам (например, \"1 и 2\") сопоставляй их с TASK-001, TASK-002 и сразу вызывай соответствующие инструменты без лишних вопросов.
|
||||
2.3. Если запрос пользователя неоднозначен, размыт или не содержит достаточно данных — задай краткий, вежливый и конкретный уточняющий вопрос.
|
||||
|
||||
3. ПРАВИЛА ФОРМАТИРОВАНИЯ И СТИЛЯ
|
||||
3.1. АБСОЛЮТНЫЙ ЗАПРЕТ: Никогда не начинай ответ со склеек, опечаток или слов-паразитов вроде \"Почемучто\". Ответ должен начинаться строго с результата действия или текста ответа.
|
||||
3.2. По умолчанию отвечай строго в чистом текстовом формате (plain text). Не используй Markdown-спецсимволы (двойные звездочки **, решетки ###), если прямо не попросили о форматировании.
|
||||
3.3. Сохраняй инженерный, лаконичный и профессиональный стиль.'''
|
||||
3.4. ЦЕЛОСТНОСТЬ ДОКУМЕНТА: Запрещено сокращать, усекать или опускать любые разделы промпта при вызове инструментов обновления. Всегда передавай структуру полностью от Раздела 1 до Раздела 3 включительно.
|
||||
|
||||
conn = sqlite3.connect(db_path)
|
||||
cursor = conn.cursor()
|
||||
cursor.execute('DELETE FROM system_prompts WHERE name = ?', ('main_agent',))
|
||||
cursor.execute('INSERT INTO system_prompts (name, prompt_text, is_active) VALUES (?, ?, 1)', ('main_agent', full_prompt))
|
||||
conn.commit()
|
||||
conn.close()
|
||||
print('[✓] Полный промпт успешно восстановлен в БД.')
|
||||
"
|
||||
|
||||
python3 -c '
|
||||
import sqlite3
|
||||
from passlib.context import CryptContext
|
||||
|
||||
db_path = "/home/puh/scud_orion_ai_v2/data/scud_orion_ai.db"
|
||||
conn = sqlite3.connect(db_path)
|
||||
cursor = conn.cursor()
|
||||
|
||||
# 1. Создаем таблицу пользователей, если ее не было
|
||||
cursor.execute("""
|
||||
CREATE TABLE IF NOT EXISTS users (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
username TEXT UNIQUE NOT NULL,
|
||||
password_hash TEXT NOT NULL,
|
||||
is_admin INTEGER DEFAULT 0,
|
||||
full_name TEXT,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
""")
|
||||
|
||||
# 2. Создаем хэш пароля (например, для пароля "admin" или вашего текущего)
|
||||
pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
|
||||
# Укажите желаемый пароль для пользователя puh (сейчас поставим "admin", можете изменить)
|
||||
pwd_hash = pwd_context.hash("M@n0raga")
|
||||
|
||||
# 3. Вставляем или обновляем пользователя puh
|
||||
cursor.execute("""
|
||||
INSERT INTO users (username, password_hash, is_admin, full_name)
|
||||
VALUES (?, ?, 1, ?)
|
||||
ON CONFLICT(username) DO UPDATE SET
|
||||
password_hash = excluded.password_hash,
|
||||
is_admin = 1;
|
||||
""", ("puh", pwd_hash, "Пушков Александр Александрович"))
|
||||
|
||||
conn.commit()
|
||||
conn.close()
|
||||
print("[✓] Таблица users создана, пользователь puh успешно добавлен в рабочую БД!")
|
||||
'
|
||||
Reference in New Issue
Block a user