Tavo - AI Roleplay Frontend
Born for AI Roleplay
Free · Designed for iPad. Not verified for macOS.
Tavo is a chat client specifically designed for AI role-playing enthusiasts, offering an intuitive, powerful, and unrestricted LLM front-end.
All features are completely free!
Join our community of over ten thousand members for resources, tips, and support!
Create or Import Character Cards
- Supports Spec V1/V2/V3 card formats
- Compatible with PNG, JSON and CHARX card formats
- Integrates seamlessly with platforms and communities like SillyTavern, JanitorAI, Pygmalion, RisuRealm, AICharacterCards, and Chub
Direct Local-to-Model Connection
- All data is stored locally, including your API keys, chat history, character cards, and more
- Connects directly to LLM via APIs without any intermediary services
- Your data remains secure, private, and free from additional restrictions!
Feature-Packed
- Group Chat
- Presets, Jailbreak
- Lorebooks, Long-Term Memory
- Regex, HTML, and CSS support
- Status bars, Chain-of-Thought
- Model Settings
Beautiful
- Total customizable vibrant color schemes
- Supports HTML & CSS rendering, delivering a visually rich interface
- Exclusive JavaScript support, allowing unlimited functional designs to bring your chats to life
Voice and Image Integration
- Supports major TTS platforms
- Enables sending images to AI
And many more features to discover!
more Hope they don't start trying to extract money out of ppl, then id just host sillytavern but id prefer to keep using this since I only use AI on my phone.It's really easy to throw a couple bucks in openrouter and get this set up, chat and story quality using deepseek 3.2 is higher than most paid platforms and youd have to use it all day and night to hit 1 dollar a day, cheaper than most montly subs if you play 3-5 hours a day everyday or just ocasionally. My subs would always expire with me having played a day or two so I definitely prefer using an API myself and save money this way. You can optimize to make it cheaper or more expensive/advanced.
Hope they don't start trying to extract money out of ppl, then id just host sillytavern but id prefer to keep using this since I only use AI on my phone.It's really easy to throw a couple bucks in openrouter and get this set up, chat and story quality using deepseek 3.2 is higher than most paid platforms and youd have to use it all day and night to hit 1 dollar a day, cheaper than most montly subs if you play 3-5 hours a day everyday or just ocasionally. My subs would always expire with me having played a day or two so I definitely prefer using an API myself and save money this way. You can optimize to make it cheaper or more expensive/advanced.
this app is definitely the best ai app i’ve ever encountered and this would %100 be 5 stars if i was currently not bawling my eyes out, there were some glitches in the app, for some reason the bot decided to get stuck in thinking, i would completely exit out of the app but it didn’t fix the issue, so i decided to delete the app, i didn’t know that i had to back it up first, i’m sure you could guess what happened, had to completely reset my phone to the latest backup, which sadly was a couple days ago, meaning i lost a lot of bots, chats and personas i’ve been working hard on… could you at least have a log in, like google for us stupid users who some how miss the memo. It's really traumatizing to lose data as a CHAI AI escapee. Not to mention the money that just got wasted in those chats. Probably lost 30 dollars of chats.
this app is definitely the best ai app i’ve ever encountered and this would %100 be 5 stars if i was currently not bawling my eyes out, there were some glitches in the app, for some reason the bot decided to get stuck in thinking, i would completely exit out of the app but it didn’t fix the issue, so i decided to delete the app, i didn’t know that i had to back it up first, i’m sure you could guess what happened, had to completely reset my phone to the latest backup, which sadly was a couple days ago, meaning i lost a lot of bots, chats and personas i’ve been working hard on… could you at least have a log in, like google for us stupid users who some how miss the memo. It's really traumatizing to lose data as a CHAI AI escapee. Not to mention the money that just got wasted in those chats. Probably lost 30 dollars of chats.
Been quite enjoying this, both from a character design place and an AI understanding place. I like how switching APIs work, I like the preset sysprompts you can setup and how easy it is to switch. Give me Markdown support, a locally syncing desktop version, and more modes beyond characters and I’d probably exclusively use this. Favorite app I’ve found on a min.
Been quite enjoying this, both from a character design place and an AI understanding place. I like how switching APIs work, I like the preset sysprompts you can setup and how easy it is to switch. Give me Markdown support, a locally syncing desktop version, and more modes beyond characters and I’d probably exclusively use this. Favorite app I’ve found on a min.
Unlike other platforms, this app lets you customize how you want you to roleplay freely and super easily. It’s been amazing so far. It’s really easy importing characters, you just have to copy a link from a character from a different platform and then paste it into tavo and boom. It’s done. Just really well done. This app is my favorite so far.
Unlike other platforms, this app lets you customize how you want you to roleplay freely and super easily. It’s been amazing so far. It’s really easy importing characters, you just have to copy a link from a character from a different platform and then paste it into tavo and boom. It’s done. Just really well done. This app is my favorite so far.
- Added support for Claude Fable 5 & Mythos 5
- Added EJS support to the template system, which can be disabled in Chat Settings → Compatibility
- Group chat contextual speaking now supports multiple speakers, configurable through prompts
- Added input box translation and automatic message translation
- Added template application support to image generation settings
- Image generation settings now support custom prompt expansion instructions
- API settings now display different parameters based on the selected model
- Added an "Apply Regex to Hidden Messages" toggle in Chat Settings → Compatibility
- Official voice playback rules can now be viewed
- Fixed whitespace handling issues in regex
- Fixed compatibility issues when exporting secondary World Book keywords
- Fixed regex issues when importing CCv3 World Books
- Fixed a memory reference issue when retrieving variables with tavo.get
- Fixed an issue where the image generation info dialog could become too long to close
- Renamed Load Balancer to Router, with no functional changes
- Optimized regex usage for World Book keywords
- UI refinements and improvements
- Fixed known bugs
0.87.0 Jun 12
- Added group chat scene responses that automatically determine the speaking character based on context
- Voice playback now supports controlling spoken content via regular expressions
- Added support for Claude Opus 4.8
- Added file read/write APIs to JS API for storing images, memories, Markdown files, and more
- JS API image generation can now save generated images directly as files
- JS API now supports smooth transitions for character avatars and chat backgrounds, providing better support for visual novel experiences
- Upgraded the JS API Demo character card to version 1.0 with new features and examples
- Added an option to enable or disable JS API security prompts
- Improved UI details
- Bug fixes
0.86.0 Jun 5
- Added translation support. Once enabled, long-press a bubble to translate it.
- Voice now supports dubbing by user identity, as well as narrator and quote configuration.
- Added image-generation prompt expansion to improve generation results.
- Added NovelAI image-generation support.
- Added "Generation Info" to image-generation previews.
- Added settings and explanations for parameters across image-generation APIs.
- Added support for calling the image-generation API from JS via tavo.image.generate.
- Added support for opening the image preview window from JS via tavo.utils.preview.
- Added a World Book compatibility toggle in chat settings.
- Fixed an issue where reference images could be lost during image generation.
- Fixed an issue where generated images could be removed when cleaning up storage.
- Fixed logic issues with voice and image-generation APIs during backup.
- Fixed bubble width issues when the sidebar is collapsed on tablets.
- Optimized UI details.
- Bug fixes.
0.85.0 May 29
- Added image generation! Tap the + button on the left of the input box to start!
- Support editing or regenerating images after generation
- Allow configuring image generation APIs, currently supporting partner platforms, GPT, Gemini, OpenRouter, and custom OpenAI-compatible protocols
- Search is now available when selecting APIs, presets, lorebooks, regexes, and more in the right sidebar
- Added Gemini 3.5 Flash support
- “Image Sending” has been renamed to “Image Description”; when turned off, the original image will be sent instead of descriptive text (this may consume more tokens)
- Image preview now supports swiping left/right and downloading images
- Improved many prompt messages
- Fixed an issue where API edits in the sidebar did not sync immediately
- Detailed UI improvements
- Bug fixes
0.83.2 May 22
- Lorebook now supports copying entries
- Added Regex Assistant
- Enabled the new Toast style
- Added automatic cache markers for OpenAI, Gemini, DeepSeek, and Grok
- Added cache duration setting for OpenAI
- Optimized performance with large volumes of chat messages
- Fixed issue where world book entry order was reversed during import/export
- Fixed issue where <script> tags could sometimes fail
- Fixed issue where changes to presets, world books, user personas, etc. made via JS did not refresh immediately
- Fixed occasional script errors when updating messages via JS
- Fixed conflict between Claude Opus 4.7 and model parameters
- Fixed file import failure on Samsung devices
- Fixed issue where creating a new chat from the upper-left corner did not automatically bind world books and regex
- UI detail improvements
- Known bug fixes
0.82.1 May 19
- Added Grok 4.3
- Added GPT-5.5 & GPT-5.5 Pro
- Added Claude Opus 4.7
- Added support for deepseek-v4-flash and deepseek-v4-pro
- Added DeepSeek parameter configuration (thinking mode & thinking intensity)
- TTS: added Minimax platform support
- Character cards, world books, presets, regex, and themes now support multi-select deletion
- Clicking a list item now opens a "More" menu instead of "Set as default"
- Optimized the layout of items in the "More" menu within lists
- Streaming output will now stop auto-scrolling when the bubble reaches the top
- Official theme: input field now uses extra-large border radius
- Chat shortcut buttons now use a transparent background
- Regex is now also applied to hidden messages
- Fixed character card world book import/export naming issue
- Fixed missing animation during voice playback under advanced rendering
- Fixed script abruptly terminating when adding or updating messages via JS API
- Fixed preceding messages not refreshing after regex depth limit is applied
- Minor UI refinements
- Known bug fixes
0.81.3 May 2
- Optimized Vertex AI model fetching, now supports entering full IDs for different publishers
- User identity description is now optional
- JS API
- tavo.character now recommends using tavo-style fields, while remaining backward compatible with CCv3 style
- tavo.lorebook create and update are now compatible with CCv3 style
- tavo.regex create and update are now compatible with more styles
- Added tavo.character/preset/lorebook/regex.import to support importing JSON-format character cards, presets, lorebooks, and regex
- Added tavo.utils.select providing a polished selector UI
- Fixed an issue where tavo.generate would duplicate messages when context was provided
- Added the TavoJS Guide character card, with support for quick import within the App
- TavoJS Guide character card upgraded to v0.8, adding: guided re-roll, import, and selector
- TTS Improvements
- TTS cache optimization
- TTS API now supports request parameter configuration
- TTS API now supports receiving audio in wav, mp3, aac, and other formats
- Improved TTS narration detection
- Minor UI refinements
- Known bug fixes
0.80.1 Apr 29
- Added support for Google Vertex AI
- Added pricing and context display for Gemini series models
- Gemini API now supports extended thinking, thinking budget, and reasoning effort settings
- Added cache parameter settings for Claude: auto, system prompt, cache duration
- Removed Claude 1M model, now configured via parameters
- Added model capability display for Volink and OpenRouter model lists
- Removed dedicated Doubao API support; existing APIs will be converted to custom OpenAI-compatible format
- Standardized User-Agent and request headers
- Optimized chat page refresh mechanism
- Fixed conflict between TTS auto-play and regex
- UI detail improvements
- Fixed known bugs
0.79.1 Apr 21
- JS API adds support for create, read, update, and delete (CRUD) of chat messages
- Added support for custom Claude API protocol
- Claude platform supports advanced parameter configuration: extended thinking, verbosity, and 1M context
- Fixed issue with streaming output not working
- Fixed macro escape issue
- Fixed GPT-5.2 error issue
- UI detail improvements
- Bug fixes
0.78.2 Apr 4
- Support importing and exporting character cards with themes!
- Linked themes will sync with characters when starting new chats or deleting
- Enable Responses API on the OpenAI platform
- Gemini supports chain-of-thought display (requires enabling the thinkingConfig parameter)
- Added GPT-5.4 series
- Added Grok 4.2 series
- Claude models now include pricing and context info
- JS API adds presets and regex operations
- Context logs now include source information
- Detail optimizations
- Bug fixes
0.77.0 Mar 26
- Import preset files along with included regex
- Visual optimization for group chat shortcuts, supports showing avatars only
- Prompt to enable JavaScript support when JS is detected
- Increased database limit
- Fixed issue where certain operations could clear shortcuts
- Fixed macro insertion issue during full-screen input
- Fixed TTS reading full-symbol text issue
- UI optimization
- Fixed known bugs
0.76.0 Mar 24
- New JS API features:
- Support creating/editing/deleting character cards
- Support creating/editing/deleting user personas
- Support creating/editing/deleting world books
- Support setting the current chat name, character, user persona, and world book
- Support reading and writing long-term memory
- Support initiating AI generation requests
- Support reading/writing/sending input box content
- Support exporting/downloading files
- API parameter settings moved to the top-right corner with added visual configuration
- Added Frequency Penalty and Presence Penalty to API parameter settings
- Optimized JanitorAI URL import process
- Presets now support item duplication
- Added top navigation for model selection in OpenRouter & Volink
- Fixed output disorder during streaming caused by regex
- Fixed global variable saving issue
- Fixed request failures caused by OpenAI max_tokens deprecation
- Removed some deprecated models
- UI detail improvements
- Known bug fixes
0.75.2 Mar 19
- TTS API Optimizations:
- Added OpenAI support
- Added support for custom OpenAI-compatible protocols
- Supports searching or directly entering Model IDs
- New Creator Tools (Enable in Chat Settings -> Creator):
- Variable Manager: View or modify variables
- JS Console: View JavaScript logs for debugging
- Context Log: Now relocated to the "Creator" section
- OpenRouter & Volink model selection now displays context window and pricing
- Added support for importing chat history from Saucepan
- Added support for importing presets from Chub
- Macro Optimizations:
- Fixed issue where random number macros generated identical values
- Fixed timezone issue with {{time}}
- Fixed issue where setting JSON within `setvar` macro parameters was ineffective
- Added macro escaping support, e.g., `\{\{char\}\}` will render as `{{char}}`
- Optimized the style of shortcuts buttons in Group Chats
- Optimized image caching
- Fixed issue where JavaScript could not write to the input field
- Minor UI refinements
- General bug fixes
0.73.2 Mar 11
- Added support for Claude Opus 4.6 with 1M context
- Added fullscreen & macro assistant toggle to chat shortcuts
- Added auto-capitalization and auto-correction for Latin-based input methods
- Unified macro naming, keep old version compatibility
- Optimized chat list loading performance under extreme conditions
- Fixed an issue where variables were not cleared during chat restart
- Fixed an issue where long-term memory was not cleared during group chat restart
- Fixed a Markdown bold text display issue
- Fixed an issue where early macro tags could fail in certain cases
- Fixed a JavaScript rendering issue when rewriting messages
- Fixed a line spacing issue after toggling JavaScript on some devices
- Fixed an issue where JavaScript could render the variable table in certain cases
- Fixed an occasional issue where `tavo.set` in JavaScript would fail
- Minor UI optimizations
- Fixed known bugs
0.72.1 Mar 1
- Macro:** Added support for global variables
- JS Support: Added variable storage API (refer to the official documentation for usage instructions)
- JS Support: Improved visual effects for pop-up dialogs
- JS Support: Fixed issue where copying to clipboard could not be triggered
- Optimized regex rendering performance for stream output
- Optimized exported file name suffix format (now using a shorter format)
- Fixed import issue with new version group chat JSONL files
- Added Spanish language support!
- Private chats and group chats can now be switched seamlessly
- In full-screen editing, tapping back now saves automatically
- Regex entries now support copying
- User identities now support search
- Chat import now supports the Agnai platform
- Chat variable data is now exported together with chats
- The long-deprecated “Non-standard HTML tag display” option has been hidden and will be removed soon
- Fixed an issue where message content on the right side was left-aligned in tablet mode
- Fixed bubble height and width calculation issues when JS is enabled
- Extensive popup UI optimizations
- UI detail improvements
- Various known bug fixes
0.71.0 Feb 10
- **JavaScript support!** Two modes: script mode and codeblock mode
- Enhanced security in advanced rendering
- Adjusted settings menu structure:
- Display and Other Settings merged into Chat Settings
- Image Sending moved to Chat Settings
- Some items moved to "About Tavo"
- Added a standalone settings page for **Advanced Rendering**
- Smart recognition of imported file types with correct import handling
- Fixed occasional character and chat history disorder issues during chats
- Deleting a character now also removes associated lorebooks and regex
- Optimized avatar loading performance, resolving lag caused by oversized avatars
- Optimized database and increased the maximum limit to 3GB
- When importing files exported by Tavo, prefixes and suffixes are now automatically removed from names
- Fixed CSS issues that caused rendering to stop in non-advanced rendering modes
- Resolved message loading timeout issues under complex regex conditions
- Fixed ordering issues with presets and worldbooks at the same injection depth
- Fixed known bugs
0.69.1 Jan 27
- Optimized the character card preview and chats page
- Added preset search functionality
- Added regular backup reminder (default: 14 days, customizable)
- Added macro assistant for quick access during input
- Supported importing wyvern chat logs
- The left sidebar now displays input field drafts
- Optimized the execution frequency of RegEx during streaming to improve performance
- Editing characters, lorebooks, etc., no longer returns to the top of the list
- Update the default English font in Advanced Rendering
- Fixed the issue with {{char}} references in group chat opening lines
- Fixed the issue where some devices were unable to select images.
- Fixed crashes caused by avatars on certain devices
- Fixed English font issues in abnormal speech bubbles
- Minor UI optimizations
0.68.6 Jan 19
- Support sending images to AI! (Need to enable in settings)
- Added shortcut speaking in group chats
- Clicking on character avatars now previews the full image
- Claude and Grok now use new API, supporting more custom parameters
- Fixed issue of persistent loading (infinite loading)
- Fixed memory overload when switching chats caused by overly large character avatars
- Hidden bubbles are now excluded from depth calculation in regex
- Slightly optimized the color algorithm for input box
- Fixed issue where dividers appeared only at the bottom in flat style
- Fixed issue where top buttons were blocked in immersive mode
- UI detail optimizations
- Known bug fixes
0.67.2 Jan 10
- Character, preset, and other lists now support drag-and-drop reordering (pin feature removed)
- World Info now supports entry search
- Regex replacement text now supports macro injection
- Advanced Rendering: slight upward swipe during streaming prevents auto-scroll
- Stop button now correctly halts group chats
- Copying chats now includes variables, regex, Lorebook state, and Quick Switch
- Optimized official "Viridian" theme (please copy before updating if you wish to keep the old version)
- Optimized Chat History construction
- Fixed lorebook depth calculation errors causing injection failures
- Fixed occasional preset save failures
- Fixed issue where chats occasionally became empty under advanced rendering
- Fixed issue with duplicate selection boxes appearing on some bubbles during multi-select
- Fixed issue with deleting second greeting message
- Minor UI adjustments
- Bug fixes
0.66.0 Jan 5
- API now allows custom parameters (request body)
- Added character filtering to the chat list
- Added font size adjustment in quick-switch
- Added "Select to here" in advanced rendering
- Fixed issues with dragging presets, lorebooks, and regex across screens
- Fixed the issue where only 20 messages could be selected in advanced rendering
- Fixed the issue with selecting APNG as avatars
- Fixed the issue with editing default persona
- Fixed compatibility issues with lorebook imports
0.65.0 12/30/2025
- Added new model: Gemini 3.0 Flash Preview
- Refactored advanced frontend rendering to improve performance and compatibility, resolving slow loading and blank screen issues
- Group chats now support specifying a character opening message
- Fixed an issue where some models were not displayed in OpenRouter
- Fixed an issue where hiding the model’s chain-of-thought did not work under advanced frontend rendering
- Fixed an issue where copied messages were not the original content under advanced frontend rendering
- UI detail optimizations
- Known bug fixes
0.63.1 12/23/2025
- Support Character Card Spec V3:
- Extra fields nickname and group only greetings
- Added "source" field to enable lightweight copyright protection (prevents removing other authors’ sources)
- Support importing CHARX and APNG (animated avatar & background)
- Card creation and modification timestamps
- Support theme import/export
- Rename button in the left sidebar
- Output interruption
- Chat input box now supports full-screen mode
- New models:
- DeepSeek 3.2 Stable
- Claude Opus 4.5 (200K & 1M)
- Grok 4.1
- GPT-5.2 series
- Model settings now allow temperature, top-p, and top-k input
- Fixed an issue where advanced rendering caused Gaussian blur
- Fixed conflict between temperature and top-p in Claude
- Fixed editing issue after regeneration
- Fixed lorebook cooldown issue
- UI detail optimizations
- Bug fixes
0.62.2 12/17/2025
- Added support for the Gemini 3.0 Pro Preview model
- World Book and Regex now support pinning to top
- Supports hiding the model’s reasoning process, toggleable in Settings > Display
- Character list now supports grid view
- Storage now allows cleaning invalid character cards and related data
- TTS voice now supports background playback, toggleable in Voice > Voice Settings
- Visual Novel mode has been moved to Theme > Bubble > List Style
- Improved UI interactions in model settings
- Fixed lag issues when receiving messages
- Advanced Rendering now supports one-tap scroll to top/bottom
- Advanced Rendering performance and animation optimizations
- Advanced Rendering regex-related fixes
- UI interaction optimizations
- Bug fixes
0.61.1 11/21/2025
- Experimental feature: Advanced frontend rendering! Greatly enhanced HTML support in chat bubbles! (Enable it in Settings - Display)
- Support importing chat history in chub format
- Background character image switching in group chats now syncs with voice playback
- Optimized text rules for TTS playback
- Improved storage space management
- Fixed issues with long memories when upgrading data manually
- Interaction details optimized
- Bug fixes
0.60.1 11/11/2025
- Added storage management, allowing users to clear cache, logs, and optimize the data
- Restored the explicit 'Scroll to Top/Bottom' buttons (shown when scrolling)
- Optimized the performance of the 'Scroll to Top/Bottom' feature
- Improved World Book injection performance to reduce lag when sending messages
- Fixed various display issues after regenerating
- Fixed the TTS 'Play Quoted Only' feature
- Fixed the GLM returning 400 issue
- Fixed bubble display issues caused by regex in 'on receive'
- Minor UI improvements
0.59.3 11/03/2025
- Added support for Claude Fable 5 & Mythos 5
- Added EJS support to the template system, which can be disabled in Chat Settings → Compatibility
- Group chat contextual speaking now supports multiple speakers, configurable through prompts
- Added input box translation and automatic message translation
- Added template application support to image generation settings
- Image generation settings now support custom prompt expansion instructions
- API settings now display different parameters based on the selected model
- Added an "Apply Regex to Hidden Messages" toggle in Chat Settings → Compatibility
- Official voice playback rules can now be viewed
- Fixed whitespace handling issues in regex
- Fixed compatibility issues when exporting secondary World Book keywords
- Fixed regex issues when importing CCv3 World Books
- Fixed a memory reference issue when retrieving variables with tavo.get
- Fixed an issue where the image generation info dialog could become too long to close
- Renamed Load Balancer to Router, with no functional changes
- Optimized regex usage for World Book keywords
- UI refinements and improvements
- Fixed known bugs
more Version 0.87.0 Jun 12
Data Not Collected The developer does not collect any data from this app.