Nekopitsu

Moderació de Discord amb IA

.NETDiscord APIOllamaNext.js 16PostgreSQLKubernetes

Nekopitsu és un bot públic de Discord escrit en C#/.NET per a comunitats anime i otaku. El seu ganxo és la moderació intel·ligent: un pipeline en nivells on els filtres clàssics resolen allò obvi i un model de llenguatge avalua només els casos ambigus —sarcasme, assetjament encobert, toxicitat que no fa servir cap paraula prohibida—, escalant segons la confiança de l’anàlisi. Sobre aquesta base hi afegeix un personatge amb personalitat configurable per servidor, utilitats de comunitat i una consola web, amb l’objectiu de substituir la pila típica de tres o quatre bots per un únic producte coherent.

Què fa

Converteix la moderació d’un servidor en un sol producte: la IA avalua allò que els filtres per patrons no saben llegir, i tot el que decideix queda registrat com un cas consultable.

  • Modera amb IA que avalua context i intenció, escalant al LLM només quan els filtres clàssics no basten.
  • Gestiona casos, avisos i sancions amb escalat, registre d’auditoria i protecció antispam i antiraid.
  • Adopta una personalitat configurable per servidor mitjançant presets (neko, kawaii, tsundere, formal).
  • Parla castellà i anglès de manera nativa, amb els slash commands localitzats.
  • Reparteix quotes mensuals d’anàlisi d’IA per servidor sota un model freemium amb entitlements.
  • Hi afegeix utilitats de comunitat: autorols per botons i selectors, tiquets de suport en fils privats i canals de veu temporals sota demanda.
  • Atén els tiquets amb una primera línia d’IA ancorada a una base de coneixement, i escala a una persona quan no resol.

Arquitectura

Les garanties del producte —aïllament entre servidors i no persistència del contingut dels missatges— no es confien a la revisió de codi: es fan complir amb tests d’arquitectura que trenquen la compilació.

  • Multi-tenancy real per servidor: el guild és el context d’execució, i una consulta que l’eviti trenca la compilació en lloc de passar revisió.
  • Anàlisi de missatges en trànsit sense persistència de contingut: una allow-list verificada per tests defineix l’única cosa que es pot emmagatzemar.
  • Pipeline de moderació per nivells amb escalat per confiança configurable, cua asíncrona i degradació elegant si el proveïdor d’IA cau.
  • Abstracció de proveïdor d’IA sobre Ollama Cloud, substituïble sense tocar el producte.
  • Alta disponibilitat actiu/passiu amb elecció de líder mitjançant advisory locks de PostgreSQL: dues rèpliques calentes i mai dos bots actuant alhora.
  • Interfície exclusivament per slash commands i components interactius, sense comandes per prefix.
  • En el flux agèntic d’investigació les eines es comproven contra el permís viu de qui les invoca i l’evidència es compila en memòria: el sistema presenta proves, mai veredictes, i la sanció l’executa una persona.

Stack

El bot està escrit en C# sobre .NET i persisteix en PostgreSQL desplegat en Kubernetes. La web són dues peces separades: una consola d’administració en Next.js amb login de Discord —configuració, historial de casos i consum de quota— desplegada al costat del bot, i una landing pública construïda com a export estàtic de Next.js 16 amb next-intl, servida des de l’edge de Cloudflare Workers amb el seu propi cicle de desplegament. L’anàlisi d’IA es recolza en models oberts servits per Ollama Cloud.

Tornar als projectes