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