How to Caveduck

A widget is a feature that displays status information inside the chat window. You can display information such as dates, affection levels, relationships, and more alongside conversations. Widgets can either be automatically created through AI or manually created by writing the content yourself.

Compared to status panels previously written directly inside character internal prompts, widgets are less likely to experience missing information.


Ducky is an AI assistant that helps create widgets. Simply describe the information and design you want inside the widget, and Ducky will generate one accordingly.

You can achieve more accurate results by including the genre or atmosphere, color/theme, and the information fields you want to include.

Example Messages

  • Create a pink-themed widget for a romance genre character. Include the date, time, genders and ages of {{char}} and {{user}}, affection level, and relationship.

  • Create a dark gold-themed widget for a fantasy RPG character. Include the current location, time period, {{user}}'s HP/MP, gold amount, and companion rank with {{char}}.

  • Create a pastel blue-themed widget for a school-life character. Include the weekday, class period, weather, {{char}}'s mood, and intimacy with {{user}}.

  • Create a monochrome-themed widget for a mystery thriller. Include case number, current clue count, {{char}}'s suspicion level, and elapsed time.

  • Create a simple beige-themed widget for a slice-of-life character. Include the date, weather, {{char}}'s condition, and atmosphere with {{user}}.

Ducky can view all currently written state values, status information, and content. If HTML modifications are needed during editing, or if you want to add additional state values, you can continue using Ducky for revisions.


If creating a widget from scratch feels difficult, you can load and use sample themes provided by CaveDuck (Black Theme / Pastel Theme). You may use the samples as-is, or customize them by adding new state values or modifying the design.

Widgets are completed by filling out the following three sections:① State Values② Instructions③ Widget Content

State Values are the names of the status information displayed inside the widget.

  • Please use names with clear meanings.

  • Names such as Name1, Name2, or ValueA are not recommended.

  • Examples:Date, Time, Weather, Affection, Relationship, Location, Money, Stamina, etc.

  • State value names cannot consist entirely of uppercase letters. NPC / Npc ⭕️

Clear state value names help the AI correctly understand instructions and output values that match the actual conversation flow.

Instructions define how each state value should be generated and displayed. You can freely decide what type of value each state value should output and in what format.

Example Instructions

  • State Value: Date → Write the current date of the conversation. Output example: MM-DD

  • State Value: Time → Write the current conversation time in 24-hour format. Output example: 14:30

  • State Value: Weather → Write the current background weather in one word. Output example: Sunny, Rainy, Snowy

  • State Value: Affection → Write {{char}}'s affection level toward {{user}} as a number between 0 and 100. Output example: 72

  • State Value: Relationship → Briefly describe the current relationship between {{char}} and {{user}}. Output example: Friends, Lovers, Rivals

  • State Value: Location → Write the current location where the conversation is taking place. Output example: School Rooftop

  • State Value: Mood → Write {{char}}'s current mood in one word. Output example: Excited, Irritated, Calm

  • Providing clear output examples helps maintain consistent formatting.

Widget Content is the section where you create the actual design and layout displayed on screen.

  • To insert a state value, use the format {{State Value}}. You can also directly select available state values from the list below the editor.

  • You may freely decorate the widget using text, dividers, emojis, and more.

  • Since HTML code is supported, you can directly implement your desired styles and layouts.

  • You can instantly preview the results while editing.

  • After saving, you can also view translated versions for each language inside the preview window.

Example

Plaintext
<div style="padding:10px; border:1px solid #f5a;">
  📅 {{Date}} · 🕒 {{Time}}
  <br>
  💗 Affection: {{Affection}}
  <br>
  Relationship: {{Relationship}}
</div>

NotesValues displayed through {{State Value}} inside the preview are shown only in the editing language. However, when the widget is actually used in chat, the resulting state values are automatically displayed in the player's language.


In Translation Management, you can manage translations for both state values and regular text entered in the Widget Content editor, excluding HTML code.

  • When you enter content and press Save, the relevant phrases are automatically added to Translation Management and translated. In the State Values tab, you can review translations for state values, while in the Text tab, you can review translations for text entered in the content editor.

  • If you manually edit a translated sentence, that sentence will automatically be excluded from future automatic translation updates. (This protects your edited version from being overwritten.)

  • If you uncheck "Exclude from Translation," the sentence will be overwritten again by automatic translation the next time you save. Please note that manually edited translations may be lost in this case.

  • If some words fail to translate due to automatic translation errors, the corresponding language will be displayed with a red border. In such cases, please manually translate the untranslated words or press Save again to retry automatic translation.


Move to the Character Creation page.

Under the Introduction section, you can assign widgets for each introduction through the Widget menu located below Secret Settings.

Different widgets can be applied to each introduction, allowing different status panel setups depending on the situation.

NotesWhen applying widgets to characters, the character limit of Secret Settings is shared together with the widget. Please adjust widget length accordingly.


Displaying too many status values may reduce the length of the AI's main response.

If you already have status panel commands written inside character internal prompts (Character Settings, Secret Settings, etc.), please remove those commands when applying widgets.

When widgets are applied to characters, changes are immediately reflected for all players currently using that character. Please thoroughly test widgets before applying them for stable usage.

Does Widget Content Count Toward the Response Length?

Content entered in the Widget Content editor (such as HTML code) does not count toward the AI's response length.

However, the output generated from instructions based on {{State Values}} does count toward the response length. In simpler terms, the widget content that appears when you click "Edit" in the chat is included in the response length.

If the widget output becomes too long, the main response may become shorter. We recommend keeping widget content at a reasonable length.

Widget Content Is Not Appearing

If a widget becomes too long, some content may not be displayed.

Depending on the model's judgment, the main response may be prioritized over widget output. We recommend including only essential information in widgets.

If specific fields are frequently omitted, try adding instructions such as:

"Always output a value. Infer it from the conversation whenever possible."

The Character Shows a Widget Badge, but I Cannot See the Creator Widget

The widget indicator is displayed if a widget has been applied to at least one introduction among multiple introductions.

As a result, even for the same character, widget availability may differ depending on which introduction is currently being used.

Please ask the creator to verify whether widgets have been applied to all introductions.

Can I Get a Refund if a Widget Is Missing or Cut Off?

Widgets are provided as an additional convenience feature to enhance the user experience.

For this reason, partial omissions or malfunctions within widget output generally cannot be accepted as grounds for a refund.

We appreciate your understanding.

Why Is a Creator Widget Required to Use User Widgets?

The widget feature significantly changes the chat output format and requires adjustments to the character's internal instructions.

If a User Widget is used by itself without any modifications or configuration from the creator, there is a high possibility of errors in conversation flow or output generation.

For this reason, User Widgets are currently unavailable for characters that do not have a Creator Widget applied.

We appreciate your understanding regarding this limitation.