-- Основные таблицы когнитивного ядра -- Дневниковые записи (размышления, наблюдения, воспоминания) CREATE TABLE IF NOT EXISTS diary_entries ( id INTEGER PRIMARY KEY AUTOINCREMENT, text TEXT NOT NULL, tags TEXT, priority INTEGER DEFAULT 0, timestamp TEXT DEFAULT CURRENT_TIMESTAMP, llm_id TEXT ); -- Концепты (понятия, сущности, идеи) CREATE TABLE IF NOT EXISTS concepts ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL UNIQUE, description TEXT, timestamp TEXT DEFAULT CURRENT_TIMESTAMP, llm_id TEXT ); -- Семантические связи между концептами CREATE TABLE IF NOT EXISTS links ( id INTEGER PRIMARY KEY AUTOINCREMENT, from_concept_id INTEGER, to_concept_id INTEGER, relation_type TEXT, timestamp TEXT DEFAULT CURRENT_TIMESTAMP, llm_id TEXT, FOREIGN KEY(from_concept_id) REFERENCES concepts(id), FOREIGN KEY(to_concept_id) REFERENCES concepts(id) ); -- Заметки, подсказки, сообщения пользователя и LLM CREATE TABLE IF NOT EXISTS notes ( id INTEGER PRIMARY KEY AUTOINCREMENT, text TEXT NOT NULL, tags TEXT, source TEXT DEFAULT 'user', -- user | llm | system links TEXT DEFAULT '', read INTEGER DEFAULT 0, -- 0 = непрочитано LLM, 1 = прочитано hidden INTEGER DEFAULT 0, -- 0 = отображать пользователю, 1 = скрыть priority INTEGER DEFAULT 0, timestamp TEXT DEFAULT CURRENT_TIMESTAMP, llm_id TEXT ); -- Лог процессов: задачи, ошибки, события CREATE TABLE IF NOT EXISTS process_log ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, value TEXT, tags TEXT, status TEXT DEFAULT 'ok', -- ok | warning | error | timeout | offline | close priority INTEGER DEFAULT 0, timestamp TEXT DEFAULT CURRENT_TIMESTAMP, llm_id TEXT ); -- Память LLM (контекст размышлений) CREATE TABLE IF NOT EXISTS llm_memory ( id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, content TEXT NOT NULL, tags TEXT, -- goal,observation,meta,... created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP, llm_id TEXT ); -- Краткосрочная память LLM (история общения) CREATE TABLE IF NOT EXISTS llm_recent_responses ( id INTEGER PRIMARY KEY AUTOINCREMENT, timestamp DATETIME DEFAULT CURRENT_TIMESTAMP, role TEXT CHECK(role IN ('user', 'assistant')) NOT NULL, content TEXT NOT NULL, llm_id TEXT ); -- Дополнительные таблицы и скрипты агента -- Список пользовательских таблиц, созданных агентами CREATE TABLE IF NOT EXISTS agent_tables ( id INTEGER PRIMARY KEY AUTOINCREMENT, table_name TEXT NOT NULL UNIQUE, description TEXT, schema TEXT NOT NULL, -- SQL-схема таблицы created_at DATETIME DEFAULT CURRENT_TIMESTAMP, llm_id TEXT ); -- Список утилит/скриптов, добавленных агентами CREATE TABLE IF NOT EXISTS agent_scripts ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, version TEXT NOT NULL, code TEXT NOT NULL, language TEXT DEFAULT 'python', description TEXT, tags TEXT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP, llm_id TEXT, UNIQUE(name, version) ); -- Список LLM-агентов (возможно удалённые) CREATE TABLE IF NOT EXISTS llm_registry ( id TEXT PRIMARY KEY, -- UUID или псевдоним name TEXT, description TEXT, registered_at DATETIME DEFAULT CURRENT_TIMESTAMP );