Automated Development Environment
Project description
EvoDev - Ewolucyjny Asystent dla Programistów
Automatyczna instalacja, konfiguracja i rozwój umiejętności dla środowisk programistycznych
Spis Treści
- 📋 Przegląd
- 🚀 Szybki Start
- 📦 Instalacja
- 🔧 Konfiguracja
- 🖥️ System Monitorowania
- 🏗️ Architektura
- 💡 Funkcje
- 📚 Dokumentacja
- 🛠️ Rozwój
Przegląd
EvoDev to asystent ewolucyjny dla programistów. Uczy się nowych umiejętności (skilli) poprzez automatyczną instalację i konfigurację nowego oprogramowania (np. przez Docker Compose).
graph TD
A[Użytkownik] -->|Zleca zadanie| B[EvoDev]
B -->|Instaluje komponenty| C[Docker Containers]
B -->|Zarządza usługami| D[Middleware API]
B -->|Monitoruje system| E[System Monitoringu]
C -->|Uruchamia| F[Ollama]
C -->|Uruchamia| G[VS Code Server]
C -->|Uruchamia| H[GitLab]
C -->|Uruchamia| I[Rocket.Chat]
Szybki Start
# Klonowanie repozytorium
git clone <adres_repozytorium>
cd EvoDev
# Uruchomienie systemu
./run.sh
# Uruchomienie monitora z widokiem logów
./run.sh --logs
# Zatrzymanie wszystkich usług
./stop.sh
System Monitorowania
System monitorowania EvoDev zapewnia:
- Monitorowanie zasobów systemowych (CPU, RAM, dysk)
- Śledzenie statusu kontenerów Docker
- Przeglądanie logów systemowych
- Powiadomienia o problemach
Interfejs Monitora
Monitor jest dostępny pod adresem: http://localhost:8080
Przeglądarka Logów
Dostęp do przeglądarki logów:
- Poprzez monitor:
http://localhost:8080/logs - Bezpośrednio:
./run.sh --logs
Architektura Systemu
EvoDev składa się z dwóch redundantnych rdzeni i piaskownicy do testowania:
┌───────────────┐ ┌───────────────┐
│ Core1 │ │ Core2 │
│ (Aktywny) │◄────┤ (Standby) │
└───────┬───────┘ └───────────────┘
│
▼
┌───────────────┐
│ Sandbox │
│ (Testowanie) │
└───────────────┘
Główne komponenty:
- Ollama: Lokalne modele LLM
- VS Code Server: Środowisko programistyczne
- Middleware API: Zarządzanie usługami
- GitLab: Kontrola wersji i CI/CD
- Rocket.Chat: Komunikacja i wydawanie poleceń
Instalacja i Konfiguracja Projektu
1. Klonowanie repozytorium
git clone <adres_repozytorium>
cd EvoDev
2. Instalacja zależności systemowych
Linux (Fedora/Ubuntu/Arch)
sudo bash install.sh
Windows (PowerShell)
./install.ps1
3. Konfiguracja środowiska
- Skopiuj plik
.env.examplejako.env:cp .env.example .env
- Uzupełnij klucz API do LLM (np. OpenRouter):
LLM_API_KEY_TEST=sk-test-1234
4. Instalacja projektu jako pakiet Pythona (tryb developerski)
pip install -e .
5. Uruchomienie systemu
./run.sh
Kluczowe Funkcje
- Automatyczna konfiguracja środowiska: System automatycznie instaluje i konfiguruje wszystkie potrzebne komponenty
- Redundantne rdzenie: Dwa rdzenie (Core1, Core2) zapewniają wysoką dostępność i możliwość testowania
- Piaskownica: Bezpieczne testowanie nowych funkcjonalności bez wpływu na środowisko produkcyjne
- Rozszerzalność: Łatwe dodawanie nowych umiejętności poprzez API
- Monitorowanie: Kompleksowy system monitorowania zasobów i logów
- Głosowa interakcja: Możliwość sterowania systemem przez polecenia głosowe
Dokumentacja
Szczegółowa dokumentacja dostępna w katalogu docs/:
- 📖 Architektura Systemu: Komponenty, klasy, przykłady kodu
- 📖 Etapy Ewolucji: Rozwój systemu i przykłady użycia
- 📖 Plan Implementacji: Struktura katalogów, zarządzanie usługami Docker
- 📖 System Rdzeniowy: System przywracania, integracja z GitLab CI/CD
- 📖 Redundantne Rdzenie: Koncepcja dwóch rdzeni, sandbox testowy
- 📖 Infrastruktura Terraform: Implementacja infrastruktury
- 📖 System Monitorowania: Architektura monitora, przepływ danych, rozwiązywanie problemów
Struktura Projektu
.
├── docker-compose.yml # Definicje usług Docker
├── run.sh # Skrypt uruchamiający system
├── stop.sh # Skrypt zatrzymujący system
├── .env # Zmienne środowiskowe
├── modules/ # Moduły infrastruktury
│ ├── core/ # Moduł rdzeniowy
│ ├── sandbox/ # Środowisko testowe
│ └── services/ # Usługi wspierające
├── middleware-api/ # API zarządzające usługami
├── monitor/ # System monitorowania
│ ├── app.py # Aplikacja Flask do monitorowania
│ ├── requirements.txt # Zależności monitora
│ ├── static/ # Pliki statyczne (CSS, JS)
│ └── templates/ # Szablony HTML
├── recovery-system/ # System odzyskiwania
├── data/ # Dane systemowe
│ ├── logs/ # Logi systemowe
│ ├── backups/ # Kopie zapasowe
│ └── system_db/ # Baza danych systemu
├── docs/ # Dokumentacja
│ ├── images/ # Grafiki i diagramy
│ ├── monitoring-system.md # Dokumentacja systemu monitorowania
│ └── [...] # Pozostałe dokumenty
└── tests/ # Testy
Rozszerzanie Systemu o Nowe Skille
Aby dodać nową funkcjonalność (np. obsługę głosu, OCR, powiadomienia):
- Wydaj polecenie przez Rocket.Chat (np. "Chcę rozmawiać głosowo").
- System automatycznie zainstaluje wymagane biblioteki i przeprowadzi test.
- Po pozytywnym teście funkcja jest gotowa do użycia.
Przykład Interakcji
- System: "Podaj klucz API do LLM (np. OpenRouter)."
- Użytkownik: "sk-xxxx..."
- System: "Instaluję obsługę głosu... Powiedz coś do mikrofonu..."
- System: "Voice-chatbot gotowy do użycia!"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file evodev-0.1.14.tar.gz.
File metadata
- Download URL: evodev-0.1.14.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13aea1a24a97e3ef7e3ff0686713ba6ed97a7c2ffd81bcd477e1974192068522
|
|
| MD5 |
a311c6a309fc381e1f1853ff5855b757
|
|
| BLAKE2b-256 |
59686ec9545cc0e7516f66cf4eeb1c11b3d9c3ea00a19a407fca64798cec92fc
|
File details
Details for the file evodev-0.1.14-py3-none-any.whl.
File metadata
- Download URL: evodev-0.1.14-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c0195a41e64e3bf712b808eca3db6ffe76c4eb06064a7f927346eab6d546838
|
|
| MD5 |
e46fd97c227ef58b393c10d64a4f63cd
|
|
| BLAKE2b-256 |
37674c6c5144b1d35f7ba7ba69e05d6097d5ed7f624b93ff7a1c0fa64b45041b
|