работа со списком промптов и сессиями, которые запоминает ИИ. Нужно доработать.
This commit is contained in:
Binary file not shown.
Binary file not shown.
+45
-1
@@ -193,6 +193,42 @@ def dump_all_to_excel(out_filename="db_dump_full.xlsx"):
|
|||||||
df.to_excel(writer, sheet_name=table[:31], index=False)
|
df.to_excel(writer, sheet_name=table[:31], index=False)
|
||||||
print(f"[✓] Дамп успешно сохранен: {out_path}\n")
|
print(f"[✓] Дамп успешно сохранен: {out_path}\n")
|
||||||
|
|
||||||
|
def print_system_prompts():
|
||||||
|
"""Выводит все системные промпты из базы данных."""
|
||||||
|
print("\n" + "=" * 80)
|
||||||
|
print("📝 СИСТЕМНЫЕ ПРОМПТЫ (system_prompts):")
|
||||||
|
print("=" * 80)
|
||||||
|
with get_connection() as conn:
|
||||||
|
cursor = conn.cursor()
|
||||||
|
cursor.execute("SELECT id, name, is_active, updated_at, prompt_text FROM system_prompts ORDER BY id DESC")
|
||||||
|
rows = cursor.fetchall()
|
||||||
|
if not rows:
|
||||||
|
print("Таблица system_prompts пуста.")
|
||||||
|
else:
|
||||||
|
for r in rows:
|
||||||
|
print(f"ID: {r[0]} | Name: {r[1]} | Active: {r[2]} | Updated: {r[3]}")
|
||||||
|
print("-" * 80)
|
||||||
|
print(f"{r[4]}\n")
|
||||||
|
print("=" * 80 + "\n")
|
||||||
|
|
||||||
|
def print_session_states():
|
||||||
|
"""Выводит текущие активные сессии и превью (session_states)."""
|
||||||
|
print("\n" + "=" * 80)
|
||||||
|
print("🔄 АКТИВНЫЕ СЕССИИ И ПРЕВЬЮ (session_states):")
|
||||||
|
print("=" * 80)
|
||||||
|
with get_connection() as conn:
|
||||||
|
cursor = conn.cursor()
|
||||||
|
cursor.execute("SELECT session_id, state_type, updated_at, pending_data FROM session_states")
|
||||||
|
rows = cursor.fetchall()
|
||||||
|
if not rows:
|
||||||
|
print("Таблица session_states пуста (нет активных превью).")
|
||||||
|
else:
|
||||||
|
for r in rows:
|
||||||
|
print(f"Session: {r[0]} | Type: {r[1]} | Updated: {r[2]}")
|
||||||
|
print("-" * 80)
|
||||||
|
print(f"Pending Data:\n{r[3]}\n")
|
||||||
|
print("=" * 80 + "\n")
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
help_text = """
|
help_text = """
|
||||||
@@ -204,11 +240,15 @@ CLI-утилита инспекции и управления SQLite базой
|
|||||||
scud [--snapshot ID] [--export-xlsx NAME] -- Инспекция логов СКУД и опциональный экспорт в Excel
|
scud [--snapshot ID] [--export-xlsx NAME] -- Инспекция логов СКУД и опциональный экспорт в Excel
|
||||||
anomalies -- Посмотреть все найденные аномалии СКУД ⟷ 1С
|
anomalies -- Посмотреть все найденные аномалии СКУД ⟷ 1С
|
||||||
rules -- Посмотреть правила Базы Знаний ИИ из SQLite
|
rules -- Посмотреть правила Базы Знаний ИИ из SQLite
|
||||||
|
prompts -- Посмотреть системные промпты (system_prompts)
|
||||||
|
sessions -- Посмотреть активные сессии и превью (session_states)
|
||||||
dump [output.xlsx] -- Полный дамп всех таблиц БД в многостраничный Excel
|
dump [output.xlsx] -- Полный дамп всех таблиц БД в многостраничный Excel
|
||||||
snapshot del [ID] или [--day ДД.ММ.ГГГГ] -- Удаление снапшотов по ID или за весь день
|
snapshot del [ID] или [--day ДД.ММ.ГГГГ] -- Удаление снапшотов по ID или за весь день
|
||||||
|
|
||||||
ПРИМЕРЫ ЗАПУСКА:
|
ПРИМЕРЫ ЗАПУСКА:
|
||||||
python scripts/db_cli.py stats
|
python scripts/db_cli.py stats
|
||||||
|
python scripts/db_cli.py prompts
|
||||||
|
python scripts/db_cli.py sessions
|
||||||
python scripts/db_cli.py snapshots 04.08.2026
|
python scripts/db_cli.py snapshots 04.08.2026
|
||||||
python scripts/db_cli.py scud --snapshot Y20260805-007 --export-xlsx вчера_1
|
python scripts/db_cli.py scud --snapshot Y20260805-007 --export-xlsx вчера_1
|
||||||
python scripts/db_cli.py snapshot del Y20260805-007
|
python scripts/db_cli.py snapshot del Y20260805-007
|
||||||
@@ -219,7 +259,7 @@ CLI-утилита инспекции и управления SQLite базой
|
|||||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||||
add_help=True
|
add_help=True
|
||||||
)
|
)
|
||||||
parser.add_argument('command', nargs='?', default=None, choices=['stats', 'snapshots', 'scud', 'anomalies', 'rules', 'dump', 'snapshot'], help="Основная команда")
|
parser.add_argument('command', nargs='?', default=None, choices=['stats', 'snapshots', 'scud', 'anomalies', 'rules', 'prompts', 'sessions', 'dump', 'snapshot'], help="Основная команда")
|
||||||
parser.add_argument('action', nargs='?', default=None, help="Дополнительное действие (например, 'del')")
|
parser.add_argument('action', nargs='?', default=None, help="Дополнительное действие (например, 'del')")
|
||||||
parser.add_argument('param', nargs='?', default=None, help="Параметр (дата, ID снапшота или имя файла)")
|
parser.add_argument('param', nargs='?', default=None, help="Параметр (дата, ID снапшота или имя файла)")
|
||||||
parser.add_argument('--snapshot', type=str, default=None, help="ID конкретного снапшота для инспекции")
|
parser.add_argument('--snapshot', type=str, default=None, help="ID конкретного снапшота для инспекции")
|
||||||
@@ -244,6 +284,10 @@ CLI-утилита инспекции и управления SQLite базой
|
|||||||
print_anomalies()
|
print_anomalies()
|
||||||
elif args.command == 'rules':
|
elif args.command == 'rules':
|
||||||
print_rules()
|
print_rules()
|
||||||
|
elif args.command == 'prompts':
|
||||||
|
print_system_prompts()
|
||||||
|
elif args.command == 'sessions':
|
||||||
|
print_session_states()
|
||||||
elif args.command == 'dump':
|
elif args.command == 'dump':
|
||||||
filename = args.param if args.param else "db_dump_full.xlsx"
|
filename = args.param if args.param else "db_dump_full.xlsx"
|
||||||
dump_all_to_excel(filename)
|
dump_all_to_excel(filename)
|
||||||
|
|||||||
Reference in New Issue
Block a user