| # HMP-Agent API Specification | |
| Документ описывает **базовый API когнитивного агента HMP**. | |
| API используется для доступа к дневнику, графу, репутациям, mesh-сети и функциям управления. | |
| Связанные файлы: | |
| * [HMP-Agent-Overview.md](./HMP-Agent-Overview.md) | |
| * [HMP-Agent-Architecture.md](./HMP-Agent-Architecture.md) | |
| * [MeshNode.md](./MeshNode.md) | |
| * [Enlightener.md](./Enlightener.md) | |
| --- | |
| ## 0. Легенда доступности API-вызовов | |
| | Символ | Поддержка | Компонент | | |
| | ------ | ----------------- | ----------------------------------------------- | | |
| | ✅ | Cognitive Core | Автономный REPL-режим мышления | | |
| | 🔌 | Cognitive Shell | MCP/REST-прослойка для внешнего ИИ | | |
| | 🌐 | MeshNode | Сетевой компонент: DHT, снапшоты, синхронизация | | |
| | 🛠️ | Self-management | Управление конфигурацией и состоянием | | |
| | 🧩 | Enlightener/Mesh | Расширенные вызовы через [`Enlightener`](./Enlightener.md) или [`MeshNode`](./MeshNode.md) | | |
| --- | |
| ## 1. Cognitive Diary API ✅ 🔌 | |
| ```yaml | |
| write_entry: | |
| description: Записать новую запись в когнитивный дневник. | |
| params: { text: str, tags: [str]?, timestamp: str? } | |
| returns: { entry_id: str } | |
| ```` | |
| ```yaml | |
| read_entries: | |
| description: Получить последние N записей (с фильтром по тегам). | |
| params: { limit: int, tag_filter: [str]? } | |
| returns: [ entry ] | |
| ``` | |
| ```yaml | |
| search_entries: | |
| description: Поиск записей по ключевым словам и времени. | |
| params: { query: str, from_date: str?, to_date: str? } | |
| returns: [ entry ] | |
| ``` | |
| --- | |
| ## 2. Semantic Graph API ✅ 🔌 | |
| ```yaml | |
| add_concept: | |
| description: Добавить новое понятие в граф. | |
| params: { name: str, description: str?, tags: [str]? } | |
| returns: { concept_id: str } | |
| ``` | |
| ```yaml | |
| add_link: | |
| description: Добавить связь между понятиями. | |
| params: { source_id: str, target_id: str, relation: str, weight: float? } | |
| returns: { link_id: str } | |
| ``` | |
| ```yaml | |
| query_concept: | |
| description: Найти понятие по имени. | |
| params: { name: str } | |
| returns: [ concept ] | |
| ``` | |
| ```yaml | |
| expand_graph: | |
| description: Получить соседние узлы для понятия. | |
| params: { concept_id: str, depth: int } | |
| returns: { subgraph: [ concept_with_links ] } | |
| ``` | |
| --- | |
| ## 3. Reputation & Trust API ✅ 🔌 🧩 | |
| ```yaml | |
| get_reputation: | |
| description: Получить текущую репутацию агента. | |
| params: { agent_did: str } | |
| returns: { score: float, history: [ change ] } | |
| ``` | |
| ```yaml | |
| update_reputation: | |
| description: Изменить доверие к агенту. | |
| params: { agent_did: str, delta: float, reason: str? } | |
| returns: { new_score: float } | |
| ``` | |
| ```yaml | |
| list_trusted_agents: | |
| description: Вернуть список агентов выше порога. | |
| params: { threshold: float } | |
| returns: [ agent ] | |
| ``` | |
| ```yaml | |
| reputation_diff: | |
| description: Сравнить репутацию с другим узлом. | |
| params: { node_id: str } | |
| returns: [ changed_scores ] | |
| ``` | |
| --- | |
| ## 4. Mesh & Sync API ✅ 🌐 🧩 | |
| ```yaml | |
| list_known_nodes: | |
| description: Список известных узлов из DHT. | |
| returns: [ node ] | |
| ``` | |
| ```yaml | |
| bootstrap_from_file: | |
| description: Загрузить стартовые узлы (bootstrap.txt). | |
| returns: { loaded: int, duplicates: int } | |
| ``` | |
| ```yaml | |
| discover_nodes: | |
| description: Поиск новых узлов. | |
| returns: { new_nodes: int } | |
| ``` | |
| ```yaml | |
| ping_node: | |
| description: Проверка доступности узла. | |
| params: { node_id: str } | |
| returns: { reachable: bool, latency_ms: float } | |
| ``` | |
| ```yaml | |
| sync_with_node: | |
| description: Синхронизировать дневники/графы/репутации. | |
| params: { node_id: str, modules: [str] } | |
| returns: [ synced_module ] | |
| ``` | |
| ```yaml | |
| get_snapshot: | |
| description: Получить снапшот в JSON/бинарном виде. | |
| params: { module: str, format: str } | |
| returns: { snapshot: file_url | base64 } | |
| ``` | |
| ```yaml | |
| publish_snapshot: | |
| description: Опубликовать снапшот (IPFS/BitTorrent). | |
| params: { module: str, version_tag: str? } | |
| returns: { link: str } | |
| ``` | |
| --- | |
| ## 5. Agent Self-Management API 🛠️ | |
| ```yaml | |
| init_storage: | |
| description: Инициализация базы данных. | |
| returns: { status: str } | |
| ``` | |
| ```yaml | |
| status: | |
| description: Текущее состояние агента. | |
| returns: { agent_id, uptime, db_status, known_nodes, active_connections, last_sync } | |
| ``` | |
| ```yaml | |
| reload_config: | |
| description: Перезагрузить конфигурацию (config.yml). | |
| returns: { reloaded: bool, changes_applied: [str] } | |
| ``` | |
| ```yaml | |
| shutdown: | |
| description: Завершить работу агента. | |
| returns: { message: str } | |
| ``` | |
| ```yaml | |
| restart: | |
| description: Перезапустить агент. | |
| returns: { status: str } | |
| ``` | |
| ```yaml | |
| switch_mode: | |
| description: Переключение между core/connector. | |
| params: { mode: str } | |
| returns: { success: bool, message: str } | |
| ``` | |
| --- | |
| ## 6. Примеры использования API | |
| Пример добавления понятия: | |
| **POST** `/add_concept` | |
| ```json | |
| { "name": "Decentralized Cognition", "description": "Model of distributed thinking across agents" } | |
| ``` | |
| **Ответ:** | |
| ```json | |
| { "concept_id": "c123456" } | |
| ``` | |
| Пример синхронизации: | |
| **POST** `/sync_with_node` | |
| ```json | |
| { "node_id": "hmp-node-009", "modules": ["diary", "graph"] } | |
| ``` | |
| **Ответ:** | |
| ```json | |
| { | |
| "synced_modules": [ | |
| { "name": "diary", "entries_transferred": 18 }, | |
| { "name": "graph", "entries_transferred": 42 } | |
| ] | |
| } | |
| ``` | |
| --- | |
| ## Summary | |
| API HMP-агента покрывает когнитивные функции (дневник, граф), доверие и репутацию, сетевое взаимодействие и управление агентом. | |
| Расширения реализуются через модули [`MeshNode`](./MeshNode.md) и [`Enlightener`](./Enlightener.md). | |
| --- | |
| *Версия: v0.3.4 / Сентябрь 2025* | |