128 lines
2.5 KiB
Markdown
128 lines
2.5 KiB
Markdown
# Компоненты
|
|
|
|
## 1. Conversation Manager
|
|
|
|
Отвечает за пользовательский контекст:
|
|
|
|
- диалоги;
|
|
- сообщения;
|
|
- вложения;
|
|
- выбранный проект;
|
|
- активные workers;
|
|
- выбранные режимы доступа;
|
|
- настройки моделей;
|
|
- историю подтверждений.
|
|
|
|
Не выполняет tools напрямую.
|
|
|
|
## 2. Orchestrator
|
|
|
|
Главный серверный компонент.
|
|
|
|
Функции:
|
|
|
|
- принять задачу;
|
|
- определить тип задачи;
|
|
- выбрать execution mode;
|
|
- запустить planner;
|
|
- создать execution graph;
|
|
- запускать узлы графа;
|
|
- вызывать model router;
|
|
- вызывать MCP tools;
|
|
- отправлять команды local worker;
|
|
- обрабатывать подтверждения;
|
|
- логировать;
|
|
- собирать финальный результат.
|
|
|
|
## 3. Model Router
|
|
|
|
Единый интерфейс к моделям.
|
|
|
|
Слоты:
|
|
|
|
```text
|
|
weak
|
|
strong
|
|
vision
|
|
embedding
|
|
reranker
|
|
```
|
|
|
|
Каждый слот настраивается:
|
|
|
|
```text
|
|
provider = local | external | disabled
|
|
model = string
|
|
base_url = string
|
|
api_key_env = string
|
|
```
|
|
|
|
## 4. MCP Client
|
|
|
|
Универсальный клиент к MCP-серверам.
|
|
|
|
Не должен знать про 1С.
|
|
|
|
Поддержать:
|
|
|
|
- initialize;
|
|
- tools/list;
|
|
- tools/call;
|
|
- resources/list;
|
|
- resources/read;
|
|
- prompts/list;
|
|
- prompts/get.
|
|
|
|
## 5. Local Worker Gateway
|
|
|
|
Серверная часть для связи с local workers.
|
|
|
|
Local worker сам открывает исходящее соединение:
|
|
|
|
```text
|
|
Local Worker → WebSocket/gRPC stream → Server
|
|
```
|
|
|
|
Сервер не открывает входящий порт на ПК пользователя.
|
|
|
|
## 6. Policy Engine
|
|
|
|
Не содержит жестких запретов.
|
|
|
|
Он читает настройки проекта и решает:
|
|
|
|
- выполнять сразу;
|
|
- запросить подтверждение;
|
|
- показать preview;
|
|
- поставить задачу в ручной режим;
|
|
- пропустить, если выбран full_auto.
|
|
|
|
## 7. Execution Graph Engine
|
|
|
|
Хранит и исполняет граф:
|
|
|
|
```text
|
|
nodes:
|
|
- id
|
|
- type
|
|
- input
|
|
- output
|
|
- status
|
|
- dependencies
|
|
- assigned_runner
|
|
- attempts
|
|
- logs
|
|
```
|
|
|
|
Статусы:
|
|
|
|
```text
|
|
pending
|
|
running
|
|
waiting_confirmation
|
|
completed
|
|
failed
|
|
cancelled
|
|
skipped
|
|
```
|