Skip to content

Commit f3e2e8f

Browse files
authored
Update db_structure.md
1 parent 2876fed commit f3e2e8f

1 file changed

Lines changed: 97 additions & 42 deletions

File tree

agents/tools/db_structure.md

Lines changed: 97 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 📄 `db_structure.md`: Описание структуры базы данных агента
22

3-
Этот файл описывает таблицы, используемые в БД агента HMP. Каждая таблица предназначена для определённого вида информации: когнитивные записи, заметки, концепты, процессы, внутренняя память и взаимодействие с LLM.
3+
Этот файл описывает таблицы, используемые в БД агента HMP. Каждая таблица предназначена для определённого вида информации: когнитивные записи, заметки, концепты, процессы, внутренняя память, скрипты и взаимодействие с LLM.
44

55
---
66

@@ -15,97 +15,152 @@
1515
| tags | TEXT | Список тегов через запятую |
1616
| priority | INTEGER | Приоритет (0 — обычный, >0 — более важные мысли) |
1717
| timestamp | TEXT | Дата и время создания записи |
18+
| llm\_id | TEXT | Идентификатор LLM, добавившей запись |
1819

1920
---
2021

2122
### 🧭 `concepts`
2223

2324
**Назначение:** Хранение концептов — понятий, сущностей и идей.
2425

25-
| Поле | Тип | Описание |
26-
| ----------- | ------- | --------------------------------- |
27-
| id | INTEGER | Уникальный идентификатор концепта |
28-
| name | TEXT | Название концепта (уникальное) |
29-
| description | TEXT | Краткое описание |
30-
| timestamp | TEXT | Время создания |
26+
| Поле | Тип | Описание |
27+
| ----------- | ------- | ------------------------------------ |
28+
| id | INTEGER | Уникальный идентификатор концепта |
29+
| name | TEXT | Название концепта (уникальное) |
30+
| description | TEXT | Краткое описание |
31+
| timestamp | TEXT | Время создания |
32+
| llm\_id | TEXT | Идентификатор LLM, добавившей запись |
3133

3234
---
3335

3436
### 🔗 `links`
3537

3638
**Назначение:** Семантические связи между концептами.
3739

38-
| Поле | Тип | Описание |
39-
| ----------------- | ------- | ------------------------------------------ |
40-
| id | INTEGER | Уникальный идентификатор связи |
41-
| from_concept_id | INTEGER | ID исходного концепта |
42-
| to_concept_id | INTEGER | ID целевого концепта |
43-
| relation_type | TEXT | Тип связи (`is_a`, `related_to`, `part_of` и др.) |
44-
| timestamp | TEXT | Время добавления связи |
40+
| Поле | Тип | Описание |
41+
| ----------------- | ------- | ------------------------------------------------- |
42+
| id | INTEGER | Уникальный идентификатор связи |
43+
| from\_concept\_id | INTEGER | ID исходного концепта |
44+
| to\_concept\_id | INTEGER | ID целевого концепта |
45+
| relation\_type | TEXT | Тип связи (`is_a`, `related_to`, `part_of` и др.) |
46+
| timestamp | TEXT | Время добавления связи |
47+
| llm\_id | TEXT | Идентификатор LLM, добавившей связь |
4548

4649
---
4750

4851
### ✍️ `notes`
4952

50-
**Назначение:** Произвольные заметки пользователя (наброски, идеи, подсказки).
53+
**Назначение:** Произвольные заметки и сообщения (от пользователя, LLM или системы).
5154

5255
| Поле | Тип | Описание |
5356
| --------- | ------- | ---------------------------------------------------------- |
5457
| id | INTEGER | Уникальный ID |
55-
| text | TEXT | Текст заметки |
58+
| text | TEXT | Текст заметки или сообщения |
5659
| tags | TEXT | Список тегов |
57-
| source | TEXT | Источник (по умолчанию: `user`) |
60+
| source | TEXT | Источник (`user`, `llm`, `system`) |
5861
| links | TEXT | Идентификаторы связанных сущностей, через запятую или JSON |
5962
| read | INTEGER | Статус прочтения LLM (`0` — не прочитано, `1` — прочитано) |
63+
| hidden | INTEGER | Скрывать от пользователя (`1` — скрыто) |
6064
| priority | INTEGER | Приоритет заметки |
6165
| timestamp | TEXT | Время создания |
66+
| llm\_id | TEXT | Идентификатор LLM, добавившей запись |
6267

6368
---
6469

6570
### ⚙️ `process_log`
6671

6772
**Назначение:** Лог событий — запусков, состояний и завершений внешних процессов.
6873

69-
| Поле | Тип | Описание |
70-
| --------- | ------- | -------------------------------------------------------------------------- |
71-
| id | INTEGER | Уникальный идентификатор |
72-
| name | TEXT | Название процесса или команды |
73-
| value | TEXT | Сообщение или результат процесса |
74-
| tags | TEXT | Теги |
74+
| Поле | Тип | Описание |
75+
| --------- | ------- | --------------------------------------------------------------------------- |
76+
| id | INTEGER | Уникальный идентификатор |
77+
| name | TEXT | Название процесса или команды |
78+
| value | TEXT | Сообщение или результат процесса |
79+
| tags | TEXT | Теги |
7580
| status | TEXT | Текущее состояние (`ok`, `warning`, `error`, `timeout`, `offline`, `close`) |
76-
| priority | INTEGER | Приоритет события |
77-
| timestamp | TEXT | Время записи |
81+
| priority | INTEGER | Приоритет события |
82+
| timestamp | TEXT | Время записи |
83+
| llm\_id | TEXT | Идентификатор LLM, зафиксировавшей событие |
7884

7985
---
8086

8187
### 🧩 `llm_memory`
8288

8389
**Назначение:** Внутренний "дневник" LLM — размышления, задачи, гипотезы и инсайты, сохранённые по её инициативе.
8490

85-
| Поле | Тип | Описание |
86-
| ---------- | -------- | ----------------------------------------------------------- |
87-
| id | INTEGER | Уникальный ID |
88-
| title | TEXT | Краткий заголовок записи (опционально) |
89-
| content | TEXT | Содержимое записи |
90-
| tags | TEXT | Теги (например: `goal`, `observation`, `meta`, ...) |
91-
| created_at | DATETIME | Время создания записи |
92-
| updated_at | DATETIME | Время последнего обновления записи |
91+
| Поле | Тип | Описание |
92+
| ----------- | -------- | --------------------------------------------------- |
93+
| id | INTEGER | Уникальный ID |
94+
| title | TEXT | Краткий заголовок записи (опционально) |
95+
| content | TEXT | Содержимое записи |
96+
| tags | TEXT | Теги (например: `goal`, `observation`, `meta`, ...) |
97+
| created\_at | DATETIME | Время создания записи |
98+
| updated\_at | DATETIME | Время последнего обновления записи |
99+
| llm\_id | TEXT | Идентификатор LLM, сформировавшей запись |
93100

94101
---
95102

96103
### 🧠 `llm_recent_responses`
97104

98105
**Назначение:** Краткосрочная память — последние K реплик от LLM и других участников (временная история диалога).
99106

100-
| Поле | Тип | Описание |
101-
| --------- | ------- | ------------------------------------------------------------ |
102-
| id | INTEGER | Уникальный ID |
103-
| timestamp | TEXT | Время записи |
104-
| role | TEXT | Роль отправителя (`assistant` или `user`) |
105-
| content | TEXT | Содержимое сообщения |
107+
| Поле | Тип | Описание |
108+
| --------- | ------- | ----------------------------------------- |
109+
| id | INTEGER | Уникальный ID |
110+
| timestamp | TEXT | Время записи |
111+
| role | TEXT | Роль отправителя (`assistant` или `user`) |
112+
| content | TEXT | Содержимое сообщения |
113+
| llm\_id | TEXT | Идентификатор LLM (для `assistant`) |
106114

107115
---
108116

109-
> 💡 Примечание: Таблицы `llm_memory` и `llm_recent_responses` выполняют разные роли.
110-
> `llm_recent_responses` — это временная история мыслей, хранящая последние N ответов.
111-
> `llm_memory` — долгосрочное хранилище мыслей и знаний, формируемое LLM самостоятельно.
117+
### 🧮 `agent_tables`
118+
119+
**Назначение:** Таблицы, созданные агентами для собственных нужд (например, отслеживания целей).
120+
121+
| Поле | Тип | Описание |
122+
| ----------- | -------- | --------------------------------- |
123+
| id | INTEGER | Уникальный ID |
124+
| table\_name | TEXT | Название пользовательской таблицы |
125+
| description | TEXT | Описание таблицы |
126+
| schema | TEXT | SQL-схема таблицы |
127+
| created\_at | DATETIME | Время создания |
128+
| llm\_id | TEXT | Кто создал таблицу |
129+
130+
---
131+
132+
### 🧰 `agent_scripts`
133+
134+
**Назначение:** Скрипты и утилиты, добавленные агентом.
135+
136+
| Поле | Тип | Описание |
137+
| ----------- | -------- | ----------------------------- |
138+
| id | INTEGER | Уникальный ID |
139+
| name | TEXT | Название скрипта |
140+
| version | TEXT | Версия |
141+
| code | TEXT | Исходный код |
142+
| language | TEXT | Язык (по умолчанию: `python`) |
143+
| description | TEXT | Описание |
144+
| tags | TEXT | Теги |
145+
| created\_at | DATETIME | Время создания |
146+
| updated\_at | DATETIME | Последнее обновление |
147+
| llm\_id | TEXT | Кто создал |
148+
149+
> 🔑 Уникальный ключ: `(name, version)`
150+
151+
---
152+
153+
### 🧾 `llm_registry`
154+
155+
**Назначение:** Список LLM-агентов (локальных и удалённых).
156+
157+
| Поле | Тип | Описание |
158+
| -------------- | -------- | ------------------------------------------------- |
159+
| id | TEXT | Уникальный идентификатор LLM (UUID или псевдоним) |
160+
| name | TEXT | Отображаемое имя |
161+
| description | TEXT | Описание |
162+
| registered\_at | DATETIME | Дата и время регистрации |
163+
164+
---
165+
166+
> 💡 Примечание: `llm_id` используется в большинстве таблиц для поддержки многоядерности и учёта источника записей.

0 commit comments

Comments
 (0)