File size: 5,087 Bytes
2cef9d0
 
 
2c3dd0c
 
 
 
2cef9d0
 
 
2c3dd0c
 
2cef9d0
2c3dd0c
 
 
 
2cef9d0
 
2c3dd0c
 
 
 
 
 
 
 
 
2cef9d0
2c3dd0c
 
 
 
beeee4f
 
 
 
 
 
 
 
 
 
 
2cef9d0
2c3dd0c
 
 
 
2cef9d0
2c3dd0c
2cef9d0
 
 
 
 
2c3dd0c
 
2cef9d0
2c3dd0c
 
 
 
 
2cef9d0
2c3dd0c
2cef9d0
 
2c3dd0c
 
2cef9d0
2c3dd0c
 
 
 
2cef9d0
2c3dd0c
2cef9d0
 
2c3dd0c
 
2cef9d0
2c3dd0c
 
 
 
2cef9d0
 
 
 
a7ef82b
 
7d64f16
 
 
 
 
 
a7ef82b
7d64f16
 
 
a7ef82b
 
2cef9d0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2c3dd0c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
-- Основные таблицы когнитивного ядра

-- Дневниковые записи (размышления, наблюдения, воспоминания)
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)
);

-- Быстрые индексы по смысловой карте и дневнику
CREATE TABLE IF NOT EXISTS diary_graph_index (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    source_entry_id INTEGER NOT NULL,
    target_entry_id INTEGER NOT NULL,
    relation TEXT NOT NULL,
    strength REAL DEFAULT 1.0,
    context TEXT,
    timestamp TEXT DEFAULT CURRENT_TIMESTAMP
);

-- Заметки, подсказки, сообщения пользователя и 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
);

-- Список известных HMP-агентов
CREATE TABLE IF NOT EXISTS agent_peers (
    id TEXT PRIMARY KEY,             -- UUID или псевдоним агента
    name TEXT,                       -- Человеко-читаемое имя
    addresses TEXT,                  -- JSON: ["http://1.2.3.4:9000", "p2p://..."]
    tags TEXT,                       -- DHT, Postman, Friend, Local и т.д.
    status TEXT DEFAULT 'unknown',  -- online | offline | untrusted | blacklisted | quarantined | unknown
    last_seen DATETIME,             
    description TEXT,
    capabilities TEXT,               -- JSON: {"can_sync": true, ...}
    pubkey TEXT,                     -- Публичный ключ или хэш
    software_info TEXT,              -- JSON: версия, ОС и др.
    registered_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

-- Список пользовательских таблиц, созданных агентами
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
);