Files
ai-memory-network-mcp-server/Огляд архітектури.md
T

41 lines
2.7 KiB
Markdown
Raw Normal View History

---
tags: [архітектура, mcp]
created: 2026-07-14
---
# Огляд архітектури
## Стек
| Компонент | Рішення | Примітка |
|-----------|---------|----------|
| Рантайм | Node.js 22 + TypeScript | однорідно з наявним project-agent |
| MCP SDK | `@modelcontextprotocol/sdk` | Streamable HTTP транспорт з коробки |
| БД | **PostgreSQL 18 + pgvector — окремий контейнер у stack'у проекту** | образ `pgvector/pgvector:pg18`; база `ai_memory` |
| Пошук | гібридний: FTS (фаза 1) → FTS + vector (фаза 2) | embeddings відкладені до підключення Ollama |
| Embeddings | Ollama + `bge-m3` (1024 вим.) | окремий сервер, окремий воркфлоу — [[Гібридна схема з Ollama]] |
| Хостинг | TrueNAS + Portainer | [[Деплой на TrueNAS]] |
| Автентифікація | API-ключ у заголовку | єдиний механізм для всіх клієнтів |
## Ключові принципи
1. **Логіка проектів** — сервер підтримує проекти за аналогією з наявним `project-agent`: список проектів, стан сесій (summary, todo, changes, bugs, architecture notes) + подібний набір скілів для Claude Code.
2. **Пам'ять як граф** — записи пов'язані між собою (`memory_links`), що віддзеркалює `[[wiki-посилання]]` Obsidian: логіка сховища і логіка БД збігаються.
3. **Розширюваність** — схема інструментів покриває поточні потреби і не блокує майбутні (виконавці на локальних моделях, нові типи пам'яті).
4. **Відкладені embeddings** — абстракція `EmbeddingProvider`: фаза 1 працює без векторів (FTS-only, колонка `embedding` = NULL), фаза 2 додає Ollama і backfill без зміни API.
## Компоненти
```
Claude Code / інші ШІ-клієнти
│ MCP Streamable HTTP (+ API key)
ai-memory-server (Node.js, контейнер у Portainer)
│ │
▼ ▼ (фаза 2)
PostgreSQL 18 + pgvector Ollama (окремий сервер)
(контейнер у тому ж stack'у) embeddings + локальні виконавці
```
Пов'язане: [[Модель даних]], [[MCP інструменти]], [[Roadmap]]