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

41 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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]]