Narzędzie do naprawy systemów Linux (Fedora, Ubuntu, Debian) w trybie awaryjnym poprzez komunikację z modelem AI (Ollama).
[Komputer z problemem] [Komputer z GPU/Ollama]
(Fedora) (nvidia)
| |
fixer.sh ----TCP:8088----> fixer-server.py
| v
v Ollama + qwen2.5:14b
Wykonuje komendy (diagnozuje i naprawia)
(z potwierdzeniem)
# Upewnij się, że Ollama działa z modelem qwen2.5:14b
ollama pull qwen2.5:14b
ollama serve
# Uruchom serwer naprawczy
./fixer-server.py 8088# Minimalny skrypt - wystarczy bash i /dev/tcp
./fixer.sh nvidia-host:8088- Uruchom Fedorę w trybie awaryjnym (rescue mode)
- Skopiuj
fixer.shna USB lub pobierz przez sieć - Połącz się z serwerem:
./fixer.sh 192.168.1.100:8088 - Opisz problem - AI zaproponuje komendy diagnostyczne
- Potwierdź każdą komendę przed wykonaniem (t/n/q)
# Ollama musi działać lokalnie na porcie 11434
docker-compose up --build
# W osobnych terminalach:
docker attach fixell-client # interakcja jako klient
docker attach fixell-server # podgląd serwera# Metoda 1: pip
pip install fixell
# Metoda 2: Ze źródeł
git clone https://github.com/wronai/fixell.git
cd fixell && pip install -e .# Opcja 1: Pobierz i uruchom skrypt
curl -sO https://raw.githubusercontent.com/wronai/fixell/main/fixer.sh && bash fixer.sh server:8088
# Opcja 2: Bezpośrednio przez netcat (ultra-minimalne)
nc server 8088
# Opcja 3: Curl one-liner
curl -sL https://raw.githubusercontent.com/wronai/fixell/main/fixer-curl.sh | bash -s -- server:8088| Plik | Opis |
|---|---|
fixer.sh |
Minimalny klient bash (~30 linii) |
fixer-curl.sh |
Ultra-minimalny klient (curl/nc) |
fixell/ |
Paczka Python (serwer + klient) |
docker-compose.yml |
Test środowiska |
docs/ |
Pełna dokumentacja |
| Model | VRAM | Jakość |
|---|---|---|
| qwen2.5:14b | ~10GB | ⭐⭐⭐⭐⭐ |
| qwen2.5:7b | ~5GB | ⭐⭐⭐⭐ |
| codellama:13b | ~8GB | ⭐⭐⭐⭐ |
| llama3:8b | ~5GB | ⭐⭐⭐ |
Pełna lista: docs/models.md
Po uruchomieniu make run-server operator może wysyłać komendy do podłączonych klientów:
| Komenda | Opis |
|---|---|
run: <cmd> |
Wyślij komendę do automatycznego wykonania (bez potwierdzenia) |
exec: <cmd> |
Wyślij komendę z potwierdzeniem (klient pyta t/n) |
to: <msg> |
Wyślij wiadomość tekstową do klientów |
status |
Pokaż liczbę aktywnych klientów i sesji HTTP |
config |
Pokaż aktualną konfigurację |
help |
Pokaż pomoc |
SERVER> run: uname -a
# Klient automatycznie wykonuje i wysyła wynik
SERVER> exec: systemctl restart NetworkManager
# Klient pyta: "Wykonać? (t/n):"
SERVER> to: Sprawdzam logi, proszę czekać...
# Klient wyświetla wiadomość
SERVER> status
# Aktywnych klientów: 1, sesji HTTP: 0Dla klientów bez skryptu - komunikacja przez HTTP:
# Zadaj pytanie
curl -X POST http://192.168.1.100:8089/ask -d "system nie startuje"
# AI odpowiada z gotową komendą curl do skopiowania:
# curl -X POST http://192.168.1.100:8089/result -d "$(journalctl -xb | tail -100)"
# Wyślij wynik komendy
curl -X POST http://192.168.1.100:8089/result -d "$(journalctl -xb | tail -100)"
# Reset sesji
curl -X POST http://192.168.1.100:8089/reset- ✅ Każda komenda wymaga potwierdzenia użytkownika (tryb
exec:) - ✅ Tryb
run:tylko dla operatora serwera - ✅ Wykrywanie niebezpiecznych komend (rm -rf /, dd, etc.)
- ✅ Operator serwera widzi wszystkie akcje
- ✅ Pełne logi sesji w
logs/conversation_*.md