Phase 9: Plugin system for extensibility and advanced customization

This commit is contained in:
truetype committed 2026-03-20 18:58:00 +01:00
1 parent c54f2a33c8
commit 98b6f10ea4
5 files changed
+596

No files matched your search

+64
View File
@@ -18,6 +18,7 @@ Un agente configurabile basato su DeepAgents che supporta più provider LLM.
- **Web UI**: Interfaccia web per gestione configurazioni
- **Comandi integrati**: Comandi speciali con prefisso "/" per gestione rapida
- **Monitoraggio**: Sistema di logging e monitoraggio delle performance
- **Sistema di plugin**: Estendi le funzionalità con plugin personalizzati
## Installazione
@@ -206,6 +207,7 @@ Quando interagisci con l'agente, puoi usare comandi speciali preceduti da "/" pe
/config use <name> - Cambia la configurazione attiva
/models - Elenca i modelli disponibili per il provider attivo
/clear - Pulisce lo schermo
/plugins - Elenca i plugin disponibili
/exit, /quit - Esci dall'agente
```
@@ -402,6 +404,67 @@ Gli strumenti Ollama specifici sono ancora disponibili per retrocompatibilità:
- `ollama_status`: Controlla se Ollama è in esecuzione
- `ollama_running_models`: Mostra i modelli attualmente in esecuzione
## Sistema di Plugin
MaxClaw Agent include un sistema di plugin per estendere le funzionalità.
### Plugin Inclusi
- **Example Plugin**: Plugin di esempio che dimostra come creare plugin
### Creare un Plugin
Per creare un plugin, crea un file Python nella directory `plugins/`:
```python
from plugins.base import BasePlugin
from langchain.tools import Tool
class MyPlugin(BasePlugin):
def __init__(self):
super().__init__(
name="my_plugin",
version="1.0.0",
description="My custom plugin"
)
def get_tools(self):
return [
Tool(
name="my_tool",
func=self.my_tool_func,
description="My custom tool"
)
]
def get_commands(self):
return {
"/mycommand": self.my_command_func
}
def my_tool_func(self):
return "Hello from my plugin!"
def my_command_func(self, args=None):
return "My command executed!"
```
### Gestire i Plugin
```bash
# Elenca i plugin disponibili
/plugins
# Carica tutti i plugin
python -c "from plugins.manager import plugin_manager; plugin_manager.load_all_plugins()"
# Usa un tool di un plugin
"Use my_tool from my_plugin"
# Usa un comando di un plugin
/mycommand
```
## Test
Esegui la suite di test:
@@ -462,6 +525,7 @@ Per personalizzare l'agente, modifica `main.py`:
- Cambia il prompt di sistema predefinito in `create_maxclaw_agent`
- Aggiungi strumenti personalizzati alla chiamata `create_deep_agent`
- Configura i sub-agenti o altre funzionalità di DeepAgents
- Crea plugin per estendere le funzionalità
## Monitoraggio e Logging