| # 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* |
|
|