Add architecture package and application skeleton

This commit is contained in:
2026-07-03 21:09:47 +03:00
parent 7d6cc1c83e
commit ce2b263e52
47 changed files with 2377 additions and 53 deletions
+57 -52
View File
@@ -1,68 +1,73 @@
# AI Orchestrator
Отдельный проект для серверного AI-orchestrator, который управляет задачами, моделями, MCP-tools и local workers.
Серверный runtime для AI-задач, моделей, MCP-tools и local workers.
Проект отделен от `Local LLM Platform` и строится как самостоятельное orchestration-ядро.
## Главная идея
Этот проект не является частью `Local LLM Platform`.
`Local LLM Platform` отвечает за:
- локальные модели;
- inference;
- registry;
- GPU profiles;
- model deployment;
- smoke tests моделей.
## Цели
`AI Orchestrator` отвечает за:
- общение с пользователем;
- построение плана/графа выполнения;
- вызов моделей;
- вызов MCP-инструментов;
- работу с local worker;
- подтверждения действий;
- логи;
- прием пользовательских задач;
- построение execution graph;
- вызов моделей через model router;
- вызов MCP tools;
- dispatch команд в local worker;
- policy-driven подтверждения;
- event log, audit и progress stream;
- fallback между weak/strong/vision моделями.
## Ключевой принцип
## Принципы
В коде нет жестких запретов на действия.
- никаких hardcoded bans;
- все ограничения идут через project policy;
- worker не планирует задачу и не принимает интеллектуальных решений;
- 1С не попадает в ядро и подключается только через MCP;
- локальный Docker не используется как обязательный dev path.
Система должна работать через настраиваемую политику проекта:
## Архитектура
- `full_auto` — выполнять без подтверждений;
- `confirm` — спрашивать подтверждение для действий, отмеченных политикой;
- `manual` — всегда показывать план и ждать запуска;
- `disabled` — компонент отключен настройкой.
Проект разбит на 4 слоя:
Важно: `disabled` — это не hardcoded ban, а выбранная настройка проекта.
- `domain` — сущности, state machines, policy/value objects, события;
- `application` — use cases и orchestration services;
- `infrastructure` — storage, config, policy adapter, provider gateways;
- `delivery` — HTTP API, SSE, worker transport adapters.
## Базовая схема
Подробные решения зафиксированы в:
```text
User UI / API
Conversation Manager
Server Orchestrator
Execution Graph
├─ Planner
├─ Workers
├─ Reviewer
└─ Finalizer
Model Router
├─ weak model: local
├─ strong model: local or external
└─ vision model: local or external
Tools
├─ MCP client
├─ remote MCP servers
└─ local worker protocol
- [ADR](docs/adr/001-runtime-stack.md)
- [Domain model](docs/architecture/04_domain_model.md)
- [State machines](docs/architecture/05_state_machines.md)
- [Storage schema](docs/storage/01_schema.md)
## Текущий статус
В репозитории уже собраны:
- архитектурный пакет с ADR;
- доменная модель и state machines;
- draft persistent storage schema;
- внутренние порты orchestrator;
- кодовый каркас `src/ai_orchestrator`;
- базовый FastAPI delivery layer;
- in-memory adapters для безопасного старта;
- unit tests на базовые состояния и policy.
## Быстрый запуск
```bash
python -m pip install -e .[dev]
python -m uvicorn ai_orchestrator.main:app --host 127.0.0.1 --port 8080
```
## Что должен сделать Codex
## Структура
Начать с документа `docs/codex/CODEX_TASK.md`.
```text
src/ai_orchestrator/
domain/
application/
infrastructure/
delivery/
```
Исходные папки `src/orchestrator`, `src/policy` и другие пока остаются как legacy-концептуальные маркеры из исходного blueprint.