Skip to main content

Automated Development Environment

Project description

EvoDev - Ewolucyjny Asystent dla Programistów

EvoDev Logo
Automatyczna instalacja, konfiguracja i rozwój umiejętności dla środowisk programistycznych

Spis Treści

alt text

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

Dashboard Monitora

Przeglądarka Logów

Dostęp do przeglądarki logów:

  • Poprzez monitor: http://localhost:8080/logs
  • Bezpośrednio: ./run.sh --logs

Przeglądarka Logów

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

  1. Skopiuj plik .env.example jako .env:
    cp .env.example .env
    
  2. 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/:

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):

  1. Wydaj polecenie przez Rocket.Chat (np. "Chcę rozmawiać głosowo").
  2. System automatycznie zainstaluje wymagane biblioteki i przeprowadzi test.
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evodev-0.1.14.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

evodev-0.1.14-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

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

Hashes for evodev-0.1.14.tar.gz
Algorithm Hash digest
SHA256 13aea1a24a97e3ef7e3ff0686713ba6ed97a7c2ffd81bcd477e1974192068522
MD5 a311c6a309fc381e1f1853ff5855b757
BLAKE2b-256 59686ec9545cc0e7516f66cf4eeb1c11b3d9c3ea00a19a407fca64798cec92fc

See more details on using hashes here.

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

Hashes for evodev-0.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 1c0195a41e64e3bf712b808eca3db6ffe76c4eb06064a7f927346eab6d546838
MD5 e46fd97c227ef58b393c10d64a4f63cd
BLAKE2b-256 37674c6c5144b1d35f7ba7ba69e05d6097d5ed7f624b93ff7a1c0fa64b45041b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page