# MUDlet AI Client Un client MUD moderno con integrazione LLM per automazione del gameplay, sviluppato con Electron + React + TypeScript. ## Features ### Core - **Connessione Telnet** - Supporto completo per protocollo Telnet con parsing ANSI colors - **Game Window** - Display in tempo reale con input commands - **Connection Panel** - Gestione connessioni con host/porta configurabili ### Autoplayer LLM - **Ollama Integration** - Connessione a server Ollama remoto (ollama.solarpi.net) - **Decision Engine** - Sistema AI che analizza l'output del gioco e genera comandi - **System Prompt** - Personalizzazione del comportamento del bot - **Model Selection** - Supporto per modelli multipli (llama3.2, mistral, etc.) - **Action Queue** - Coda azioni per revisione manuale o auto-send ### UI/UX - **React + TypeScript** - Codice type-safe con React 18 - **Tailwind CSS** - Styling moderno e responsive - **Navigation** - Pannelli Connection/Game/Autoplayer ## Quick Start ```bash # Clona e installa dipendenze cd mudlet-ai-client npm install # Avvia dev server (necessario per Electron) npm run dev # Avvia Electron (in terminale separato) npm start ``` ## Connessione Server LPMUD preconfigurato: - **Host**: 172.24.19.225 - **Porta**: 6666 Server Ollama: - **URL**: http://ollama.solarpi.net ## Stack Tecnologico | Layer | Tecnologie | |-------|------------| | Framework | Electron 28, React 18, TypeScript 5 | | UI | Tailwind CSS, shadcn/ui | | Telnet | telnet-client, ansicolor | | LLM | Ollama (HTTP API) | | Build | Vite 5, electron-vite | ## Struttura Progetto ``` mudlet-ai-client/ ├── src/ │ ├── main/ # Electron main process │ │ ├── index.ts # App entry point, IPC handlers │ │ └── services/ │ │ ├── TelnetService.ts # Connessione Telnet │ │ ├── OllamaService.ts # Client HTTP Ollama │ │ └── AutoplayerService.ts # Decision engine │ ├── renderer/ # React UI │ │ ├── App.tsx # Root component │ │ ├── main.tsx # Entry point │ │ └── components/ │ │ ├── GameWindow.tsx # Game display + input │ │ ├── ConnectionPanel.tsx │ │ └── AutoplayerPanel.tsx │ └── preload/ │ └── index.js # Context bridge ├── package.json ├── vite.config.ts └── tsconfig.json ``` ## Workflow Autoplayer ``` 1. OBSERVE → TelnetService riceve output 2. PARSE → AutoplayerService analizza stato 3. THINK → Ollama genera decisione 4. ACT → Azione eseguita o messa in coda ``` ## Roadmap - [x] Fase 1: Client MUD Base - [x] Fase 2: Integrazione Ollama - [ ] Fase 3: Autoplayer miglioramenti (mapper 2D, trigger system) - [ ] Fase 4: Sistema Plugin - [ ] Fase 5: Funzionalità avanzate (persistence SQLite) ## Documentazione - [Architettura](docs/ARCHITECTURE.md) - [Workflow di Sviluppo](docs/WORKFLOW.md) - [API IPC](docs/API.md) - [Piano Progetto](MUD_AUTOPLAYER_PLAN.md) ## License MIT