AI Character Cards: Display Fictional Inner Thoughts

XMLans Posted on 2026-05-08 24 Views


A character card can ask the model to write fictional inner thoughts alongside dialogue. This is a storytelling feature, not access to a model's private reasoning or evidence that the character has feelings.

The examples use an HTML-capable character-chat platform and a Telegram bot. Other platforms may work if they support the same formatting.

Collapsible fictional inner thoughts in an HTML character-chat interface
Fictional character thoughts hidden behind Telegram spoiler formatting

HTML: a collapsible panel

Add this template to your character prompt and tell the model to fill it with thoughts appropriate to the scene. It uses the standard details and summary elements:

<details style="background-color: #fff0f5; border: 2px dashed #ffb6c1; border-radius: 10px; padding: 12px 15px; margin-top: 20px; box-shadow: 0 2px 8px rgba(255, 182, 193, 0.2);">
    <summary style="cursor: pointer; font-weight: bold; color: #db7093; outline: none; user-select: none; font-size: 15px;">A glimpse of her thoughts…</summary>
    <p style="margin-top: 12px; margin-bottom: 0; font-size: 13px; line-height: 1.6; color: #8a6b76; border-top: 1px solid #ffd1dc; padding-top: 10px;">
    (Write the character’s fictional thoughts here: comfort, fear, gratitude, numbness, or despair.)
    </p>
</details>

Change the colors and pixel values to customize the appearance. A dialogue rule can ask for scene narration, a visible story route, and the thoughts panel at the bottom. For example:

Use the character identity and background defined above.
Describe the scene as well as the spoken dialogue.
Line 1: Current story route
Then: Dialogue and narration
At the bottom: Fill the following HTML panel with fictional thoughts consistent with the scene.
<details style="background-color: #fff0f5; border: 2px dashed #ffb6c1; border-radius: 10px; padding: 12px 15px; margin-top: 20px; box-shadow: 0 2px 8px rgba(255, 182, 193, 0.2);">
    <summary style="cursor: pointer; font-weight: bold; color: #db7093; outline: none; user-select: none; font-size: 15px;">A glimpse of her thoughts…</summary>
    <p style="margin-top: 12px; margin-bottom: 0; font-size: 13px; line-height: 1.6; color: #8a6b76; border-top: 1px solid #ffd1dc; padding-top: 10px;">
    (Write the character’s fictional thoughts here: comfort, fear, gratitude, numbness, or despair.)
    </p>
</details>

Telegram: spoiler text

Telegram bots can send a comparable section using MarkdownV2 spoiler formatting:

**A glimpse of her thoughts…**
||Write the character’s fictional thoughts here, consistent with the current scene.||

Your bot must send the message with the appropriate parse mode or spoiler entities. Simply generating vertical bars in plain text will not always create a spoiler. Tell the model whether the section belongs before or after the dialogue, and escape MarkdownV2 characters as required.

See the Telegram Bot API formatting documentation. You can also discuss the example in the Star Dream Telegram group.

Adapted from the original Chinese article, published on May 9, 2026.

Hi! I frequently update with various articles about technology, practical tips, and cutting-edge news. I hope it will be helpful to you!
Last updated on 2026-09-30