otaku — an LLM frontend for roleplay

otaku — an LLM frontend for roleplay

otaku is a free LLM frontend for roleplay with a web UI and a terminal interface. It works on your machine, needs no infrastructure — no Docker, no database server — installs in one command, and runs against a local model or a cloud API with minimal configuration.

Interactive demo
How to install curl -LsSf https://otaku.sh/install.sh | sh macOS · Linux · Windows
Key features
consistent prose

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

context control

as the number of messages grows, intermediate messages are split into scenes and are automatically replaced by scene summaries

character recognition

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

no fixed persona

you are free to play any character during the story and hint to the LLM who is playing whom (the /me and /you commands)

helper commands

steer the LLM out of character: a standing note with /ooc, a one-time cue with /cue

transparent context

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

Import your content
character cards

into a story you've already started (the /card command)

SillyTavern chats

this creates a new story that you can continue (the /import command)

a text file

will be split into turns, and you can play with the characters in it (also the /import command)

lorebooks or world info

have no equivalent in otaku, but they can be imported from a file into the system message (the /system command)

Storage and privacy

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

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 is sealed with the same cipher.

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

Feedback
github MIT · © 2026 enclavum