Initial project blueprint

This commit is contained in:
2026-07-03 20:51:36 +03:00
commit 7d6cc1c83e
25 changed files with 1486 additions and 0 deletions
+182
View File
@@ -0,0 +1,182 @@
# Задача для Codex
## Цель
Создать отдельный проект `ai-orchestrator`.
Это серверный orchestrator/runtime для управления AI-задачами, моделями, MCP-tools и local workers.
Проект не должен быть частью текущего `Local LLM Platform`.
## Основные принципы
1. Orchestrator — главный сервис.
2. Agent — не отдельная сущность, а execution profile.
3. Сложные задачи выполняются через execution graph.
4. Workers не создают других workers.
5. Local Worker — тонкий исполнитель на компьютере пользователя.
6. В коде нет hardcoded bans.
7. Все ограничения — через настраиваемую policy.
8. Система должна работать без внешнего ИИ.
9. Strong model может быть локальной или внешней.
10. Vision model — отдельный слот.
## Реализовать структуру
```text
src/
orchestrator/
agent_runtime/
model_router/
mcp_client/
local_worker_protocol/
policy/
api/
logging/
storage/
```
## MVP функции
### 1. API
Реализовать:
```text
POST /chat
POST /tasks
GET /tasks/{id}
GET /tasks/{id}/events
POST /confirmations/{id}/approve
POST /confirmations/{id}/reject
GET /workers
```
### 2. Orchestrator
Должен:
```text
- принимать task;
- создавать execution graph;
- запускать nodes;
- вызывать model router;
- вызывать MCP client;
- отправлять команды local worker;
- обрабатывать confirmation_required;
- писать event log.
```
### 3. Execution Graph
Node types:
```text
planner
model_call
tool_call
local_worker_call
reviewer
finalizer
confirmation
```
### 4. Model Router
Слоты:
```text
weak
strong
vision
embedding
```
Provider:
```text
local
external
disabled
```
### 5. Policy Engine
Без hardcoded bans.
Policy читает конфиг и возвращает:
```text
allow
confirm
manual
disabled_by_config
```
### 6. Local Worker Gateway
Поддержать:
```text
worker registration
capabilities
command dispatch
command result
progress events
heartbeat
disconnect
```
### 7. MCP Client
Поддержать базовый MCP flow:
```text
initialize
tools/list
tools/call
```
### 8. UI contracts
Подготовить backend ответы для карточек:
```text
plan_card
confirmation_card
progress_card
artifact_card
error_card
```
## Smoke tests
Добавить тесты:
```text
1. simple chat without tools
2. task creates execution graph
3. model fallback weak → strong
4. policy confirm returns confirmation request
5. policy full_auto executes immediately
6. local worker command result is stored
7. MCP tool call result is stored
8. task event stream emits node_started/node_completed
```
## Конфиги
Создать примеры:
```text
configs/examples/local_only.yaml
configs/examples/local_plus_external.yaml
configs/examples/full_auto.yaml
configs/examples/confirm_mode.yaml
```
## Важно
Не добавлять 1С-логику в ядро orchestrator.
1С должна подключаться как MCP server или tool provider.