Azelia
A Discord bot that puts a locally hosted language model into a conversation. Built on discord.py cogs with a YAML-configured model and persona, it listens to one designated channel, ignores commands and other bots, and keeps a conversation history that can be archived and reset without losing what came before.
Overview
The interesting constraint here was doing it without a hosted model. Everything — the model, the history, the persona — lives on the machine running the bot, which changes the cost profile of a chat bot completely: there is no per-message billing, so the design questions become latency and context size instead.
Structurally it is a small, tidy discord.py application: cogs for chat and owner commands, a YAML config for prefix, model and channel scoping, and a chat handler that owns prompt assembly and history persistence.