Phase 5: Docker containerization and API server for remote access

This commit is contained in:
truetype committed 2026-03-20 18:16:11 +01:00
1 parent b17c180fbe
commit 5541770896
6 files changed
+578 -1

No files matched your search

+117
View File
@@ -13,15 +13,36 @@ Un agente configurabile basato su DeepAgents che supporta più provider LLM.
- **Strumenti personalizzati**: Include strumenti per gestire Proxmox e Ollama
- **Completamento shell**: Supporta bash e zsh per autocompletamento dei comandi
- **Test completi**: Suite di test per garantire la qualità del codice
- **Docker support**: Containerizzazione per deployment facile
- **API REST**: Server API per accesso remoto
## Installazione
### Installazione Locale
1. Clona questo repository
2. Installa i pacchetti richiesti:
```bash
pip install -r requirements.txt
```
### Installazione con Docker
```bash
# Build dell'immagine
docker build -t maxclaw-agent .
# Esecuzione con Docker Compose
docker-compose up -d
# Esecuzione diretta
docker run -it --rm \
-e MODEL_PROVIDER=ollama \
-e MODEL_NAME=gemma2:9b \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
maxclaw-agent
```
### Configurazione del Completamento Shell
#### Bash
@@ -128,6 +149,8 @@ La TUI ora include:
## Utilizzo
### Utilizzo Locale
Esegui l'agente:
```bash
python main.py
@@ -135,6 +158,64 @@ python main.py
Puoi quindi interagire con l'agente nel terminale. Digita 'exit' per uscire.
### Utilizzo con Docker
```bash
# Avvia con Docker Compose
docker-compose up -d
# Accedi al terminale
docker exec -it maxclaw-agent python main.py
# Oppure esegui direttamente
docker run -it --rm maxclaw-agent
```
### Utilizzo dell'API REST
Avvia il server API:
```bash
python api_server.py
```
L'API sarà disponibile su http://localhost:8000
#### Endpoint API Disponibili
- `GET /`: Informazioni sull'API
- `GET /health`: Health check
- `POST /chat`: Chat con l'agente
- `GET /configurations`: Elenca tutte le configurazioni
- `POST /configurations`: Aggiungi una configurazione
- `DELETE /configurations/{name}`: Rimuovi una configurazione
- `POST /configurations/{name}/activate`: Attiva una configurazione
- `GET /configurations/active`: Mostra la configurazione attiva
- `POST /configurations/{name}/test`: Testa una configurazione
- `GET /providers`: Elenca i provider disponibili
#### Esempio di Utilizzo dell'API
```bash
# Chat con l'agente
curl -X POST http://localhost:8000/chat \
-H "Content-Type: application/json" \
-d '{"message": "Ciao, chi sei?"}'
# Elenca configurazioni
curl http://localhost:8000/configurations
# Aggiungi una configurazione
curl -X POST http://localhost:8000/configurations \
-H "Content-Type: application/json" \
-d '{
"name": "mio-ollama",
"provider": "ollama",
"model_name": "gemma2:9b",
"base_url": "http://192.168.0.50:11434",
"set_active": true
}'
```
## Strumenti Unificati per Provider
MaxClaw Agent ora fornisce un'interfaccia unificata per gestire qualsiasi provider LLM. Una volta configurato un provider, puoi usare gli stessi comandi per tutti.
@@ -234,6 +315,42 @@ pytest tests/test_provider_tools.py
pytest tests/ -v
```
## Docker
### Build dell'Immagine
```bash
docker build -t maxclaw-agent .
```
### Esecuzione con Docker Compose
```bash
# Avvia tutti i servizi
docker-compose up -d
# Visualizza i log
docker-compose logs -f
# Ferma i servizi
docker-compose down
```
### Variabili d'Ambiente Docker
Puoi configurare il container Docker con le seguenti variabili d'ambiente:
```bash
docker run -it --rm \
-e MODEL_PROVIDER=ollama \
-e MODEL_NAME=gemma2:9b \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
-e OPENAI_API_KEY=sk-... \
-e OPENROUTER_API_KEY=sk-or-... \
-e PROXMOX_HOST=192.168.0.100 \
-e PROXMOX_USER=root \
-e PROXMOX_PASSWORD=password \
maxclaw-agent
```
## Personalizzazione
Per personalizzare l'agente, modifica `main.py`: