>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
Rust

Wie man eine Visual Novel mit einem LLM und einem Desktop-Pet in Rust kombiniert

Die meisten Interfaces für die Arbeit mit neuronalen Netzen sehen gleichermaßen trist aus. Es sind entweder ChatGPT-Klone mit einer Thread-Liste links und einem Eingabefeld rechts, oder Kommandozeilen-Tools fürs Terminal. Aber wenn du schon einmal japanische Visual Novels (Galgame) gespielt hast, weißt du, wie wichtig visueller Kontakt, Charakteremotionswechsel und der Kontext des Geschehens sind.

Neulich bin ich auf ein interessantes Projekt namens LingChat gestoßen, dessen Autor versucht hat, Dialogmechaniken aus Visual Novels, ein virtuelles Desktop-Pet-System und moderne Sprachmodelle zu kombinieren. Das Beste für uns: Unter der Haube steckt ehrliches Rust, keine weitere ressourcenhungrige Electron-App.

Was steckt im Projekt

Der LingChat-Repository bietet eine Neugestaltung des vertrauten Formats für die Kommunikation mit KI. Anstatt eines trockenen Chat-Fensters werden wir mit einem animierten Charakter konfrontiert, der auf Dialoge reagiert, deinen Zeitplan verfolgt und an interaktiven Szenarien teilnehmen kann.

Das Projekt bewältigt mehrere Aufgaben gleichzeitig:

  • Emotionale Sprite-Reaktionen. Das Modell generiert nicht nur Text, sondern markiert auch seinen eigenen emotionalen Zustand. Je nach Tonfall der Antwort wechselt der Charakter Posen, Gesichtsausdrücke und Animationen.
  • Desktop-Pet-Modus. Der Charakter lebt direkt über den geöffneten Fenstern deines Systems und reagiert auf Klicks und Benutzeraktionen im Hintergrund.
  • Scheduler und Aufgabenverfolgung. Die Dialog-Engine hat eingebaute Kalender- und Erinnerungsfunktionen, sodass der Assistent dich rechtzeitig an einen Anruf oder eine Deadline erinnert.
  • verzweigende Story-Module. Der Autor hat Unterstützung für Szenario-Verzweigungen hinzugefügt und verwandelt einen normalen Chat in ein interaktives Spiel mit Bedingungsprüfungen und Entscheidungen.

Warum die Wahl von Rust wichtig ist

Normalerweise werden solche interaktiven Anwendungen mit Electron + React oder Unity gebaut. Beide Ansätze haben einen unangenehmen Nachteil: Ressourcenhunger. Der Desktop-Pet muss den ganzen Arbeitstag im Hintergrund laufen, ohne die Hälfte deines RAMs zu beanspruchen und die Laptop-Lüfter hochzudrehen.

LingChat ist in Rust geschrieben. Das ermöglicht niedrigen Ressourcenverbrauch bei konstanter Sprite-Rendering und Mausereignisverarbeitung. Die Kernanwendungslogik läuft schnell und lässt die meisten Systemressourcen für lokale Modell-Inferenz oder parallele Arbeit.

Der Code implementiert ein Parsing-System zur Verarbeitung von Emotions-Tags aus LLM-Antworten. Wenn das Modell eine Antwort zurückgibt, fängt die Engine spezielle Stimmungsmarker ab, bevor der Text auf dem Bildschirm angezeigt wird, und wechselt synchron die Animationsframes des Charakters.

Wo das angewendet werden kann

Abgesehen davon, es direkt zum Spaß und aus Nostalgie für alte virtuelle Haustiere wie Shimeji zu nutzen, bietet das Projekt interessante architektonische Ideen für Entwickler.

Erstens ist es eine großartige Referenz für die Erstellung von NPCs in Indie-Spielen. Wenn du generative KI-basierte Charaktere zu deinem Projekt hinzufügen möchtest, kannst du hier Inspiration finden, wie du die Textausgabe eines Modells mit Animationsgraph-Zustandsänderungen verknüpfst.

Zweitens demonstriert das Projekt wunderbar die Mechanik zur Erstellung personalisierter Assistenten mit Persönlichkeit. Anstatt eines gesichtslosen Bots bekommst du einen Begleiter, dessen Verhaltensparameter und Charakter durch System-Prompts und Konfigurationsdateien konfiguriert werden.

Wo du anfangen kannst

Der Quellcode ist unter der AGPL-3.0-Lizenz offen. Dokumentation und Einrichtungsanleitungen sind auf der offiziellen Projektwebsite https://lingchat.wiki/ gesammelt.

Um es auszuführen, brauchst du eine konfigurierte Rust-Toolchain und einen API-Schlüssel für einen kompatiblen LLM-Provider (oder einen lokal laufenden Server wie Ollama / vLLM mit OpenAI-kompatibler API-Unterstützung).

Wenn du schon immer deinen eigenen benutzerdefinierten Desktop-Begleiter bauen oder mit dynamischem Sprite-Wechsel über LLM experimentieren wolltest, lohnt es sich definitiv, sich den SlimeBoyOwO/LingChat-Repository anzusehen.

Ähnliche Projekte