Thing I want to exist but don't want to build: a #mud that does pretty much the same thing as #SillyTavern or #agnaistic, intended for selfhosting. A MUD would be an excellent interface for #AI assisted #roleplay. With #Evennia and #OpenRouter, this honestly wouldn't be that hard. I just hate #Python and don't wanna.
The way to do it would be:
1. Set up a #docker#Evennia environment, to make distribution easy.
2. Add an attribute on Evennia accounts to hold an openrouter API key, and a userflow to get a users key via OAuth: openrouter.ai/docs/use-cases/oauth-pkce3. Use the #OpenAI Python API and hook it up to NPC's to let them chat, generating responses with the user's API key. Figure out function calling and hook it into the various creation functions of Evennia for extra fun. Probably need to store attributes for what models and parameters to use on each NPC, with global defaults probably from the user's account.
4. Dump the room name and desc, the player desc, and chat history into the AI context.
5. Something something MSP/MXP and ElevenLabs for sound effects and music.
6. Something Something MXP for images.
7. Dockerize the thing and upload it to let users run there own muds for AI roleplay for themselves and their friends.
If I either liked Python or was unemployed, I would do this. If only AI coding was good enough to just make the thing based on my design skeleton above.
OAuth PKCE - Secure User Authentication
Implement secure user authentication with OpenRouter using OAuth PKCE. Complete guide to setting up and managing OAuth authentication flows.OpenRouter Documentation
🇨🇦Samuel Proulx🇨🇦
in reply to 🇨🇦Samuel Proulx🇨🇦 • • •Stuff for later in the roadmap:
1. Group rooms, objects, and npcs into worlds. Add a keyword attribute on rooms, objects, and npcs. Scan input for keywords and dump matching objects, names, and descriptions from the current world into AI context. Now we have lorebooks.
2. Figure out how to import and export worlds (with all npcs/objects/rooms). Now we can build a world hub to give people starting worlds like AI dungeon does. Maybe have worlds marked public or private? Public worlds can be accessed by all accounts on the server? Copy the world on modify I guess.
3. Some kind of time based trigger system or fuses or something? That way AI NPCs can act automatically to feel more alive.
4. Some sort of method for players to upload images and files? Maybe it just follows and ingests URLs.
5. Some way to have a global OpenRouter token and resell credits? Tie into squarespace? I dunno. But that's the way to make money for people who want to support the project and/or not sign up for openrouter themselves. Also quota for storage or number of worlds?
I don't know none of this is happening anyway so it doesn't matter. I just can't stop thinking about it so I'm getting the ideas out of my head.
🇨🇦Samuel Proulx🇨🇦
in reply to 🇨🇦Samuel Proulx🇨🇦 • • •