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.

Action name

Action names are very important, this is what the LLM will need to generate. For example, avoid action names like jrs_045 and prefer action names such as smile, sit_down etc. Only use lower case letters, numbers and underscores.

Layers

Layers are used to group actions together. Only one action by layer/timing can be selected per turn, and all layers will be executed in alphabetical order.

A good example of layers could be having an emotions layer (smile, frown, etc.) and a movement layer (sit_down, stand_up, etc.). It is recommended to avoid layers when possible, since they require a full inference pass for each layer.

Timing

When should be action be executed.

  • After User: After the user sends a message, before any character reply.
  • Before Char.: Before a character replies to the user, another character or an event.
  • After Char.: After a character replies. This can happen before or while the character is speaking.
  • Manually: The only way to trigger this event is by sending a /trigger event_name message.

Prompt

There are two prompts for actions. The main prompt is what is shown to action inference and should explain when to choose that action. For example, sit_down could have When {{ char }} wants to sit down or when {{ user }} instructs it. The short desc. prompt is optional, and will help make the character aware that they can do that action. For example, sit_down’s short description could be sit down. Use this fields for larger actions such as moving around.

Conditions

Target

Filters which role can do the action.

Match

Allows specifying a regular expression to only react to specific words or patterns. This can be useful for actions that should only be triggered in response to a request, or to avoid running an action inference layer unless necessary, saving resources.

Once

When enabled, this filter will automatically set an invisible _event_name flag, and a !_event_name condition so the action can only be executed once.

Flags

See Flags for more information on flag conditions.

Effects

Set Flags

Set flags when the action is executed. See Flags for more information.

Note, Instructions, Secret, Event, Story

See Messages for more information on the different type of messages.

For story, you can also specify the maximum tokens and maximum sentences to generate. This allows you to make shorter or longer stories as needed.

Script

See Scripting for more information.

Interface

You can reorder contexts, they will be used in the order they are displayed. You can also edit or delete them. Toggle them off to prevent them from being used, e.g. for testing.