First commit
This commit is contained in:
Binary file not shown.
+13
@@ -0,0 +1,13 @@
|
|||||||
|
# Виртуальное окружение
|
||||||
|
venv/
|
||||||
|
# Кэш Python
|
||||||
|
__pycache__/
|
||||||
|
*.pyc
|
||||||
|
# Переменные окружения (токены, пароли)
|
||||||
|
.env
|
||||||
|
# Логи
|
||||||
|
logs/
|
||||||
|
# Данные (ChromaDB, MongoDB, workspace)
|
||||||
|
data/
|
||||||
|
# MD библиотека (будет синхронизироваться, но не храниться в Git)
|
||||||
|
knowledge_base/
|
||||||
@@ -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
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
aiohappyeyeballs==2.6.2
|
||||||
|
aiohttp==3.13.5
|
||||||
|
aiosignal==1.4.0
|
||||||
|
annotated-doc==0.0.4
|
||||||
|
annotated-types==0.7.0
|
||||||
|
anyio==4.13.0
|
||||||
|
attrs==26.1.0
|
||||||
|
bcrypt==5.0.0
|
||||||
|
build==1.5.0
|
||||||
|
certifi==2026.5.20
|
||||||
|
charset-normalizer==3.4.7
|
||||||
|
chromadb==1.5.9
|
||||||
|
click==8.4.1
|
||||||
|
distro==1.9.0
|
||||||
|
dnspython==2.8.0
|
||||||
|
durationpy==0.10
|
||||||
|
fastapi==0.136.3
|
||||||
|
filelock==3.29.0
|
||||||
|
flatbuffers==25.12.19
|
||||||
|
frozenlist==1.8.0
|
||||||
|
fsspec==2026.4.0
|
||||||
|
googleapis-common-protos==1.75.0
|
||||||
|
grpcio==1.81.0
|
||||||
|
h11==0.16.0
|
||||||
|
hf-xet==1.5.0
|
||||||
|
httpcore==1.0.9
|
||||||
|
httptools==0.8.0
|
||||||
|
httpx==0.28.1
|
||||||
|
huggingface_hub==1.17.0
|
||||||
|
idna==3.17
|
||||||
|
importlib_resources==7.1.0
|
||||||
|
jiter==0.15.0
|
||||||
|
jsonschema==4.26.0
|
||||||
|
jsonschema-specifications==2025.9.1
|
||||||
|
kubernetes==36.0.1
|
||||||
|
markdown-it-py==4.2.0
|
||||||
|
mdurl==0.1.2
|
||||||
|
mmh3==5.2.1
|
||||||
|
multidict==6.7.1
|
||||||
|
numpy==2.4.6
|
||||||
|
oauthlib==3.3.1
|
||||||
|
ollama==0.6.2
|
||||||
|
onnxruntime==1.26.0
|
||||||
|
openai==2.38.0
|
||||||
|
opentelemetry-api==1.42.1
|
||||||
|
opentelemetry-exporter-otlp-proto-common==1.42.1
|
||||||
|
opentelemetry-exporter-otlp-proto-grpc==1.42.1
|
||||||
|
opentelemetry-proto==1.42.1
|
||||||
|
opentelemetry-sdk==1.42.1
|
||||||
|
opentelemetry-semantic-conventions==0.63b1
|
||||||
|
orjson==3.11.9
|
||||||
|
overrides==7.7.0
|
||||||
|
packaging==26.2
|
||||||
|
propcache==0.5.2
|
||||||
|
protobuf==6.33.6
|
||||||
|
pybase64==1.4.3
|
||||||
|
pydantic==2.13.4
|
||||||
|
pydantic-settings==2.14.1
|
||||||
|
pydantic_core==2.46.4
|
||||||
|
Pygments==2.20.0
|
||||||
|
pymongo==4.17.0
|
||||||
|
PyPika==0.51.1
|
||||||
|
pyproject_hooks==1.2.0
|
||||||
|
python-dateutil==2.9.0.post0
|
||||||
|
python-dotenv==1.2.2
|
||||||
|
PyYAML==6.0.3
|
||||||
|
referencing==0.37.0
|
||||||
|
requests==2.34.2
|
||||||
|
requests-oauthlib==2.0.0
|
||||||
|
rich==15.0.0
|
||||||
|
rpds-py==2026.5.1
|
||||||
|
shellingham==1.5.4
|
||||||
|
six==1.17.0
|
||||||
|
sniffio==1.3.1
|
||||||
|
starlette==1.2.1
|
||||||
|
tenacity==9.1.4
|
||||||
|
tokenizers==0.23.1
|
||||||
|
tqdm==4.67.3
|
||||||
|
typer==0.25.1
|
||||||
|
typing-inspection==0.4.2
|
||||||
|
typing_extensions==4.15.0
|
||||||
|
urllib3==2.7.0
|
||||||
|
uvicorn==0.48.0
|
||||||
|
uvloop==0.22.1
|
||||||
|
watchdog==6.0.0
|
||||||
|
watchfiles==1.2.0
|
||||||
|
websocket-client==1.9.0
|
||||||
|
websockets==16.0
|
||||||
|
yarl==1.24.2
|
||||||
Reference in New Issue
Block a user