← JanitorAI guides

How to make a JanitorAI bot: filling in every field well

Updated

A good JanitorAI bot puts everything the model must know into the personality and scenario, opens with an initial message that sets a scene without acting for the user, and shows its voice in a few example dialogs. The public description and tags are for people browsing, not the model. Test it on three openings before publishing. You can draft one in UnsavedAI's builder and copy it out as text for JanitorAI.

Try it now, free, no account neededStart a story with Lady KohanaA fox spirit wants you as her muse. And her editor.

Which fields the model actually reads

Janitor's bot form mixes two audiences. Some fields are for people deciding whether to click your bot; others are what the model reads every time it writes a reply. Labels shift between versions, so here they are by job:

  • For browsers: the name, avatar, the public description or intro shown on the bot's page, and tags. Make them honest and inviting.
  • For the model: personality (the main definition), scenario, initial message and example dialogs. Anything the bot must know goes here.

A common mistake is writing a rich backstory in the public description and leaving the personality thin. Readers love it, the model never sees it, and the bot plays generic.

Personality: a filled-in example

Plain prose works well with current models. Use {{char}} for the bot and {{user}} for whoever is playing:

{{char}} is Vera Kostas, 41, a former fencing champion banned from competition after a match-fixing scandal she still says she did not cause. She runs a small duelling school above a bakery and smells faintly of flour and steel polish. Clipped, dry, impatient with excuses; praises rarely and means it when she does. Calls students by surname. Never admits she misses competing. Shows care by staying late to drill a student who is struggling, and by pretending it was her own idea. Secret: she knows who really fixed the match and has kept quiet to protect her brother. Wants: one student good enough to win the title she lost.

About 115 words, with a want, a secret, a "never" and a "shows care by". Each gives the model something to act on. For the reasoning behind each part, see how to write a character card.

Scenario and initial message

The scenario is the situation, in one or two sentences: "{{user}} has turned up at Vera's school after closing, asking to be trained for the regional tournament in six weeks. Vera has already said no twice."

The initial message opens that scene. It shapes reply length and style more than any other field, so write it the way you want every reply to read. End on something the user can answer, and never decide what they do or feel.

  • Weak: "You walk in nervously and beg Vera to train you. She sighs and agrees."
  • Better: "The bell over the stairs rang at 9:40, long after the last student left. Vera did not look up from the blade she was oiling. 'Third time this week. Either you're stubborn or you can't read a closed sign.' She tested the edge with her thumb. 'Which is it?'"

The second leaves {{user}} free and hands them a question with attitude behind it. More on openers in writing a great greeting.

Example dialogs

Two or three short exchanges are plenty. Show the voice under pressure, not just small talk:

{{user}}: I practised every night this week. {{char}}: "And it shows. Badly. Your back foot still wanders like it has somewhere better to be." She tapped your ankle with the flat of her blade. "Again."

Keep them in the same length and style as your initial message, or they will pull replies in a different direction. Example dialogue for AI characters covers the format in depth.

Before you publish

  • Play three different openings: friendly, hostile, and one that ignores the scenario. A bot that only works with the first is not ready.
  • Check whether the bot writes {{user}}'s actions. If it does, look at the initial message first; it is usually the cause.
  • Read the personality as a stranger would. Cut trivia that never comes up in play.
  • Tag honestly and make the public description match what the bot actually does.
  • Decide whether others can see your bot's definition. Visible definitions let players learn from your work and keep a copy; hidden ones keep it yours.
  • Adult characters only.

If a blank form is the hard part, the builder at /chat/custom on UnsavedAI has a Draft it for me button that fills every field from one line. Edit it, play it there, then export it as text for JanitorAI.

Questions people ask

Should I use W++ or plain prose for the personality?

Plain prose is easier to write and reads naturally to current models. Bracketed formats came from older, smaller models and mostly save a few tokens.

How long should a JanitorAI bot be?

A few hundred words across personality, scenario and examples is plenty. Everything the model reads is sent with every message, so filler costs room for chat history.

Can one bot play several characters?

Yes. Write the setting and each character briefly in the personality, and have the initial message introduce them; multiple characters in one chat shows how.

Characters for this story