Scenarios are a powerful way to define actions and events, either for storytelling or to better support your app or scene. Scenarios define the situation in which the character finds themselves. For example, a scenario could define that the character is in a virtual room, meeting the user for the first time. Scenarios can also define their own actions, as well as define events to do drive roleplay or storytelling.
Tabs
General
- Chat Flow: Chat is the normal mode in which you and one or multiple avatars can discuss. Story excludes the user completely from the conversation.
- Attached Memory Book: Provides additional information about the world for this scenario.
- Narrator: The narrator is the voice used to read events.
- App: The app that this scenario is for. This is what allows a given scenario to be provided as an option for apps that supports more than one scenario (e.g. Virt-A-Mate).
Roles
Roles are placeholders for characters in chats. You can assign characters to roles in scenarios, and optionally disable them by default (for example, when you want to introduce some characters later following an event).
The Name of the role is important, it will be used to reference your role in templates. You can either use {{ char }}
to specific the first role, or {{ scenario_roles.your_role_name }}
to refer to the name of a character assigned to that role.
Scenario
Scenario Template
The Scenario field is a template used to override the character’s template. If not set, the first character’s scenario will be used.
Bootstrap Messages
The Boostrap Messages is used to kickstart the chat, and override the character’s greeting. Here is a list of all possible messages you can create. See Messages for more information on the different type of messages.
{{ char }}: The first character
{{ user }}: The user
{{ scenario_chars.your_role_name }}: A specific character in the chat
{{ event }}: A narrated event, visible to the character and the user
{{ note }}: A silent note, visible to the character and the user
{{ secret }}: A silent note, visible only to the character
{{ instructions }}: A silent note, visible only to the user
Those messages will be created one after the other.
You can also finish your bootstrap with {{ user }}: ...
to allow the user to start the conversation.
Scripts
The initialization script (index
) will run when the chat is started.
Scenario script functions can be referenced by actions and events, using import { your_exports } from "./file_name";
or import { your_exports } from "../base/file_name";
for parent scenario scripts.
See Scripts for more information.
Events
Events are used to drive roleplay or storytelling. They can be triggered at specific times or following specific messages.
See Events for more information.
Actions
Actions use action inference to determine what action to take before or after a message. This is used to make visual reactions, such as smiling or moving around.
See Actions for more information.
Contexts
Contexts are sentences added to the chat prompt just before the character’s answer, providing context to the reply. It can contain facts about the environment, the pose, or the character’s feelings.
See Contexts for more information.
Impersonation
In some scenarios, you may want to play a role rather than “being yourself” This allows you to override your name and your description for the scenario.