A free tool for everyone — by choice, not by accident.
This app was created as a voluntary passion project with one goal: to give everyone access to a private, uncensored, and independent AI companion experience — completely free of charge, forever. No subscriptions, no accounts, no data collection. Everything runs locally in your browser, so your conversations truly belong to you.
It is offered in this spirit and must stay that way. You're welcome to use it, adapt it for your own private needs, and share the original with others. All that's asked is that you don't redistribute modified versions publicly or use it commercially — so that everyone can always benefit from it equally.
0 / 0
Send Feedback
Found a bug or have an idea? Let me know!
This form is anonymous by default — no personal data is collected unless you choose to provide it.
Want a reply? Leave your email address below. This is the only way I can get back to you — there is no other contact channel.
Thanks! Your feedback has been sent successfully.
1. Introduction & Core Concept
What is this App?
Welcome! This is a fully functional application designed for creating, managing, and interacting with your own detailed AI characters. The core feature is the ability to engage in dynamic, text-based role-playing chats with any characters you want. The app has been developed from scratch with the aim of being easier, more intuitive, and faster to use than other platforms.
Who am I?
Hi, my name is Michael and I'm just an Austrian guy in his 30s who enjoys these AI character roleplays himself a lot. Although there are many good character chat platforms, there were always things that bothered me. Either they lacked certain features, weren't user-friendly enough, didn't have the best AI models, or required payment. So I decided to simply program my own platform with all the features I wanted. Then I thought, why not just make it freely accessible to everyone? And so, a new AI character chat application was born, freely accessible to everyone while keeping your data 100% private. Have fun with it! :)
I'm still developing and improving this app and try to implement even more and better features, while keeping it super simple to use for anyone. So, stay tuned for more cool Updates!
How Does It Work?
The app is a fully local web application that runs directly in your browser — no installation, no server, no cloud required. You simply open the index.html file in your browser (or use a Live Server for the best experience). When you send a message, your browser sends the request directly to your chosen AI provider (e.g., OpenRouter) using the personal API key you store in the App Settings. Your key never leaves your own device to a third-party server.
A Note on Your Data & Privacy
Your privacy is paramount. All of your data—including every character you create, all your chat histories, images, and your personal settings—is stored directly on your computer inside your browser's secure IndexedDB database.
This technology allows for large amounts of data to be stored privately and offline.
This means your data remains entirely on your device and is preserved even after you close the browser tab.
No one else, including the developer, can access your characters or conversations.
2. The Main Screen: Character Selection
This is the first screen you see when you open the app. From here, you can access all of your characters and core features.
The Top Bar (Header)
The header provides access to the app's main functions:
🤖 + Create Character: Click this to open the Character Editor and start building a new AI character from scratch.
🎭 Manage Personas: This opens a panel where you can create and manage your different user profiles, or "Personas". A Persona defines who you are in a chat.
⚙️ Global App Settings: Here you have to enter your personal (global) API key at the top of the section. It is recommended to use an OpenRouter API as your provider, but you can also enter API keys from other providers for specific models and manage the list of available AI models here. As long as you enter the correct provider URL and provider-specific model-ID, any provider will work.
⬆️ Import / ⬇️ Export: These buttons allow you to save your entire collection of characters and personas into a single .json file for backup. All AI models and global model prompts are included in the backup. You can use the Import button to load all your data back into the app on any computer. ALSO: You can import any Character Cards from other online platforms, both PNG and JSON - try it!
❓Help & FAQ: This button brings you to the help and FAQ page you are currently reading.
🔒 Privacy & Terms: Opens the Privacy Policy and Terms of Use for the app.
⭐ The Favorites Bar
This bar gives you quick access to your most-used and favourite characters. To add a character to this bar, simply hover over their card in the main list below and click the star icon (★) in the top-right corner.
🔎 The Search Bars
To help you find specific characters quickly, the app features two separate search bars:
Search Name: Filters the character list in real-time as you type a character's name.
Search Tag: Filters the list based on the tags you've assigned to your characters in the editor.
The Character List & Character Cards
This is the main area where all of your non-archived characters are displayed as individual cards, automatically sorted in alphabetical order. Clicking a card takes you to that character's chat dashboard. When you hover over a card, two buttons appear:
Favorite Button (★): Located in the top-right. Click it to add or remove the character from your Favorites Bar. A yellow star indicates the character is a favorite.
Archive Button (↓/↑): Located in the bottom-left. Click the down-arrow (↓) to move the character to the archive. On an archived character, this button will be an up-arrow (↑) to move them back to the main list.
🗑️ The Bulk Delete Button
Here you can select and delete multiple characters or even all characters with a single click if you want.
🗃️ The Archive
If your character list gets too crowded or you simply want to hide a character, you can move characters to the archive to keep your main screen clean. This section appears at the bottom of the screen once you have at least one archived character. Click the "Show" / "Hide" button to expand or collapse the list of archived characters.
3. The Chat Dashboard: Your Conversation Hub
After clicking on a character card from the main screen, you'll land on their personal dashboard. This is the central hub for all your conversations with that specific character.
The Top Bar
← Back to Main Menu: This will take you back to the main character selection screen.
Delete Character: This button will permanently delete the current character and all of their saved chats. A confirmation window will appear to prevent accidental deletion.
The Character Header
This central element displays the character's avatar and name, along with two important management functions:
Edit Character: A convenient shortcut that opens the Character Editor for the character you are currently viewing.
Copy Character: Creates an exact duplicate of the current character, including all their settings, descriptions, and scenarios. The chat history will not be copied. This is useful for creating variations of a character or for starting a new story branch with the same base character.
The Chat List (Saved Chats)
This section shows all the separate chat sessions you have saved with this character. Each character can have dozens of independent conversations.
+ Start new Chat: Click this to begin a brand-new conversation. If the character has scenarios defined, a window will pop up asking you to either select a scenario to start with or begin with an empty chat. If no scenarios exist, it will immediately create a new, empty chat session.
Chat Entries: Each chat you've had is listed here. Next to each entry, you have two options:
Rename: Allows you to change the name of that specific chat session to keep things organized.
Delete: Deletes only that single chat session.
4. The Character Editor
This is where you bring your characters to life. You can access the editor by clicking the 🤖 + Create Character button on the main screen or the Edit Character button on a character's chat dashboard. Any changes you make in this character editor will take effect immediately for the character, without having to refresh the site (even during chats).
The Editor Header
Estimated Tokens Counter: In the top-right corner, a counter gives you a live estimate of the "tokens" your character definition uses. Tokens are pieces of words that the AI processes. A higher token count means a more detailed character but also a larger context for the AI to handle in every message, which can affect API costs and response times.
✨ AI Generate Character / AI Generate World: A button at the top of the editor that lets you generate a complete card using AI. Click it and a large text box opens where you can describe the concept in as much detail as you like (e.g., "a stern samurai from feudal Japan" or "Rem from Re:Zero — include personality, appearance, speech style…"). Then choose which of your saved AI models should do the generation. The AI will research known characters from series, games, or manga if applicable, and fill in all fields — name, description, lore, tags, and instructions — for you automatically. If the AI provider is unavailable or returns an error, a clear message will tell you what went wrong. Note: If you are editing an existing character or world, the generator will overwrite their current data. A warning is shown before the AI runs. When the card type is set to World, this button becomes ✨ AI Generate World — describe the world concept and the AI will fill in its name, description, and lore.
Card Type: Character vs. World
At the top of the editor you can choose between two card types using the Character and World toggle buttons.
A Character card is the default — a single AI persona with a profile picture, personality description, and all the standard fields.
A World card is a special card type that acts as a shared stage for multiple characters. It uses a background image instead of a profile picture, and shows a character picker below where you can assign any of your existing characters to the world. When you start a chat from a World card, all assigned characters join automatically as participants, and the World itself acts as the narrator and story manager. This is perfect for rich, pre-assembled ensemble scenarios with a persistent cast.
World cards display a "World" badge on their card on the main screen, as well as a count of how many characters are assigned to them. The background image you set on a World card is used as the card image and the chat background.
The Input Fields in Detail
Card Name: The full, official name displayed on the character's card on the main screen (e.g., "Natsuki Subaru - Re:Zero"). Use this to include the series title or any other identifier to help you tell characters apart at a glance.
In-Chat Name: The shorter name used as the character's actual name in dialogue and in the AI's context (e.g., "Subaru"). This is what the AI treats as {{char}} and what appears in the chat interface.
Character Avatar URL: A direct link to an image for your character's profile picture (e.g., a .png, .jpg). You can also upload a local image from your computer by clicking the folder icon (📁) next to the input field.
Background Image URL: A direct link to an image that will be used as the background for the character's dashboard and chat screen. You can also upload a local file by clicking the folder icon (📁). This allows you to set a specific mood or environment for ideal immersion.
Character Description: The most crucial field. Describe your character's identity, personality, physical appearance, abilities, speech style, and even provide dialogue examples. The more detail you provide here, the better the AI will portray your character.
Note: An ideal amount of words here is often between 500 and 1000 words. This way, your character will be very detailed without causing memory/context problems for the AI. But it's also still alright if you have a little more, e.g., 1200 words. For anything beyond that, you can simply use the lorebook below.
Lorebook: Use this field for deeper background information, world-building details, important relationships, trivia, or any facts the AI should know but that aren't part of the core personality. This helps the AI maintain consistency without cluttering the main description.
Tags: Add keywords here to help you organize and find your characters later (e.g., "anime, fantasy, villain"). Separate tags with a comma. You can search for these tags on the main screen.
AI Instructions: Give the AI general commands or system-level prompts that apply to the character (e.g. "Write short and creative sentences," or "Always respond in a formal tone").
Character Reminder & Narrator Reminder: These are powerful fields for short, critical instructions that get attached to every single message you send to the AI, ensuring it doesn't forget key details.
Use the Character Reminder for prompts related to direct dialogue. (e.g. "Reply only as {{char}} now," or "Refer to {{user}} as Mike-sama")
Use the Narrator Reminder for prompts when you use the 📖 Narrator button. (e.g. "Reply only as an omniscient narrator now," or "Describe what happens in the current scene")
You can use the dynamic placeholder {{char}} in these fields, and it will be automatically replaced with the character's name in the prompt. This allows you for example to copy your instructions to multiple characters without having to enter the individual character names each time.
Music URL: A direct link to an audio file (e.g., an .mp3) that will play automatically as looping background music whenever you open a chat with this character or world. This creates a personalized atmosphere without any manual setup each session. The URL is saved with the character and can be overridden or changed per session directly from the chat settings panel. Leave this field empty for no background music.
What are "Global Model Prompts"?
Global Model Prompts are standard instructions and reminders that you can set directly for a specific AI model.
Why is this useful?
Imagine you're using an AI model that always requires a specific base instruction for the right role-playing style or a special format. Instead of entering this instruction for every single character, you simply define it once globally for the model.
Saves Time: You don't have to duplicate recurring instructions for every character.
Consistency: Ensures that a model always operates with the same important ground rules.
Flexibility: Ideal for models that require special system prompts for optimal results.
Where can I find this setting?
You can find this setting in the "App Settings" window (the gear icon ⚙️ in the main menu). For each of your listed AI models, there is a collapsible section called "Global Prompts". Simply click on it to open the three text fields for AI Instructions, Character Reminder, and Narrator Reminder and enter your global instructions. Don't forget to click "Save Settings" at the end.
How do they work with character prompts?
Important to know: If you have entered both a global prompt for the model and a specific prompt for the character, both will be used. The app combines them intelligently:
The global prompt from the model is always placed before the character-specific prompt. This means the AI first receives the general instruction and then the specific one, which usually leads to the best results.
Model Parameters: Context Length & Top-P
Each model entry in the "App Settings" window also has two optional numeric fields for advanced parameters. These are found directly in the model's input row (outside the "Global Prompts" collapsible section).
Context Length (Ollama num_ctx): This field sets the maximum number of tokens (words / word-fragments) that the AI is allowed to hold in its "memory window" for a single conversation. It only affects local models running via Ollama — cloud providers manage context size on their end and ignore this value.
If left blank, the app defaults to 131072 tokens (~100 000 words), which is large enough for most long chats.
Lower values (e.g., 8192) use significantly less RAM. Raise the value only if your machine has enough VRAM/RAM and your model supports it.
Setting this higher than the model's maximum has no effect — the model silently clamps it.
Top-P (nucleus sampling): This is a secondary randomness control that works alongside Temperature. It limits token selection to the smallest group of likely words that together cover P% of the probability mass. A value of 0.9 means only the top 90% most-probable words are candidates for the next token.
Recommended: leave this field empty. When blank, the field is not sent to the API at all, so the model uses its own built-in default — which is already tuned by the model maker.
Only fill it in if a specific model produces incoherent or overly repetitive text despite a good Temperature setting. A value of 0.9 is a safe starting point.
Avoid setting both Temperature and Top-P to non-default values at the same time — combining them can produce unpredictable results and make it hard to tell which parameter is responsible for a change in quality.
Dynamic Scenario Management
Scenarios are pre-written starting points for a chat. This is perfect for setting up a specific scene or situation. Each scenario consists of a Title (for your own reference) and a Description, which usually contains the opening message of the chat.
Optional: At the beginning of the scenario description, you can add an "Out-of-character note" for the AI with important meta information about the scenario. It has usually even higher priority for the AI than the character description. For example: If your character description says that the character is good, then you can simply write in an OOC-note that the chracter is evil in this scenario. You can add other OOC-notes also in your messages during the chat anytime, whenever you need to clarify things for the AI. A note could look like this for example:
### OOC: {{user}} is the equivalent of Natsuki Subaru and replaces him in this scenario. Emilia plays a cold and detached opponent of {{user}}. Elsa Granhiert plays a trustful and loyal ally of {{user}}.
---
Scenario: [Here comes your actual scenario description with a starting scene, including first message of your character if you want.]
Click the + Add Scenario button to add a new, empty scenario block.
Click the ✨ AI Generate Scenario button to have an AI write an opening scenario for you. You can optionally enter hints (genre, setting, relationship, etc.) or leave the field empty for a random scenario. The AI will always address you as "you" in second person for an immersive experience. If the AI provider fails, an informative error message is displayed.
Click the 🗑️ button next to a scenario to delete that scenario.
5. The Chat: Interacting with the AI
This is where the magic happens. The chat screen is designed to be immersive and give you a high degree of control over the conversation and its appearance.
The Chat Header
The bar at the top of the chat screen provides context and quick access to important features.
Back Arrow (←): Takes you back to the character's chat dashboard.
Character & Name: Shows the character and the name of the current chat session.
Participant Icons: In a group chat, small, overlapping icons of all participating characters will appear next to the icon of the base chat character. You can simply click an icon to remove that participant from the chat.
Token Info (ℹ️): Hovering over this icon displays a tooltip with an estimate of the total tokens currently being used in the chat's context. This includes the character definitions, persona data, and the recent chat history.
Chat Memories (🧠): Opens a text field where you can write persistent, high-priority notes for this specific chat session. These notes are sent along with every AI request, making them ideal for key facts, ongoing story constraints, or reminders the AI tends to forget over long conversations. Inside this panel, there is also a ✨ Auto-summarize Chat button: click it to have an AI model read the current conversation and generate a concise summary, which is then automatically appended to your memory notes. A dialog lets you choose which of your saved models performs the summarization, pre-selected to the model currently in use for the chat.
Add Participant (👥): Opens a selection modal to add another one of your characters to the current conversation, turning it into a group chat.
Select Persona (🎭): This button allows you to select one of your saved personas to represent you in the chat. You can unselect your persona anytime by simply clicking the button again.
Settings (⚙️): Toggles the visibility of the settings panel, where you can customize the chat's appearance and AI behavior.
Mood (😊): Click this button to set a mood for the character in the current chat session. A picker opens with preset options — Happy, Sad, Angry, Nervous, Flirty, Tired, Curious, Scared, Bored — plus a "None / Clear" option to remove the mood. The chosen mood is injected into the AI's system context with every message, subtly shaping how the character speaks and reacts throughout the conversation. The button icon updates to the emoji of the currently active mood so you can see it at a glance.
Ambient Effects (✨): Opens the particle effects picker, where you can apply animated visual effects to the chat background. Available effects include: Snow, Rain, Sparks, Fireflies, Sakura, Fog, Steam, Aurora, Leaves, and Darkness. An intensity slider lets you control how many particles appear. The selected effect is saved directly on the character card and activates automatically every time you open a chat with that character. Choose "None" to turn effects off.
Quick Swap Character (↔️): Opens a searchable list of all your other characters. Clicking one instantly moves the entire current chat session — including its full message history — to that character, then opens the chat with them immediately. This is useful when you want to re-assign an ongoing story to a different character without going back to the main screen and recreating the chat manually.
The Settings Panel
This panel gives you deep control over the look and feel of the chat and the AI's responses. All settings are saved locally and automatically applied to all chats.
Font Size: Adjusts the size of the text within the chat bubbles.
Message Spacing: Controls the vertical gap between messages.
Colour Pickers: You can set custom colors for the Main Text, spoken Dialog (text in quotes), and the chat bubbles for both the User and the AI.
Opacity Sliders: Controls the transparency of the User and AI chat bubbles independently.
Blur Filter: Applies a "frosted glass" blur effect to the chat bubbles, making them more or less translucent.
Character Avatar Size: Changes the size of the Character's avatar displayed next to their messages.
AI Model: A dropdown menu to select the specific AI model you want to use for the chat responses.
Temperature (AI Creativity): This slider controls the randomness of the AI. Unlike other settings, Temperature is respected by almost all models (including free ones) and is the most important tool for changing the AI's "feel."
0.1 - 0.6: Focused, predictable, and coherent. Good for sticking strictly to facts or character traits.
0.7 (Default): A balanced default. Creative enough for natural conversation while staying coherent.
0.8 - 1.0: More creative and varied. The AI will take more risks and follow instructions more loosely. Values above 1.0 often result in only gibberish being received and even get rejected by a lot of models.
Notification Sound: A toggle switch to enable or disable the brief sound effect that plays when an AI message is fully received.
Show Think Blocks: A toggle to show or hide the collapsible "thoughts" box that reasoning AI models produce. When enabled, you can click "Show Thoughts" on any AI message to read the model's internal reasoning. When disabled, the think block is stripped away and only the final response is shown.
Reply Suggestions: A toggle that enables or disables AI-generated reply suggestions. When active, two short dialogue options appear above the input field after each AI response, giving you quick ideas for what your character could say next. While the suggestions are being generated, animated loading indicators appear in the suggestion fields — and if something goes wrong (e.g. the AI provider is unreachable), a short error message is shown there instead. Suggestions are also automatically regenerated after you delete messages, based on the latest remaining AI message in the chat.
Suggestions Model: A dropdown that appears below the Reply Suggestions toggle. It lets you choose a dedicated AI model just for generating reply suggestions — independently from the model you use for chatting. Tip: Set a free or low-cost model here so that suggestions don't consume API quota from your main (paid) chat model. Leave it on "(same as chat model)" if you don't need to separate them.
Text-to-Speech (TTS): A toggle that enables your browser's built-in text-to-speech for AI responses. When active, each new AI message is automatically read aloud once it finishes generating. A Voice dropdown appears directly below the toggle, listing all voices installed on your operating system — choose whichever sounds best to you. TTS runs entirely through the Web Speech API built into your browser; no external service or API key is required. Note: voice availability varies by browser and operating system.
Background Music: A text field where you can paste a direct link to an audio file (e.g., an .mp3) to play as looping background music for the current chat. This acts as a per-session override of the Music URL set in the character editor — your entry here is saved in your browser's local storage and does not change the character's saved data. Clear the field to stop the music.
Reset to Default Values: This button resets all settings on this panel to their original values.
The Chat Window & Message Interaction
This is the main area where your conversation is displayed.
Editing Messages: You can edit any message in the chat history by simply double-clicking on it. This will open an editor window. You can edit your message as you wish. When you're done, simply click the save button with the checkmark. Optionally, you can simply press ENTER or double-click outside the editor window. All your changes are saved automatically.
Deleting Messages: When you hover over a message, a small trashcan icon (🗑️) appears. Clicking it will delete that message and all messages that came after it. This is useful for pruning the chat history to go back to an earlier point in the conversation and to try a new plot line from that point onward. After a deletion, an ↩ Undo Delete button appears directly in the chat window — right where the deleted content was — so you can instantly restore all deleted messages with one click. If Reply Suggestions are enabled, new suggestions are automatically regenerated based on the latest remaining AI message.
Response Variations: For every AI response, you can generate multiple versions.
Browse: If multiple versions exist, < and > buttons appear below the message. Use these buttons, or the Left and Right Arrow Keys on your keyboard, to cycle through the different responses.
Regenerating: To generate a new response variation, click the refresh icon (⟳) below the message. Alternatively, if you are on the last available variant, pressing the Right Arrow Key will also trigger a regeneration of the AI's last response.
Continuing a Response: Next to the regenerate icon, you'll find a continue button (»). Clicking this prompts the AI to intelligently continue its last message, seamlessly finishing cut-off sentences before adding new content. It’s perfect for extending a good response or when an answer feels incomplete.
AI Thoughts: Some AI models (Reasoning models) can provide their "thoughts" in a special <think> block. It will be automatically displayed in a collapsible box ("think block") above the main response. You can click "Show Thoughts" to see the AI's reasoning or internal monologue for its response.
The Input Area
This is where you write your messages.
💬 Character vs. 📖 Narrator: You have two send buttons. Character is for standard character responses and dialogue. Narrator instructs the AI to respond purely as an omniscient, third-person narrator, describing the scene and actions without speaking as the character.
Context Continuation: If you leave the input field empty and click either send button, the app will use the last message in the chat as the new prompt to generate a continuation. This is great for letting the AI move the story forward on its own.
Note: Sometimes, the AI might get repetitive and it can look like as if the AI ignores the last message and doesn't drive the plot forward. In that case, simply make use of your Reminder instructions (e.g., "Drive the plot actively forward and let something new happen.") and also adjust the Temperature slider.
Tag Suggestions: When you click on the input field in a group chat, suggestions for selecting one of the participants will appear above the input field. Simply click one of the tags to speak to that specific Character. As long as you leave the tag for the selected character selected, all your messages will be sent to that particular character.
Stopping a Response: While the AI is generating a new message, a red stop button (🟥) will appear in the text input area. Clicking this immediately cancels the request, which is useful if the AI seems to be taking too long or you change your mind.
Other Chat Functions
Scroll to Top Button (↑): This floating button appears in the bottom-right corner after you've scrolled down a bit. Click it to jump instantly to the beginning of the chat.
Fullscreen Mode: When using the app on your computer, simply press the F key on your keyboard to toggle a distraction-free, immersive fullscreen mode. Press F again (or ESC) to exit fullscreen mode.
6. Who Are You? Persona Management
While most of the app is about the AI characters you chat with, the Persona system is all about defining who you are in the conversation.
The Difference: Character vs. Persona
A Character is the AI entity you create and interact with. It has its own detailed personality, backstory, and instructions.
A Persona is a reusable profile for you, the user. It defines your name, your appearance, and your role in the story. This information is given to the AI so it knows who it is talking to, leading to much more personalized and context-aware responses.
The Persona Management Window
You can access this feature by clicking the 🎭 Manage Personas button on the main screen. This will open a dedicated modal window where you can:
See a list of all your created Personas.
Use the search bar to find a specific Persona.
Click + Create new Persona to open the Persona Editor.
Edit (⚙️ icon) or Delete (🗑️ icon) any existing Persona directly from the list.
The Persona Editor
The Persona Editor is a streamlined version of the Character Editor, designed for quickly defining your user profile.
Persona Name: The name you want to be called in the chat.
Persona Avatar URL: A direct image link for your avatar. This optional picture will appear next to all of your messages in a chat where the Persona is active.
Persona Description: Describe your identity, appearance, and role in the world. This description is passed to the AI as part of the system prompt. If possible, keep it rather concise, as this saves a lot of tokens and makes it easier for most AI models to think.
Estimated Tokens Counter: Just like in the Character Editor, this shows a live estimate of the token count for your Persona's definition.
Using a Persona in a Chat
Inside a chat, if you have not yet assigned a Persona, a 🎭 Select Persona button will be visible in the header. Clicking it opens a selection screen where you can choose one of your saved Personas for that specific chat session. You can unselect the persona by clicking the button again.
7. All Together: Group Chats
You aren't limited to one-on-one conversations. Any chat can be turned into a group chat with multiple AI characters interacting with you and each other.
Starting a Group Chat
To add more characters to an existing conversation, simply click the Add Participant (👥) button in the chat header. This will open a selection modal where you can choose any of your other characters to join the chat.
Managing Participants
Adding: In the participant selection window, simply click on the character you want to add. You can add as many as you like. Use the search bar in the modal to find characters quickly.
Removing: All current participants (besides the main character) are shown as small, overlapping icons in the chat header. To remove a character from the chat, just click on their icon. A confirmation prompt will appear.
Addressing Specific Characters in a Group Chat
To direct your message to a specific character in the group, you must use a simple command: Start your message with a forward slash / followed immediately by the character's name (e.g., /Akame "How are you?").
Tag Suggestions: To make this quick and easy, whenever the input box is empty, clickable suggestions for all participants (e.g., </Akame>) will appear just above it. Clicking one will add the command to the input box for you.
The AI is instructed to respond only as the character you addressed. If you don't specify a character, the response will come from the chat's primary character.
However, to be certain, always put the instruction “Reply only as {{char}} now” in the Character Reminder. It will ensure that only your targeted character will speak.
8. Import, Export & Backups
Your data is stored locally in your browser (IndexedDB), which means it's private but also vulnerable if your browser data is cleared. The Import and Export feature is the best way to safeguard your creations.
Why should I use this feature?
Backups: Create a safe copy of all your hard work. If you ever accidentally clear your browser's cache or cookies, you could lose everything – all Characters and all Personas. An exported file is your insurance policy and it doesn't cost you anything - except 5 seconds of your time.
Migration: Move your entire collection of characters and personas to a different computer or another web browser.
How to Export Your Data
Exporting creates a single .json file containing all your characters and personas.
Click the ⬇️ Export button in the header of the main screen.
Your browser will open a "Save File" dialog.
The file will be named casualcharacterchat_export_[date].json. Choose a safe location on your computer and click "Save". That's it!
How to Import Your Data
Importing allows you to load a previously exported backup file as well as any other .json file with characters in the same format.
Click the ⬆️ Import button in the header.
Select the .json backup file from your computer - or upload any character card (png/V2 or .json) from any other character chat platform.
A confirmation window will apear. Once you confirm, the app will load the data. A success message will appear, telling you exactly how many characters and personas were successfully imported. Your existing data will NOT get overwritten and is save! Only the new data will be added to your existing characters and Personas.
9. Frequently Asked Questions (FAQ)
Here are answers to some common questions and issues.
Q: My AI's responses are weird/short/repetitive. What can I do?
A: The quality of AI responses depends heavily on your settings and prompts. If you're not getting the results you want, try the following:
Check Your Prompts: The most important factor is a well-written Character Description. Be detailed. Give the AI clear instructions on personality, speech style, and motivations. The same goes for your AI Instructions and Reminder fields.
Adjust Temperature: In the ⚙️ Settings panel, try adjusting the Temperature slider. A lower value makes the AI more predictable and focused. A higher value makes it more creative but can lead to randomness.
Regenerate the Response: Don't be afraid to use the ⟳ button (or the right arrow key). Sometimes the AI's first attempt isn't its best, and the next variation might be perfect.
Change topic: Often it helps to change the topic yourself by making a time jump for example and start a totally new situation or scene, so that the AI has to come up with other ideas for the new circumstances.
Q: The app is slow, or the AI isn't responding. What's wrong?
A: Since the app communicates directly with your AI provider, slowdowns are caused by the provider's servers (e.g., OpenRouter) being under high load or a free model being temporarily unavailable. The app will automatically retry the request. If you keep getting errors, try switching to a different AI model in the settings, or wait a few minutes and try again.
Q: The chat was working, but now I always get an error like "AI Model did not respond...". What's wrong?
A: Most of the time this means that either the AI model itself has problems, or your API key isn't valid, or you have reached a rate limit with your provider for requests per minute/per day. Try to use another AI model, another provider/different API key, check any limits of your provider, or simply try again later. In some cases it can also happen while improvements are being made to the website (a few minutes/hours, maximum one day). Please also note that free AI models are often shut down by the providers after a certain period of time - you'll keep getting error messages in such cases.
Q: What's the difference between Character Description and Lorebook?
A: Think of it this way: The Character Description defines who the character is - their active personality, their appearance, how they behave right now. The Lorebook contains background knowledge from the character and the world - memories, historical facts, details about the world, etc. This separation helps the AI focus on the active personality while still being able to pull from deeper knowledge when needed. You can also integrate all kinds of additional facts about the character in the lorebook that are not necessary or have less relevance for the character description.
Q: Can I use my characters on another computer or in a different browser?
A: Yes. This is precisely what the Export and Import functions are for. Use Export on your old device/browser to save your data to a file, then use Import on the new one to load it all back in.
IMPORTANT: If you want to run your app on another computer, you must copy your app folder with the three code files (index.html, style.css, script.js) to that device. Only then can you start the app on that device by opening the index.html file in the browser as usual. On smartphones it will only work properly by opening the standalone file that is downloadable on the Github page of this project.
Q: Why are my Characters and Personas suddenly gone?
A: This means that your browser's site data (including the IndexedDB database) has been deleted.
This can happen when you clear your browser's cache or have settings that automatically delete site data upon closing the browser. That's why the quick and easy "Export" feature is always your perfect insurance.
Simply export your data after making major changes or creating new characters, and you're 100% safe. Please note that you won't see your newly created characters and chats in an Incognito-Tab of your browser since cookies are disabled in incognito mode and it doesn't check your local storage.
10. Getting Started (Required Setup)
The Only Step: Connect Your API Key
To use any AI models, the app needs your personal API key of course. This is the only setup step required.
The web app itself is free, but AI model usage is billed through your own key, if you use paid models. While you can add different providers/API keys for different models, it is recommended to use OpenRouter.ai as your main API provider, because the web app is is optimized for OpenRouter and this provider gives you access to most existing AI models in one place. They give you 50 free messages a day - 1000 free massages a day, when you have $10 in your account balance (one-time payment).