Phase 5: Docker containerization and API server for remote access
This commit is contained in:
1 parent
b17c180fbe
commit
5541770896
6 files changed
+578
-1
No files matched your search
@@ -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`:
|
||||
|
||||
Reference in new issue
Block a user