|
|
--- |
|
|
title: HMP-Agent API Specification |
|
|
description: 'Документ описывает **базовый API когнитивного агента HMP**. API используется |
|
|
для доступа к дневнику, графу, репутациям, mesh-сети и функциям управления. Связанные |
|
|
файлы: * [HMP-Agent-Overview.md]...' |
|
|
type: Article |
|
|
tags: |
|
|
- REPL |
|
|
- Agent |
|
|
- HMP |
|
|
- Mesh |
|
|
- JSON |
|
|
--- |
|
|
|
|
|
# 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* |
|
|
|
|
|
|
|
|
--- |
|
|
> ⚡ [AI friendly version docs (structured_md)](../index.md) |
|
|
|
|
|
|
|
|
```json |
|
|
{ |
|
|
"@context": "https://schema.org", |
|
|
"@type": "Article", |
|
|
"name": "HMP-Agent API Specification", |
|
|
"description": "# HMP-Agent API Specification Документ описывает **базовый API когнитивного агента HMP**. API исп..." |
|
|
} |
|
|
``` |
|
|
|