(Note: This repo is in maintenance mode at the moment - bug fixes and small updates only. If you're working on adding substantial new features via a fork, please open an issue with a link and I'll put it here. Note that the system is very extensible via your character's custom code, so you should see if it's possible to achieve the feature that you want via that.)
Similar to CharacterAI, but open source, and with much deeper character customization.
⟶ Try it! ⟵
- The whole web app is a single HTML file - no server (serve it locally if you want).
- All your data is stored in your browser's local storage (again, there is no server).
- Share characters with a link - all character data is embedded within the link.
- Auto-summarization algorithm (for old messages) which extends effective character memory/context size massively.
- Characters automatically compress messages into 'memories' and retrieve relevant memories based on context. Can handle as many memories as you need - tens of thousands or more.
- Add lorebook(s) to your character, and add thread-specific lore with the
/lore
command. - Fully extensible with custom code. See examples here.
- Give your character access to the internet
- Create your own slash commands
- Give your character a video avatar (custom code has its own iframe & can display arbitrary content)
- Create a "game master" with a separate AI-powered process that tracks your abilities, inventory, etc.
- Create your own memory structures (embedding, retrieval, etc.)
- Give your character an internal thought process that runs alongside the chat
- Give your character a voice via the browser's built-in TTS, or via an external API like ElevenLabs
- Characters can edit their own personality and custom code - self-improving and change over time
- Allow your character to execute Python or JavaScript code.
- Currently supports OpenAI APIs and most Hugging Face models.
- Easily import character files and conversation data most other formats.
- Send new feature ideas or bug reports here or on our Discord server.
Please see the #announcements
channel on the Discord server for latest updates.