otaku — an LLM frontend for roleplay

otaku — an LLM frontend for roleplay

otaku is a free, open-source LLM frontend for roleplay and creative writing, with web and terminal interfaces. It runs on your own computer, needs no infrastructure, installs in one command, and works with a local model or a cloud API with minimal configuration.

Interactive demo

How to install

curl -LsSf https://otaku.sh/install.sh | sh Windows · macOS · Linux

Writing features

chat and story modes

  • chat mode (the manuscript or chat layout in the web interface), when your story is dialogue-based;
  • story mode (the canvas layout in the web interface), when you write the story as a novel directly in the transcript

consistent prose

the first 20 and the last 150 messages are always sent to the model as they are, to make it maintain the style

automatic summaries

as the number of messages grows, intermediate messages are split into scenes and are automatically summarized; when the story no longer fits the context, its middle is replaced by scene summaries

custom context size limit

you can cap the context size yourself

transparent context

you can see what will be sent to the model with the /context command

attaching pictures

if the model supports vision, you can attach pictures to your messages

no fixed persona

you are free to play any character during the story

helper commands

/ooc and /cue to steer the plot, /me and /you to say who is speaking

Characters

characters library

add and remove characters outside stories, and invite them into a story

character recognition

characters you introduce in your story are extracted automatically; each character keeps their own journal of what they've seen and experienced

Tools the model can use

questions

the model can ask you questions with answers to pick from — you pick an answer instead of typing one

web search

the model can search for facts on the internet

assistant notes

the model can keep private notes between turns to store e.g. characters' unspoken intentions, which can improve the plot development

system info

the model can ask for the current date, time, and other local facts

Injections

reminders (aka author's notes)

a custom reminder of yours injected at a depth you choose

lorebooks

yet to be added, planned for next releases (see below)

Import your content

character cards

into the characters library, or into a story you've already started

a plain text file

will be split into turns, and you can play with the characters in it

Planned for next releases

card import from online resources

to simplify adding new characters to the library

per-character context

for better character isolation

lorebooks

including import from SillyTavern — not implemented yet, but you can import world info into the system message

audio input

speak instead of typing your turns

Storage and privacy

Stories live in a local SQLite database; the database is snapshotted daily into the state dir, the last seven kept (configurable).

Pictures attached to a turn and cards' pictures are kept beside the database, downsized and stripped of their metadata; they are not part of the daily snapshot.

Encryption at rest is disabled by default but is one config switch away (AES-256-GCM, sealed client-side): the key can live in your OS keychain, come from a command of your choice (a password manager, a hardware token), derive from a passphrase, or sit on disk. The request log and the pictures are sealed with the same cipher.

Provider API keys are always stored sealed, their key in the OS keychain.

Feedback

overview guide context AGPL-3.0 · © 2026 enclavum