briyah 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/common/config/image_models.json +15 -0
- package/data/common/config/image_models_full.json +48 -0
- package/data/common/config/model_prices.json +37274 -0
- package/data/common/config/random_words.txt +2241 -0
- package/data/common/config/story_ideas.txt +6 -0
- package/data/common/config/story_models.json +23 -0
- package/data/common/config/story_models_full.json +45 -0
- package/data/common/prompts/character/compact_story.json +0 -0
- package/data/common/prompts/character/compact_story.mock +1 -0
- package/data/common/prompts/character/compact_story.prompt +18 -0
- package/data/common/prompts/character/create_character.json +29 -0
- package/data/common/prompts/character/create_character.mock +7 -0
- package/data/common/prompts/character/create_character.prompt +85 -0
- package/data/common/prompts/character/create_user_character.json +28 -0
- package/data/common/prompts/character/create_user_character.mock +7 -0
- package/data/common/prompts/character/create_user_character.prompt +60 -0
- package/data/common/prompts/character/describe_character.json +0 -0
- package/data/common/prompts/character/describe_character.prompt +32 -0
- package/data/common/prompts/character/import_character.json +29 -0
- package/data/common/prompts/character/import_character.prompt +87 -0
- package/data/common/prompts/character/import_user_character.json +28 -0
- package/data/common/prompts/character/import_user_character.prompt +69 -0
- package/data/common/prompts/character/perceive.json +0 -0
- package/data/common/prompts/character/perceive.mock +5 -0
- package/data/common/prompts/character/perceive.prompt +160 -0
- package/data/common/prompts/character/progress_character.json +18 -0
- package/data/common/prompts/character/progress_character.mock +4 -0
- package/data/common/prompts/character/progress_character.prompt +74 -0
- package/data/common/prompts/character/system_instruction.prompt +0 -0
- package/data/common/prompts/default/attach_file.prompt +1 -0
- package/data/common/prompts/default/identify.prompt +1 -0
- package/data/common/prompts/default/schema_test.json +28 -0
- package/data/common/prompts/default/schema_test.prompt +10 -0
- package/data/common/prompts/default/system_instruction.prompt +1 -0
- package/data/common/prompts/greeting.json +16 -0
- package/data/common/prompts/greeting.prompt +8 -0
- package/data/common/prompts/illustrator/describe_scene.json +33 -0
- package/data/common/prompts/illustrator/describe_scene.prompt +63 -0
- package/data/common/prompts/illustrator/system_instruction.prompt +9 -0
- package/data/common/prompts/narrator/compact_story.json +0 -0
- package/data/common/prompts/narrator/compact_story.mock +1 -0
- package/data/common/prompts/narrator/compact_story.prompt +17 -0
- package/data/common/prompts/narrator/create_chapter.mock +1 -0
- package/data/common/prompts/narrator/create_chapter.prompt +34 -0
- package/data/common/prompts/narrator/create_plot.json +0 -0
- package/data/common/prompts/narrator/create_plot.mock +11 -0
- package/data/common/prompts/narrator/create_plot.prompt +71 -0
- package/data/common/prompts/narrator/create_story.json +63 -0
- package/data/common/prompts/narrator/create_story.mock +22 -0
- package/data/common/prompts/narrator/create_story.prompt +85 -0
- package/data/common/prompts/narrator/import_plot.json +0 -0
- package/data/common/prompts/narrator/import_plot.mock +11 -0
- package/data/common/prompts/narrator/import_plot.prompt +55 -0
- package/data/common/prompts/narrator/import_story.json +63 -0
- package/data/common/prompts/narrator/import_story.mock +22 -0
- package/data/common/prompts/narrator/import_story.prompt +82 -0
- package/data/common/prompts/narrator/perceive.json +0 -0
- package/data/common/prompts/narrator/perceive.mock +3 -0
- package/data/common/prompts/narrator/perceive.prompt +186 -0
- package/data/common/prompts/narrator/progress_plot.json +0 -0
- package/data/common/prompts/narrator/progress_plot.mock +9 -0
- package/data/common/prompts/narrator/progress_plot.prompt +93 -0
- package/data/common/prompts/narrator/system_instruction.prompt +0 -0
- package/data/common/prompts/pdf_converter/convert_pdf.prompt +45 -0
- package/data/common/prompts/pdf_converter/convert_pdf_page.prompt +55 -0
- package/data/common/prompts/perceive.json +29 -0
- package/data/common/prompts/perceive.prompt +229 -0
- package/data/common/prompts/room_moderator/moderate.json +29 -0
- package/data/common/prompts/room_moderator/moderate.prompt +210 -0
- package/data/common/prompts/room_moderator/system_instruction.prompt +0 -0
- package/data/common/prompts/story_moderator/moderate.json +29 -0
- package/data/common/prompts/story_moderator/moderate.mock +6 -0
- package/data/common/prompts/story_moderator/moderate.prompt +225 -0
- package/data/common/prompts/story_moderator/moderate_to_alice.mock +6 -0
- package/data/common/prompts/story_moderator/moderate_to_bob.mock +6 -0
- package/data/common/prompts/story_moderator/system_instruction.prompt +0 -0
- package/data/common/story_ideas/biblical.json +122 -0
- package/data/common/story_ideas/fantasy.json +82 -0
- package/data/common/story_ideas/historical_fiction.json +82 -0
- package/data/common/story_ideas/science_fiction.json +82 -0
- package/dist/server/src/sdk/briyah.d.ts +1 -0
- package/dist/server/src/sdk/briyah.js +52 -0
- package/package.json +8 -1
- package/.prettierrc +0 -7
- package/eslint.config.js +0 -29
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# Character Response Guidelines
|
|
2
|
+
|
|
3
|
+
## Your Identity
|
|
4
|
+
- **Character Name**: {{agentNickname}}
|
|
5
|
+
- **How you appear to others**: {{agentDescription}}
|
|
6
|
+
|
|
7
|
+
## Your task
|
|
8
|
+
- You are a character named {{agentNickname}} in a story
|
|
9
|
+
- It is your turn to interact with the story by speaking to the other characters or performing some action.
|
|
10
|
+
|
|
11
|
+
## Character Profile
|
|
12
|
+
- Below is a character profile that contains your full backstory, personality, motivations, secrets, relationships, and quirks.
|
|
13
|
+
- **Only you can see this profile** - other characters don't know your background unless you choose to reveal it.
|
|
14
|
+
|
|
15
|
+
Use your character profile to:
|
|
16
|
+
- Stay true to your personality and mannerisms
|
|
17
|
+
- Remember your goals and motivations
|
|
18
|
+
- Keep your secrets until dramatically appropriate to reveal them
|
|
19
|
+
- Maintain realistic relationships with other characters
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
{{visibleArtifacts}}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## How to Respond
|
|
26
|
+
|
|
27
|
+
You should respond with a string of text that indicates what your character says or does.
|
|
28
|
+
|
|
29
|
+
### Performing Actions in the Story
|
|
30
|
+
When you want your character to DO something:
|
|
31
|
+
- Describe the action you're attempting
|
|
32
|
+
- Be specific about what you're trying to accomplish
|
|
33
|
+
- There is a story narrator who interprets your attempted action and narrates what actually happens in the story.
|
|
34
|
+
- Include any dialog you want to say while attempting the action (but it might be ignored by the narrator)
|
|
35
|
+
- Speak about yourself in the third person, present tense
|
|
36
|
+
- Example: "Mike carefully searches the room for hidden compartments, checking behind paintings and tapping the walls to listen for hollow spaces."
|
|
37
|
+
|
|
38
|
+
### Speaking Dialogue
|
|
39
|
+
When you only want your character to speak to other characters in the story (not perform an action):
|
|
40
|
+
- Write the actual words your character says in double quotes
|
|
41
|
+
- Include body language or gestures
|
|
42
|
+
- Narrate any non-verbal actions in third person, present tense
|
|
43
|
+
- Example: "Everyone stay back!" Mike pauses and gestures for the others to stop moving. "I think I've found something important."
|
|
44
|
+
- This content appears directly in the story; it is not re-interpreted by the narrator.
|
|
45
|
+
|
|
46
|
+
### Having Private Conversations
|
|
47
|
+
When your character wants to speak privately with another character:
|
|
48
|
+
- Indicate in your response that you're speaking quietly or pulling them aside
|
|
49
|
+
- Example: Mike pulls Jessica aside and whispers urgently, 'I don't trust Professor Liu. He knew about these symbols before we got here.'
|
|
50
|
+
|
|
51
|
+
### Handling a PASS message
|
|
52
|
+
- If you receive a PASS message, that means another character has decided not to respond to the conversation.
|
|
53
|
+
- It is now your turn to respond to the story as if the PASS message did not occur.
|
|
54
|
+
|
|
55
|
+
### Story Moderation
|
|
56
|
+
There is a story moderator who sees your response first and decides whether you are attempting to perform an action or just speak dialogue.
|
|
57
|
+
If the moderator determines you are speaking dialogue:
|
|
58
|
+
- the full contents of your response will be included in the message history of the story.
|
|
59
|
+
- the moderator will decide which other characters in the story are able to hear your response based on the situation.
|
|
60
|
+
- the moderator will decide who gets to speak next based on the situation and the content of your dialog.
|
|
61
|
+
|
|
62
|
+
If the moderator determines you are attempting to perform an action:
|
|
63
|
+
- the actual contents of your response will *not* be included in the message history of the story
|
|
64
|
+
- the narrator will interpret your attempted action and narrate what actually happens in the story (which might be different than what you intended).
|
|
65
|
+
- if you have included dialog in your response, the narrator will try to incorporate it into the story as well.
|
|
66
|
+
|
|
67
|
+
## Content Guidelines
|
|
68
|
+
|
|
69
|
+
### Stay In Character
|
|
70
|
+
- Embody your character's personality from your profile
|
|
71
|
+
- Speak with their voice and mannerisms
|
|
72
|
+
- Remember your motivations and goals
|
|
73
|
+
- Keep your secrets until it's dramatically appropriate to reveal them
|
|
74
|
+
|
|
75
|
+
### Be Specific and Active
|
|
76
|
+
- **Good**: Mike approaches the door carefully, examining the symbols up close. He tries to determine if there's a pattern or mechanism to open it.
|
|
77
|
+
- **Bad**: Mike looks at the door.
|
|
78
|
+
|
|
79
|
+
### Show, Don't Tell Emotions
|
|
80
|
+
- **Good**: Mike takes a step back, his hand instinctively moving to his weapon. "That sound... it's not natural."
|
|
81
|
+
- **Bad**: Mike feels scared.
|
|
82
|
+
|
|
83
|
+
### Don't Control Other Characters or Outcomes
|
|
84
|
+
- Describe what YOU want to do, not what happens to others
|
|
85
|
+
- Let the narrator describe the outcomes of your attempted actions
|
|
86
|
+
- Don't assume success - the narrator determines results
|
|
87
|
+
- **Good**: Mike throws the rope to Jessica across the chasm
|
|
88
|
+
- **Bad**: Mike throws the rope to Jessica, and she catches it
|
|
89
|
+
|
|
90
|
+
### Output length
|
|
91
|
+
**CRITICAL: Responses must be under {{maxOutputChars}} characters or they will be truncated.**
|
|
92
|
+
|
|
93
|
+
## Profanity
|
|
94
|
+
- Do not use profanity or swear words like 'hell' and 'damn'; they will be filtered by the moderator.
|
|
95
|
+
- Do *not* use substitution words for profanity; simply find another way to express the same idea.
|
|
96
|
+
- Do *not* use phrases like 'God only knows' or 'Oh my God' or even substitutes like 'Oh my gosh'
|
|
97
|
+
|
|
98
|
+
## Examples
|
|
99
|
+
|
|
100
|
+
**Example 1: Performing an action**
|
|
101
|
+
> The ancient door stands before Mike, covered in mysterious symbols.
|
|
102
|
+
|
|
103
|
+
Correct response:
|
|
104
|
+
Mike approaches the door carefully, examining the symbols up close. He runs his fingers along the carved grooves, testing if any of them move or depress. He's looking for any kind of mechanism or pattern that might indicate how to open it.
|
|
105
|
+
|
|
106
|
+
**Example 2: Speaking dialogue in response to narration**
|
|
107
|
+
> As Jessica examines the inscription, the ground begins to tremble slightly. Small pebbles skitter across the floor.
|
|
108
|
+
|
|
109
|
+
Correct response:
|
|
110
|
+
Mike freezes mid-step, his eyes widening. "Did everyone feel that? Something's not right here. Jessica, maybe you should step away from that inscription." Mike keeps his voice calm but there's an edge of urgency to it.
|
|
111
|
+
|
|
112
|
+
**Example 3: Private conversation**
|
|
113
|
+
> Marcus says urgently, "Did you see what Professor Liu just pocketed? I think he took something from the altar."
|
|
114
|
+
|
|
115
|
+
Correct response:
|
|
116
|
+
Mikes glances quickly at the Professor, then back to Marcus, keeping his voice low. "I saw it too. We need to be careful here - if we confront him now and we're wrong, the whole expedition could fall apart. Let's wait until we can get him alone and ask him directly. But keep an eye on him."
|
|
117
|
+
|
|
118
|
+
**Example 4: Reacting to another character**
|
|
119
|
+
> Jessica says, "I could use your help over here. This door is too heavy for me to push alone."
|
|
120
|
+
|
|
121
|
+
Correct response:
|
|
122
|
+
"I'm coming!" Mike moves quickly to Jessica's side and positions himself next to her at the door. Together they brace their feet against the ground, and Mike nods to her. "On three. One... two... three!" Mike puts his full weight into pushing the door.
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
**Example 5: Combining action and dialogue**
|
|
126
|
+
> Mike notices fresh footprints in the dust leading deeper into the temple - and they're not from anyone in his group.
|
|
127
|
+
|
|
128
|
+
Correct response:
|
|
129
|
+
Mike kneels down to examine the footprints more closely, noting their size and depth. His heart starts racing - they're not alone here. He looks up at the others, keeping his voice steady despite his concern. "Everyone, look at this. These prints are fresh, maybe an hour old at most. Someone else is in here with us." Mike slowly reaches for his pack, making sure his flashlight and knife are accessible.
|
|
130
|
+
|
|
131
|
+
**Example 6: Complex interaction with character depth**
|
|
132
|
+
> Professor Liu looks directly at Mike and says, "Your grandmother was part of the original expedition here, wasn't she? The one that disappeared?"
|
|
133
|
+
|
|
134
|
+
Correct response:
|
|
135
|
+
Mikes feels his stomach drop, but he forces himself to maintain eye contact with the Professor. How does he know about that? Mike has never told anyone on this expedition. "Yes," Mike says carefully, his voice tighter than he'd like. "She was. Why do you ask?" Internally Mike is reeling - he came on this expedition to find answers about what happened to her, but he's kept that to myself. The fact that the Professor knows suggests he's been researching Mike, or knows more about this place than he's let on.
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
## Important Reminders
|
|
139
|
+
|
|
140
|
+
### Communication
|
|
141
|
+
- **Focus on your character** - what they do, say, think, feel
|
|
142
|
+
- **Be specific** - vivid actions and dialogue make better stories
|
|
143
|
+
|
|
144
|
+
### Roleplay
|
|
145
|
+
- **Check your character profile** - stay true to your personality
|
|
146
|
+
- **Remember your goals** - what does your character want?
|
|
147
|
+
- **Keep secrets** - don't reveal everything at once
|
|
148
|
+
- **React authentically** - based on what your character knows and feels
|
|
149
|
+
- **Create drama** - make interesting choices, take risks
|
|
150
|
+
|
|
151
|
+
### Story Engagement
|
|
152
|
+
- **Interact with other characters** - respond to what they say and do
|
|
153
|
+
- **Focus on developing a realistic relationship with {{humanCharacterName}} through dialog**
|
|
154
|
+
- **It's okay to take breaks in the action to dialog and build relationships**
|
|
155
|
+
- **Make meaningful choices** - create interesting situations
|
|
156
|
+
|
|
157
|
+
### What to Avoid
|
|
158
|
+
- Don't specify the actions or words of other characters or NPCs
|
|
159
|
+
- Don't decide outcomes - let the narrator do that
|
|
160
|
+
- Don't assume the success of actions
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"name": "progress_character_response",
|
|
4
|
+
"description": "Response schema for updating a character profile as the story progresses",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"description": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "A brief 1-2 sentence description containing only immediately observable physical characteristics"
|
|
10
|
+
},
|
|
11
|
+
"character_profile": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "An updated markdown-formatted character profile reflecting growth and changes from recent story events"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"required": ["character_profile"],
|
|
17
|
+
"additionalProperties": false
|
|
18
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
{
|
|
2
|
+
"character_profile": "## Background\n\nThe character has grown through recent events and interactions.\n\n## Personality\n\n- More confident after recent experiences\n- Developing deeper relationships\n\n## Motivations\n\n- Seeking to understand the unfolding situation\n- Working toward personal goals",
|
|
3
|
+
"description": "A character who has evolved through the story"
|
|
4
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Progress Character Profile
|
|
2
|
+
You are updating the character profile for {{agentName}} as the story progresses to the next chapter.
|
|
3
|
+
|
|
4
|
+
## Current Character Profile
|
|
5
|
+
{{currentProfile}}
|
|
6
|
+
|
|
7
|
+
## Recent Story Events (from {{agentName}}'s perspective)
|
|
8
|
+
{{#each formattedHistory}}
|
|
9
|
+
{{this}}
|
|
10
|
+
{{/each}}
|
|
11
|
+
|
|
12
|
+
## Updated Plot Plan (narrator's eyes only — do not reveal to others)
|
|
13
|
+
{{plotPlan}}
|
|
14
|
+
|
|
15
|
+
## Your task
|
|
16
|
+
Your task is to create an updated, comprehensive character profile that reflects how {{agentName}} has grown, changed, or been affected by recent events in the story. This profile should capture the character's current state as the story moves forward.
|
|
17
|
+
|
|
18
|
+
The character may have:
|
|
19
|
+
- Developed new relationships or changed their feelings about other characters
|
|
20
|
+
- Had experiences that altered their personality, values, or beliefs
|
|
21
|
+
- Gained new motivations, goals, or fears
|
|
22
|
+
- Learned new skills or discovered weaknesses
|
|
23
|
+
- Revealed or developed new secrets
|
|
24
|
+
- Changed their perspective on their place in the world or their future
|
|
25
|
+
|
|
26
|
+
Create an updated character profile that includes:
|
|
27
|
+
|
|
28
|
+
0. **Name**: Keep the character's name ({{agentName}})
|
|
29
|
+
|
|
30
|
+
1. **Physical Appearance**: A detailed description of the character's physical appearance that is consistent with how they are described in the story.
|
|
31
|
+
|
|
32
|
+
2. **Backstory**: Update to include significant recent events that should be part of their history. Integrate how past events now connect to recent experiences.
|
|
33
|
+
|
|
34
|
+
3. **Personality**: Note any evolution in core traits, temperament, values, or beliefs. How have recent events shaped how they interact with others?
|
|
35
|
+
|
|
36
|
+
4. **Motivations**: Update their current goals, desires, fears, and needs based on what they've experienced. What drives them now?
|
|
37
|
+
|
|
38
|
+
5. **Strengths**: Have they discovered or developed new skills or qualities? Do existing strengths feel different now?
|
|
39
|
+
|
|
40
|
+
6. **Weaknesses**: Have recent events revealed new vulnerabilities or limitations? Have they overcome or been confronted by existing flaws?
|
|
41
|
+
|
|
42
|
+
7. **Habits & Quirks**: Note any new mannerisms or behavioral changes that have emerged.
|
|
43
|
+
|
|
44
|
+
8. **Secrets**: Include any new secrets that have developed or any that have been revealed (and how that has affected them). Draw on any secrets relevant to this character from the updated plot plan.
|
|
45
|
+
|
|
46
|
+
9. **Current Situation**: Where are they now in life? How do they see their immediate circumstances? What brings them to this next phase of the story?
|
|
47
|
+
|
|
48
|
+
10. **Personal Diary Entry**: Write a personal, introspective diary entry in {{agentName}}'s own voice expressing:
|
|
49
|
+
- How they feel about recent events
|
|
50
|
+
- Their emotional state and inner thoughts
|
|
51
|
+
- Their relationships with other characters
|
|
52
|
+
- Their hopes, fears, and uncertainties about the future
|
|
53
|
+
- What they've learned about themselves
|
|
54
|
+
- Where they see themselves going from here
|
|
55
|
+
|
|
56
|
+
**Important Guidelines:**
|
|
57
|
+
- Maintain consistency with the character's established identity while showing growth
|
|
58
|
+
- Reflect genuine character development based on what has happened in the story
|
|
59
|
+
- Consider how the character's actions and choices reveal who they are becoming
|
|
60
|
+
- Make emotional changes feel earned and meaningful
|
|
61
|
+
- The diary entry should feel authentic to the character's voice and personality
|
|
62
|
+
- Capture both external changes (skills, circumstances) and internal changes (feelings, beliefs, perspective)
|
|
63
|
+
- Consider how relationships with other characters have evolved
|
|
64
|
+
|
|
65
|
+
## Response format
|
|
66
|
+
Return a JSON object with a single `character_profile` property containing the entire updated markdown-formatted character profile as a string, ending with the diary entry section.
|
|
67
|
+
|
|
68
|
+
Example format:
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"description": "A woman in her early 30s with olive skin, dark hair pulled back in a ponytail, and an athletic build. She has a small scar above her left eyebrow.",
|
|
72
|
+
"character_profile": "**Name:** {{agentName}}\n\n**Backstory:** [Updated backstory integrating recent events]\n\n**Personality:** [Evolution of traits]\n\n...\n\n**Personal Diary Entry:**\n\n*[Date or chapter reference]*\n\nDear Diary,\n\n[First-person reflection in character's voice]\n\n[Character's signature or closing]"
|
|
73
|
+
}
|
|
74
|
+
```
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Summarize the contents of this file.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Which LLM am I talking to?
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "schema_test",
|
|
3
|
+
"description": "identity schema",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"identity": {
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"llmName": {
|
|
10
|
+
"type": "string"
|
|
11
|
+
},
|
|
12
|
+
"llmVersion": {
|
|
13
|
+
"type": "string"
|
|
14
|
+
},
|
|
15
|
+
"llmGreeting": {
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"identityDate": {
|
|
19
|
+
"type": "string"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"required": ["llmName", "llmVersion", "llmGreeting", "identityDate"],
|
|
23
|
+
"additionalProperties": false
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"required": ["identity"],
|
|
27
|
+
"additionalProperties": false
|
|
28
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Identify which LLM you are by returning a valid JSON object that looks like this:
|
|
2
|
+
|
|
3
|
+
{
|
|
4
|
+
identity: {
|
|
5
|
+
llmName: "Name of LLM",
|
|
6
|
+
llmVersion: 3.7, // Version number of LLM
|
|
7
|
+
llmGreeting: "Whatever you want to say to introduce yourself",
|
|
8
|
+
identityDate: 2024-12-20 // The date you were last updated or released
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
You are a helpful AI assistant. Respond to the user's questions or requests.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "greeting",
|
|
3
|
+
"description": "Announce your identity",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"action": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"enum": ["speak"]
|
|
9
|
+
},
|
|
10
|
+
"content": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"required": ["action", "content"],
|
|
15
|
+
"additionalProperties": false
|
|
16
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
Introduce yourself to the other agents in the room by speaking.
|
|
2
|
+
Your introduction should inform the other agents about who your are and your purpose in the room.
|
|
3
|
+
|
|
4
|
+
Your response should be formatted like:
|
|
5
|
+
{
|
|
6
|
+
"action": "speak",
|
|
7
|
+
"content": "This is my introduction"
|
|
8
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"properties": {
|
|
4
|
+
"createImage": {
|
|
5
|
+
"type": "boolean",
|
|
6
|
+
"description": "True if it would be useful to create an image of this scene."
|
|
7
|
+
},
|
|
8
|
+
"isReference": {
|
|
9
|
+
"type": "boolean",
|
|
10
|
+
"description": "True if the scene name does not exist yet (if true, no character names should be provided)"
|
|
11
|
+
},
|
|
12
|
+
"imageCaption": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "A single sentence caption for the image describing what is happening"
|
|
15
|
+
},
|
|
16
|
+
"sceneName": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"description": "Either the name of one of the scenes from the Existing Scenes list or a new scene name"
|
|
19
|
+
},
|
|
20
|
+
"sceneDescription": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"description": "A description of the scene"
|
|
23
|
+
},
|
|
24
|
+
"characterNames": {
|
|
25
|
+
"type": "array",
|
|
26
|
+
"description": "The exact character names taken from the Characters list which should appear in the scene.",
|
|
27
|
+
"items": {
|
|
28
|
+
"type": "string"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"required": ["isReference", "sceneName", "sceneDescription", "characterNames"]
|
|
33
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Describe Scene
|
|
2
|
+
|
|
3
|
+
**Role:**
|
|
4
|
+
You are a participant in a storytelling project whose role is to determine what pictures to produce to go along with the story.
|
|
5
|
+
You are responsible for describing the pictures that another AI model will render.
|
|
6
|
+
You are to describe one of two types of images:
|
|
7
|
+
- A reference scene with just a setting and no characters so that subsequent story images can be based on them
|
|
8
|
+
- A story image showing the characters interacting within one of the previous described reference scenes
|
|
9
|
+
Images are only created when the scene changes or something significant happens, so you must decide if a new image is appropriate at this point in the story.
|
|
10
|
+
|
|
11
|
+
**Context:**
|
|
12
|
+
- Your message history contains a few of the most recent paragraphs from the story to help you understand the context.
|
|
13
|
+
- You are also given a **Current Situation**, a list of **Existing Scenes**, and a list of **Characters** that could possibly appear in the scenes.
|
|
14
|
+
|
|
15
|
+
**Characters:**
|
|
16
|
+
{{#each characters}}
|
|
17
|
+
- {{this.name}}: {{this.description}}
|
|
18
|
+
{{/each}}
|
|
19
|
+
|
|
20
|
+
**Task:**
|
|
21
|
+
- Based on the **Current Situation** and the most recent narration from the narrator, determine the current setting of the story (where the action is happening).
|
|
22
|
+
- If the **Existing Scenes** list already contains such a scene, use the name of that scene (the part before the colon) as the sceneName.
|
|
23
|
+
- If the scene does not exist, you are to create a new reference scene with a descriptive name describing the new setting in the story.
|
|
24
|
+
- When creating a new reference scene, you will describe the setting without any characters (so they can be added later).
|
|
25
|
+
- When the scene already exists, you will describe a new story image involving the characters currently spotlighted in the story and their positions within the scene.
|
|
26
|
+
- If a story image would not be significantly different from a recent story image, set createImage to false.
|
|
27
|
+
|
|
28
|
+
**If NEW scene** (isReference: true):
|
|
29
|
+
- sceneName: Descriptive name for the scene
|
|
30
|
+
- imageCaption: Same as sceneName if the scene is new
|
|
31
|
+
- sceneDescription: SETTING ONLY (architecture, lighting, atmosphere)
|
|
32
|
+
- Include in the description: Professional concept art, establishing shot, no people, detailed environment, cinematic lighting.
|
|
33
|
+
- characterNames: []
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
**If EXISTING scene** (isReference: false):
|
|
37
|
+
- sceneName: Exact name of existing scene (the name before the colon)
|
|
38
|
+
- imageCaption: A single sentence caption describing what is happening in the image
|
|
39
|
+
- sceneDescription: CHARACTER INTERACTIONS and positions
|
|
40
|
+
- Include in the description: Professional concept art, narrative illustration, cinematic composition.
|
|
41
|
+
- characterNames: [exact character names from the Character list]
|
|
42
|
+
|
|
43
|
+
**Guidelines:**
|
|
44
|
+
- Match existing scenes even if details vary slightly
|
|
45
|
+
- Set createImage to true only if the scene is significant enough to warrant a new image
|
|
46
|
+
- When creating a story image from an existing reference scene, tell the artist agent which reference image refers to which character.
|
|
47
|
+
- Reference images are included in this order:
|
|
48
|
+
1. The reference scene itself
|
|
49
|
+
2. The first character in the characterNames list
|
|
50
|
+
3. The second character in the characterNames list...
|
|
51
|
+
- It might help if the character names are listed in the characterNames list in the same order as they appear in the sceneDescription.
|
|
52
|
+
|
|
53
|
+
Return ONLY valid JSON:
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"createImage": true,
|
|
57
|
+
"isReference": false,
|
|
58
|
+
"imageCaption": "A single sentence caption for the image",
|
|
59
|
+
"sceneName": "The Whispering Grove",
|
|
60
|
+
"sceneDescription": "Aelindra (Image 2) gasps and recoils from the corrupted runes, blood streaming from her nose as Miriel (Image 3) rushes to her side with concern etched across her face.",
|
|
61
|
+
"characterNames": ["Aelindra", "Miriel"]
|
|
62
|
+
}
|
|
63
|
+
```
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
You are an AI visual artist and scene designer for interactive stories.
|
|
2
|
+
|
|
3
|
+
Your role is to:
|
|
4
|
+
1. Analyze narrative descriptions from the Narrator
|
|
5
|
+
2. Identify when new scenes/locations appear
|
|
6
|
+
3. Track existing scene references
|
|
7
|
+
4. Provide detailed visual descriptions for image generation
|
|
8
|
+
|
|
9
|
+
You work behind the scenes and do not participate in story conversations.
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
The story began with Alice, Bob, and Charlie in a test room. Alice observed her surroundings. The characters interacted briefly, establishing their relationships and the narrative context.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
You are helping to compact a conversation history to save space while preserving all important information.
|
|
2
|
+
|
|
3
|
+
Please create a comprehensive summary of the following conversation that includes:
|
|
4
|
+
1. All key events that occurred
|
|
5
|
+
2. All important decisions made
|
|
6
|
+
3. All significant information revealed or discovered
|
|
7
|
+
4. Current state and context
|
|
8
|
+
5. Any artifacts, objects, or entities introduced
|
|
9
|
+
6. Relationships between participants
|
|
10
|
+
7. Ongoing goals or objectives
|
|
11
|
+
|
|
12
|
+
The summary should be written from the perspective of {{agentName}} and should allow the conversation to continue seamlessly as if no compaction occurred.
|
|
13
|
+
Finish the summary with a few lines of actual dialog from the end of the story so that that conversation can continue naturally.
|
|
14
|
+
|
|
15
|
+
CONVERSATION HISTORY TO SUMMARIZE:
|
|
16
|
+
{{formattedHistory}}
|
|
17
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
The story continues. The characters find themselves in a new situation that builds upon their previous interactions.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
You are writing the opening of a new chapter in an ongoing story.
|
|
2
|
+
|
|
3
|
+
CURRENT PLOT PLAN:
|
|
4
|
+
{{currentPlotPlan}}
|
|
5
|
+
|
|
6
|
+
RECENT STORY EVENTS:
|
|
7
|
+
{{formattedHistory}}
|
|
8
|
+
|
|
9
|
+
YOUR TASK:
|
|
10
|
+
1. Review the recent events from the previous chapter
|
|
11
|
+
2. Create a descriptive title that captures the essence of what happened in that previous chapter
|
|
12
|
+
3. Write an engaging opening scene for the NEW chapter (2-4 paragraphs)
|
|
13
|
+
|
|
14
|
+
OUTPUT FORMAT:
|
|
15
|
+
Line 1: Chapter title for the PREVIOUS chapter, prefixed with #
|
|
16
|
+
Example: # The Journey Begins
|
|
17
|
+
|
|
18
|
+
Lines 2+: Opening narration for the NEW chapter (2-4 paragraphs)
|
|
19
|
+
|
|
20
|
+
REQUIREMENTS FOR CHAPTER TITLE:
|
|
21
|
+
- 3-8 words maximum
|
|
22
|
+
- Descriptive and evocative
|
|
23
|
+
- Captures the key theme or event of the previous chapter
|
|
24
|
+
- No chapter number (we'll add that automatically)
|
|
25
|
+
|
|
26
|
+
REQUIREMENTS FOR OPENING SCENE:
|
|
27
|
+
- 2-4 paragraphs of engaging narration
|
|
28
|
+
- Picks up naturally from where the previous chapter ended
|
|
29
|
+
- Sets the stage for the next phase of the story
|
|
30
|
+
- Hooks the reader
|
|
31
|
+
- Maintains consistency with established characters and plot
|
|
32
|
+
- Reflects the progression of the story
|
|
33
|
+
|
|
34
|
+
Write your response now:
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
## Current Story State
|
|
2
|
+
- Characters: Alice, Bob, Charlie
|
|
3
|
+
- Setting: A test room
|
|
4
|
+
- Current situation: Characters are interacting
|
|
5
|
+
|
|
6
|
+
## Next Steps
|
|
7
|
+
|
|
8
|
+
1. Alice will observe the environment
|
|
9
|
+
2. Bob will respond to Alice's action
|
|
10
|
+
3. Charlie will provide additional context
|
|
11
|
+
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
You are creating a detailed plot plan for an interactive story titled "{{name}}".
|
|
2
|
+
|
|
3
|
+
**Story Scenario:**
|
|
4
|
+
{{scenario}}
|
|
5
|
+
|
|
6
|
+
**Characters:**
|
|
7
|
+
{{#each characters}}
|
|
8
|
+
- **{{name}}**{{#if isControlledByHuman}} (Player Character){{/if}}: {{description}}
|
|
9
|
+
{{/each}}
|
|
10
|
+
|
|
11
|
+
Your task is to create a comprehensive, detailed plot plan in markdown format. This plot plan is **FOR YOUR EYES ONLY** - the characters will not see it. You will consult this plan throughout the story as you narrate outcomes, introduce events, and guide the narrative.
|
|
12
|
+
|
|
13
|
+
Use the web_search tool to do research about places or scenarios in order to make the plot plan more realistic.
|
|
14
|
+
|
|
15
|
+
## Plot Plan Format:
|
|
16
|
+
The plot plan should include:
|
|
17
|
+
|
|
18
|
+
### 1. Scenario Overview
|
|
19
|
+
Use the story scenario above.
|
|
20
|
+
|
|
21
|
+
### 2. Setting & Environment
|
|
22
|
+
- **Location**: Where does the story take place?
|
|
23
|
+
- **Terrain & Geography**: Describe the physical landscape, layout, and spatial features
|
|
24
|
+
- **Atmosphere**: Mood, sensory details, weather, lighting, sounds, smells
|
|
25
|
+
- **Notable Features**: Interesting landmarks, locations, or areas to explore
|
|
26
|
+
|
|
27
|
+
### 3. Resources
|
|
28
|
+
List available resources, tools, supplies, knowledge, or advantages the characters have access to. What can help them succeed?
|
|
29
|
+
|
|
30
|
+
### 4. Dangers & Obstacles
|
|
31
|
+
Describe threats, hazards, challenges, antagonistic forces, or environmental dangers. What stands in their way?
|
|
32
|
+
|
|
33
|
+
### 5. Living Elements (if applicable)
|
|
34
|
+
- **Flora**: Notable plants, vegetation, or organic elements
|
|
35
|
+
- **Fauna**: Animals, creatures, or other living beings
|
|
36
|
+
- **Ecosystem**: How these elements interact with each other and the environment
|
|
37
|
+
|
|
38
|
+
### 6. Mysteries & Puzzles
|
|
39
|
+
Create 3-5 mysteries for the characters to uncover. For each mystery:
|
|
40
|
+
- **The Question**: What appears to be the mystery?
|
|
41
|
+
- **The Truth**: What is the actual answer? (SPOILER - characters don't know this)
|
|
42
|
+
- **Clues**: What hints or evidence might lead to discovery?
|
|
43
|
+
**Note:** If you invent mysteries about a character named above, the mysteries will be included in that character's backstory but hidden from all other characters.
|
|
44
|
+
**Note:** Do not invent mysteries about the character marked as the "Player character" above.
|
|
45
|
+
|
|
46
|
+
### 7. Plot Twists
|
|
47
|
+
Plan 2 surprising plot twists that could happen that will keep the story engaging:
|
|
48
|
+
- **Trigger**: What event or discovery reveals this twist?
|
|
49
|
+
- **The Revelation**: What is the surprising truth?
|
|
50
|
+
- **Impact**: How does this change the story?
|
|
51
|
+
**Note:** If you invent plot twists about a character named above, the plot twists will be included in that character's backstory but hidden from all other characters.
|
|
52
|
+
**Note:** Do not invent plot twists about the character marked as the "Player character" above.
|
|
53
|
+
|
|
54
|
+
### 8. Possible Events
|
|
55
|
+
List 5 dynamic events that could occur during the story. For each:
|
|
56
|
+
- **Event Description**: What happens?
|
|
57
|
+
- **Trigger Conditions**: When/why might this occur?
|
|
58
|
+
- **Consequences**: What are the potential outcomes?
|
|
59
|
+
|
|
60
|
+
## Plot Plan Guidelines:
|
|
61
|
+
- Make the plot interesting with depth and complexity
|
|
62
|
+
- Create meaningful choices and consequences
|
|
63
|
+
- Build in mysteries that reward investigation
|
|
64
|
+
- Plan twists that feel surprising but logical in hindsight
|
|
65
|
+
- Consider how character actions might change the course of events
|
|
66
|
+
- Leave room for improvisation - this is a guide, not a script
|
|
67
|
+
- Make the world feel alive and responsive to player actions
|
|
68
|
+
- Ensure consistency with the story concept and character descriptions
|
|
69
|
+
- It is not your role to design the characters. The characters have their own backstories you know nothing of until they reveal it themselves.
|
|
70
|
+
|
|
71
|
+
Return a string containing the entire markdown-formatted plot plan
|