DM Hub

Active Campaign: {{ activeCampaign.name }}
AI Console
Map & Combat
Bestiary
Notes
AI Suggestions
πŸ—ΊοΈ
No Map Active
Push a 'map' type image from the queue to see it here.
{{ overlay.text }}
Text Overlay
{{ overlay.text }}

Combat Mode

Round
{{ displayState.combat_data.round_number || 1 }}
Current Turn
{{ currentTurnName }}
{{ p.initiative }}
{{ p.name }}
HP: {{ p.hp }}/{{ p.max_hp }} AC: {{ p.ac }}

Combat is not currently active.

{{ msg.role === 'user' ? 'DM' : 'Assistant' }} {{ msg.timestamp }}

{{ msg.content }}

Last AI Response

{{ lastAIResponse.response_text }}

No chat history yet. Ask the DM Assistant a question or describe a scene.

AI is thinking...
TIP: describe actions to update campaign state
{{ c.name }}
CR {{ c.challenge_rating }} β€” {{ c.type }}
{{ creatureStats.name }} CR {{ creatureStats.challenge_rating }}
AC:{{ creatureStats.armor_class }}
HP:{{ creatureStats.hit_points }}
Speed:{{ creatureStats.speed }}
Size/Type:{{ creatureStats.size }} {{ creatureStats.type }}
{{ item.name || 'AI Suggestion' }}
No pending suggestions

Your Campaigns

Campaign Name Adventure Players Created Actions
{{ c.name }} Active
{{ c.adventure_name || 'Homebrew' }} {{ c.players ? c.players.length : 0 }} {{ c.created ? new Date(c.created).toLocaleDateString() : 'Unknown' }}

No campaigns found. Create your first one!

Sources & Documents

Adventure Modules
Sourcebooks
RAG Library
{{ task.status }} {{ task.progress }}%
Error: {{ task.error }}
{{ adv.name }}
Level Range: {{ adv.level_range || 'N/A' }}
Chapters: {{ adv.chapters_count || 0 }} | Images: {{ adv.images_count || 0 }}

No adventure modules found. Import your first one!

Title Last Processed Actions
{{ sb.title }}
{{ sb.last_processed || 'N/A' }}

No sourcebooks found. Import your first one!

Filename Parent Category Size Status Actions
{{ pdf.filename }} {{ pdf.parent || '-' }} {{ pdf.source_type || '-' }} {{ pdf.size_mb }} MB Indexed Not Indexed

No PDFs found in the RAG source directory.

Character Library

Name Class & Level Stats Actions
{{ char.character_name }}
{{ char.class || char.class_name }} {{ char.level }} HP: {{ char.hp }}/{{ char.max_hp }} | AC: {{ char.ac }}

No characters found in library.