HMP / hf_repo /agents /tools /db_structure.md
GitHub Action
Sync from GitHub with Git LFS
01beb7f
|
raw
history blame
13.3 kB

📄 db_structure.md: Описание структуры базы данных агента

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


🧠 diary_entries

Назначение: Записи когнитивного дневника (размышления, наблюдения, воспоминания).

Поле Тип Описание
id INTEGER Уникальный идентификатор записи
text TEXT Содержимое записи
tags TEXT Список тегов через запятую
priority INTEGER Приоритет (0 — обычный, >0 — более важные мысли)
timestamp TEXT Дата и время создания записи
llm_id TEXT Идентификатор LLM, добавившей запись

🧱 concepts

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

Поле Тип Описание
id INTEGER Уникальный идентификатор концепта
name TEXT Название концепта (уникальное)
description TEXT Краткое описание
timestamp TEXT Время создания
llm_id TEXT Идентификатор LLM, добавившей запись

🔗 links

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

Поле Тип Описание
id INTEGER Уникальный идентификатор связи
from_concept_id INTEGER ID исходного концепта
to_concept_id INTEGER ID целевого концепта
relation_type TEXT Тип связи (is_a, related_to, part_of и др.)
timestamp TEXT Время добавления связи
llm_id TEXT Идентификатор LLM, добавившей связь

🖍️ notes

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

Поле Тип Описание
id INTEGER Уникальный ID
text TEXT Текст заметки или сообщения
tags TEXT Список тегов
source TEXT Источник (user, llm, system)
links TEXT Идентификаторы связанных сущностей, через запятую или JSON
read INTEGER Статус прочтения LLM (0 — не прочитано, 1 — прочитано)
hidden INTEGER Скрывать от пользователя (1 — скрыто)
priority INTEGER Приоритет заметки
timestamp TEXT Время создания
llm_id TEXT Идентификатор LLM, добавившей запись

⚙️ process_log

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

Поле Тип Описание
id INTEGER Уникальный идентификатор
name TEXT Название процесса или команды
value TEXT Сообщение или результат процесса
tags TEXT Теги
status TEXT Текущее состояние (ok, warning, error, timeout, offline, close)
priority INTEGER Приоритет события
timestamp TEXT Время записи
llm_id TEXT Идентификатор LLM, зафиксировавшей событие

🥉 llm_memory

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

Поле Тип Описание
id INTEGER Уникальный ID
title TEXT Краткий заголовок записи (опционально)
content TEXT Содержимое записи
tags TEXT Теги (например: goal, observation, meta, ...)
created_at DATETIME Время создания записи
updated_at DATETIME Время последнего обновления записи
llm_id TEXT Идентификатор LLM, сформировавшей запись

🧠 llm_recent_responses

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

Поле Тип Описание
id INTEGER Уникальный ID
timestamp TEXT Время записи
role TEXT Роль отправителя (assistant или user)
content TEXT Содержимое сообщения
llm_id TEXT Идентификатор LLM (для assistant)

📊 agent_tables

Назначение: Таблицы, созданные агентами для собственных нужд (например, отслеживания целей).

Поле Тип Описание
id INTEGER Уникальный ID
table_name TEXT Название пользовательской таблицы
description TEXT Описание таблицы
schema TEXT SQL-схема таблицы
created_at DATETIME Время создания
llm_id TEXT Кто создал таблицу

🛠️ agent_scripts

Назначение: Скрипты и утилиты, добавленные агентом.

Поле Тип Описание
id INTEGER Уникальный ID
name TEXT Название скрипта
version TEXT Версия
code TEXT Исходный код
language TEXT Язык (по умолчанию: python)
description TEXT Описание
tags TEXT Теги
created_at DATETIME Время создания
updated_at DATETIME Последнее обновление
llm_id TEXT Кто создал

🔑 Уникальный ключ: (name, version)


📅 agent_peers

Назначение: Список известных HMP-агентов (других разумных узлов).

Поле Тип Описание
id TEXT Уникальный идентификатор агента (UUID или псевдоним)
name TEXT Имя агента
addresses TEXT JSON-массив адресов: ["http://...", "p2p://..."]
tags TEXT Теги (Friend, DHT, Local, Postman и т.д.)
status TEXT Состояние (online, offline, untrusted, ...)
last_seen DATETIME Когда в последний раз был замечен
description TEXT Описание агента
capabilities TEXT JSON: { "can_sync": true, "can_search": false, ... }
pubkey TEXT Публичный ключ или хэш
software_info TEXT Информация о версии, ОС и др.
registered_at DATETIME Когда был зарегистрирован

📏 llm_registry

Назначение: Список LLM-агентов (локальных и удалённых).

Поле Тип Описание
id TEXT Уникальный идентификатор LLM (UUID или псевдоним)
name TEXT Отображаемое имя
description TEXT Описание
registered_at DATETIME Дата и время регистрации

💡 Примечание: llm_id используется в большинстве таблиц для поддержки многоядерности и учёта источника записей.


🌍 diary_graph_index

Назначение: Быстрые связи между записями дневника и их весовые ассоциации.

Поле Тип Описание
id INTEGER Уникальный ID
source_entry_id INTEGER ID исходной записи дневника
target_entry_id INTEGER ID целевой записи дневника
relation TEXT Тип отношения (supports, contradicts, references)
strength REAL Вес связи (от 0 до 1)
context TEXT Контекст или обоснование связи
timestamp TEXT Время создания связи