Files

109 lines
3.1 KiB
Markdown

# 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