First commit
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
# Neuro Core v4
|
||||
|
||||
Модульная AI-система с агентами, долговременной памятью и песочницей.
|
||||
|
||||
## Структура проекта
|
||||
neuro/
|
||||
├── config/
|
||||
│ ├── settings.yaml # все настройки: порты, хосты, токены
|
||||
│ ├── loader.py # загрузка конфига с подстановкой из .env
|
||||
│ └── prompts/ # все .txt промпты (planner.txt, critic.txt, generator.txt, system.txt)
|
||||
│
|
||||
├── src/
|
||||
│ ├── main.py # FastAPI приложение (собирает все роуты)
|
||||
│ │
|
||||
│ ├── api/ # HTTP-слой
|
||||
│ │ ├── router.py # подключает все роуты
|
||||
│ │ └── routes/
|
||||
│ │ ├── chat.py # POST /chat
|
||||
│ │ ├── system.py # /health, /status
|
||||
│ │ ├── agent_control.py # разрешение/запрет команд агента (будущее)
|
||||
│ │ └── memory.py # управление памятью
|
||||
│ │
|
||||
│ ├── core/ # оркестрация и агент
|
||||
│ │ ├── orchestrator.py # главный цикл: приём промпта → RAG → планирование → выполнение → ответ
|
||||
│ │ ├── agent/
|
||||
│ │ │ ├── loop.py # run_agent (основной цикл)
|
||||
│ │ │ ├── planner.py # планировщик (LLM + парсинг JSON)
|
||||
│ │ │ └── critic.py # критик
|
||||
│ │ └── providers/ # абстрактный LLM-интерфейс + реализации
|
||||
│ │ ├── base.py # AbstractLLMProvider
|
||||
│ │ ├── ollama.py
|
||||
│ │ ├── openrouter.py
|
||||
│ │ └── ... (deepseek_coder.py, если отдельный API)
|
||||
│ │
|
||||
│ ├── memory/ # управление тремя хранилищами
|
||||
│ │ ├── base.py # AbstractMemoryStore
|
||||
│ │ ├── chroma_store.py # векторная ChromaDB (контекст, RAG)
|
||||
│ │ ├── mongo_store.py # MongoDB (проектная память, оптимизированные промпты)
|
||||
│ │ └── markdown_store.py # MD-библиотека (дневник, инструкции, документация)
|
||||
│ │
|
||||
│ ├── sandbox/ # песочница
|
||||
│ │ ├── base.py # AbstractSandbox
|
||||
│ │ ├── local_sandbox.py # выполнение команд в изолированной папке
|
||||
│ │ └── docker_sandbox.py # (будущее) запуск в контейнерах
|
||||
│ │
|
||||
│ ├── tools/ # инструменты агента (обёрнуты в AbstractTool)
|
||||
│ │ ├── base.py # AbstractTool + ToolRegistry
|
||||
│ │ ├── shell.py # системные команды
|
||||
│ │ ├── docker.py
|
||||
│ │ ├── sandbox_tool.py # доступ к песочнице
|
||||
│ │ └── memory_tool.py # прямой доступ к памяти
|
||||
│ │
|
||||
│ └── utils/
|
||||
│ ├── logging.py
|
||||
│ └── schema_utils.py
|
||||
│
|
||||
└── tests/ # тесты (позже)
|
||||
|
||||
|
||||
## Возможности
|
||||
- Локальные модели через Ollama и облачные через OpenRouter.
|
||||
- Три уровня памяти: ChromaDB (векторный поиск), MongoDB (проектная память), Markdown-библиотека (документация).
|
||||
- Песочница для создания и запуска проектов.
|
||||
- Промпты из внешних `.txt` файлов для лёгкой настройки.
|
||||
- JSON API и CLI интерфейс.
|
||||
|
||||
## Установка
|
||||
```bash
|
||||
python3 -m venv venv
|
||||
source venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
Reference in New Issue
Block a user