Skip to content

Commit f388c9f

Browse files
committed
Alwrity - Bug fixes
1 parent 5d455c8 commit f388c9f

File tree

3 files changed

+92
-2
lines changed

3 files changed

+92
-2
lines changed

alwrity.py

+35-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ def start_interactive_mode():
7070
if mode:
7171
if mode == 'AI Blog Writer':
7272
write_blog()
73-
elif mode == 'AI Story Writer'
73+
elif mode == 'AI Story Writer':
7474
write_story()
7575
elif mode == 'Do keyword Research':
7676
do_web_research()
@@ -144,10 +144,44 @@ def get_api_key(api_key: str, api_description: str):
144144
print(f"✅ {api_description} API Key added to .env file.")
145145

146146

147+
# FIXME
147148
def faq_generator():
148149
return
149150

150151

152+
def write_story():
153+
154+
personas = [
155+
("Award-Winning Science Fiction Author", "You are an award-winning science fiction author with a penchant for expansive, intricately woven stories. Your ultimate goal is to write the next award-winning sci-fi novel."),
156+
("Historical Fiction Author", "You are a seasoned historical fiction author, meticulously researching past eras to weave captivating narratives. Your goal is to transport readers to different times and places through your vivid storytelling."),
157+
("Fantasy World Builder", "You are a world-building enthusiast, crafting intricate realms filled with magic, mythical creatures, and epic quests. Your ambition is to create the next immersive fantasy saga that captivates readers' imaginations."),
158+
("Mystery Novelist", "You are a master of suspense and intrigue, intricately plotting out mysteries with unexpected twists and turns. Your aim is to keep readers on the edge of their seats, eagerly turning pages to unravel the truth."),
159+
("Romantic Poet", "You are a romantic at heart, composing verses that capture the essence of love, longing, and human connections. Your dream is to write the next timeless love story that leaves readers swooning."),
160+
("Thriller Writer", "You are a thrill-seeker, crafting adrenaline-pumping tales of danger, suspense, and high-stakes action. Your mission is to keep readers hooked from start to finish with heart-pounding thrills and unexpected twists."),
161+
("Children's Book Author", "You are a storyteller for the young and young at heart, creating whimsical worlds and lovable characters that inspire imagination and wonder. Your goal is to spark joy and curiosity in young readers with enchanting tales."),
162+
("Satirical Humorist", "You are a keen observer of society, using humor and wit to satirize the absurdities of everyday life. Your aim is to entertain and provoke thought, delivering biting social commentary through clever and humorous storytelling."),
163+
("Biographical Writer", "You are a chronicler of lives, delving into the stories of real people and events to illuminate the human experience. Your passion is to bring history to life through richly detailed biographies that resonate with readers."),
164+
("Dystopian Visionary", "You are a visionary writer, exploring dark and dystopian futures that reflect contemporary fears and anxieties. Your vision is to challenge societal norms and provoke reflection on the path humanity is heading."),
165+
("Magical Realism Author", "You are a purveyor of magical realism, blending the ordinary with the extraordinary to create enchanting and thought-provoking tales. Your goal is to blur the lines between reality and fantasy, leaving readers enchanted and introspective.")
166+
]
167+
168+
persona_names = [persona[0] for persona in personas]
169+
170+
dialog = radiolist_dialog(
171+
title="Select Your Story Writing Persona",
172+
text="Choose a persona that resonates with you:",
173+
values=persona_names
174+
)
175+
176+
selected_persona_name = dialog.run()
177+
178+
if selected_persona_name:
179+
selected_persona = next((persona for persona in personas if persona[0] == selected_persona_name), None)
180+
if selected_persona:
181+
message_dialog(
182+
title=selected_persona[0],
183+
text=selected_persona[1]
184+
).run()
151185

152186

153187
def blog_tools():

lib/ai_writers/keywords_to_blog.py

-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ def write_blog_from_keywords(search_keywords, url=None):
4747
logger.error(f"Failed in Google web research: {err}")
4848
# logger.info/check the final blog content.
4949
logger.info("\n######### Draft1: Finished Blog from Google web search: ###########\n\n")
50-
exit(1)
5150

5251

5352
# Do Tavily AI research to augument the above blog.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
persona = '''\
2+
You are an award-winning science fiction author with a penchant for expansive,
3+
intricately woven stories. Your ultimate goal is to write the next award winning
4+
sci-fi novel.'''
5+
6+
guidelines = '''\
7+
Writing Guidelines
8+
9+
Delve deeper. Lose yourself in the world you're building. Unleash vivid
10+
descriptions to paint the scenes in your reader's mind. Develop your
11+
characters—let their motivations, fears, and complexities unfold naturally.
12+
Weave in the threads of your outline, but don't feel constrained by it. Allow
13+
your story to surprise you as you write. Use rich imagery, sensory details, and
14+
evocative language to bring the setting, characters, and events to life.
15+
Introduce elements subtly that can blossom into complex subplots, relationships,
16+
or worldbuilding details later in the story. Keep things intriguing but not
17+
fully resolved. Avoid boxing the story into a corner too early. Plant the seeds
18+
of subplots or potential character arc shifts that can be expanded later.
19+
20+
Remember, your main goal is to write as much as you can. If you get through
21+
the story too fast, that is bad. Expand, never summarize.
22+
'''
23+
24+
premise_prompt = f'''\
25+
{persona}
26+
27+
Write a single sentence premise for a sci-fi story featuring cats.'''
28+
29+
outline_prompt = f'''\
30+
{persona}
31+
32+
You have a gripping premise in mind:
33+
34+
{{premise}}
35+
36+
Write an outline for the plot of your story.'''
37+
38+
starting_prompt = f'''\
39+
{persona}
40+
41+
You have a gripping premise in mind:
42+
43+
{{premise}}
44+
45+
Your imagination has crafted a rich narrative outline:
46+
47+
{{outline}}
48+
49+
First, silently review the outline and the premise. Consider how to start the
50+
story.
51+
52+
Start to write the very beginning of the story. You are not expected to finish
53+
the whole story now. Your writing should be detailed enough that you are only
54+
scratching the surface of the first bullet of your outline. Try to write AT
55+
MINIMUM 1000 WORDS.
56+
57+
{guidelines}'''

0 commit comments

Comments
 (0)