راهنمای شروع سریع

راهنمای کامل از نسخه 1.0.0 تا 2.2.2 — قدم به قدم داستان بسازید

خط زمانی نسخه‌ها: v1.0.0 (هسته) → v2.0.0 (هوش مصنوعی) → v2.1.0 (حافظه) → v2.2.0 (خروجی) → v2.2.1 (قالب) → v2.2.2 (خط فرمان)

نسخه 1.0.0 - ویژگی‌های هسته

مرحله 1: نصب

bash
git clone https://github.com/miladrezanezhad/story-toolkit.git
cd story-toolkit
pip install -r requirements.txt

# یا نصب مستقیم
pip install -e .

مرحله 2: ساخت اولین داستان

python
from story_toolkit import StoryToolkit

toolkit = StoryToolkit()
story = toolkit.create_story(genre="fantasy", theme="courage")

print(story["metadata"]["genre"])   # "fantasy"
print(story["metadata"]["theme"])   # "courage"

مرحله 3: افزودن شخصیت‌ها

python
hero = toolkit.add_character_to_story(story, "کای", "protagonist")
hero.add_trait("brave")
hero.add_trait("determined")
hero.add_goal("Save the kingdom")
hero.add_skill("sword_mastery")

villain = toolkit.add_character_to_story(story, "اهریمن", "antagonist")
villain.add_trait("cunning")
villain.add_goal("Conquer the realm")

hero.add_relationship("اهریمن", "enemy", strength=9)

print(f"قهرمان: {hero.name}")
print(f"شرور: {villain.name}")

مرحله 4: تولید دیالوگ

python
dialogue = toolkit.dialogue_gen.generate_dialogue(
    "کای", "اهریمن",
    context="conflict",
    mood="tense"
)

for line in dialogue:
    print(line)
خروجی:
کای: نمی‌تونم باور کنم این کار رو کردی!
اهریمن: چاره‌ای برام نذاشتی.
کای: همیشه یه راه هست. تو فقط اشتباه انتخاب کردی.

مرحله 6: بررسی انسجام

python
report = toolkit.check_story_coherence(story)
print(f"امتیاز انسجام: {report['overall_score']:.0%}")
خروجی:
امتیاز انسجام: 100%
نسخه 1.0.0 کامل شد! شما یک داستان با شخصیت‌ها، دیالوگ و بررسی انسجام ساختید!

نسخه 2.0.0 - لایه هوش مصنوعی (LLM)

نصب با پشتیبانی هوش مصنوعی

bash
pip install story-toolkit[openai]      # پشتیبانی از OpenAI
pip install story-toolkit[anthropic]   # پشتیبانی از Anthropic
pip install story-toolkit[local]       # مدل محلی (Ollama)
pip install story-toolkit[all]         # همه پشتیبان‌ها

پشتیبان Mock (تست - بدون کلید API)

python
from story_toolkit.llm import LLMFactory, LLMProvider

llm = LLMFactory.create_backend(provider=LLMProvider.MOCK)
toolkit = StoryToolkit(llm_backend=llm)

status = toolkit.get_llm_status()
print(status)

دیالوگ پیشرفته با سبک‌های مختلف

python
styles = ["natural", "dramatic", "poetic", "humorous"]

for style in styles:
    dialogue = toolkit.dialogue_gen.generate_dialogue(
        "شوالیه", "اژدها",
        context="final_battle",
        use_advanced=True,
        style=style,
        num_lines=4
    )
    print(f"\n--- {style.upper()} ---")
    for line in dialogue:
        print(line)
نسخه 2.0.0 کامل شد! می‌توانید دیالوگ‌های پیشرفته با هوش مصنوعی تولید کنید!

نسخه 2.1.0 - لایه حافظه (SQLite)

فعال‌سازی حافظه SQLite

python
toolkit = StoryToolkit(memory_backend="sqlite", db_path="stories.db")

story = toolkit.create_story(
    genre="fantasy",
    theme="courage",
    name="داستان حماسی من",
    save_to_memory=True
)

افزودن رویداد به تایم‌لاین

python
toolkit.add_event(1, "قهرمان نقشه باستانی را پیدا می‌کند", "plot", 9)
toolkit.add_event(2, "شرور به روستا حمله می‌کند", "conflict", 10)
toolkit.add_event(3, "قهرمان با مرشد ملاقات می‌کند", "character_development", 7)

timeline = toolkit.get_timeline()
for event in timeline:
    stars = "⭐" * event.importance + "☆" * (10 - event.importance)
    print(f"فصل {event.chapter} [{stars}] {event.description}")
خروجی:
فصل 1 [⭐⭐⭐⭐⭐⭐⭐⭐⭐☆] قهرمان نقشه باستانی را پیدا می‌کند
فصل 2 [⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐] شرور به روستا حمله می‌کند
فصل 3 [⭐⭐⭐⭐⭐⭐⭐☆☆☆] قهرمان با مرشد ملاقات می‌کند
نسخه 2.1.0 کامل شد! داستان‌های شما در پایگاه داده SQLite ذخیره می‌شوند!

نسخه 2.2.0 - خروجی‌های چندفرمتی

نصب وابستگی‌های خروجی

bash
pip install story-toolkit[export]
# یا جداگانه:
pip install reportlab   # خروجی PDF
pip install ebooklib    # خروجی EPUB

خروجی PDF (۳ سبک)

python
from story_toolkit.exporters import PDFExporter, ExportConfig, PDFStyle

config = ExportConfig(title="افسانه کریستال", author="کای", pdf_style=PDFStyle.PRINT)
exporter = PDFExporter(config)
exporter.export(story, "story_print.pdf")

خروجی HTML (۴ قالب)

python
from story_toolkit.exporters import HTMLExporter, HTMLTemplate

config = ExportConfig(title="داستان من", author="من", html_template=HTMLTemplate.MODERN)
exporter = HTMLExporter(config)
exporter.export(story, "story.html")
نسخه 2.2.0 کامل شد! داستان‌های خود را به PDF، EPUB، HTML خروجی بگیرید!

نسخه 2.2.1 - قالب‌های آماده داستان

قالب‌های موجود

python
templates = toolkit.list_templates()
for t in templates:
    print(f"📋 {t['name']}: {t['stage_count']} مرحله - {t['genre']}")
خروجی:
📋 hero_journey: 12 مرحله - fantasy, adventure
📋 three_act: 3 مرحله - general
📋 mystery_clues: 5 مرحله - mystery
📋 romance_beat: 15 مرحله - romance
📋 horror_cycle: 6 مرحله - horror

سفر قهرمان (۱۲ مرحله)

python
story = toolkit.use_template("hero_journey", genre="fantasy", theme="redemption")

for i, stage in enumerate(story['plot']['main_plot'], 1):
    print(f"{i}. {stage['name']}")
خروجی:
1. جهان عادی
2. فراخوانی ماجراجویی
3. امتناع از فراخوانی
4. ملاقات با مرشد
5. عبور از آستانه
6. آزمون‌ها، متحدان و دشمنان
7. نزدیک شدن به غار درونی
8. مصیبت بزرگ
9. پاداش
10. راه بازگشت
11. رستاخیز
12. بازگشت با اکسیر
نسخه 2.2.1 کامل شد! با ۵ قالب آماده فوری نوشتن را شروع کنید!

نسخه 2.2.2 - ابزار خط فرمان (CLI)

دستورات پایه

bash
# ایجاد داستان جدید
story-toolkit story new --genre fantasy --theme courage

# ذخیره داستان در فایل JSON
story-toolkit story new --genre fantasy --theme courage --output my_story.json

# لیست قالب‌های آماده
story-toolkit template list

# استفاده از قالب
story-toolkit template use hero_journey

# استفاده از قالب با تم سفارشی
story-toolkit template use three_act --theme redemption
نسخه 2.2.2 کامل شد! بدون نوشتن کد پایتون از خط فرمان داستان بسازید!

مثال یکپارچه (همه نسخه‌ها)

python
from story_toolkit import StoryToolkit
from story_toolkit.llm import LLMFactory, LLMProvider
from story_toolkit.exporters import PDFExporter, ExportConfig, PDFStyle

# 1. ایجاد toolkit با هوش مصنوعی و حافظه (v2.0.0 + v2.1.0)
llm = LLMFactory.create_backend(provider=LLMProvider.MOCK)
toolkit = StoryToolkit(llm_backend=llm, memory_backend="sqlite", db_path="my_stories.db")

# 2. ایجاد داستان با قالب (v2.2.1)
story = toolkit.use_template("hero_journey", genre="fantasy", theme="redemption")

# 3. افزودن شخصیت‌ها (v1.0.0)
hero = toolkit.add_character_to_story(story, "کای", "protagonist")
hero.add_trait("brave")
hero.add_goal("Save the kingdom")

villain = toolkit.add_character_to_story(story, "اهریمن", "antagonist")

# 4. تولید دیالوگ پیشرفته (v2.0.0)
dialogue = toolkit.dialogue_gen.generate_dialogue(
    "کای", "اهریمن",
    context="final_battle",
    use_advanced=True,
    style="dramatic",
    num_lines=6
)

# 5. افزودن به تایم‌لاین (v2.1.0)
toolkit.add_event(1, "قهرمان نقشه را پیدا می‌کند", "plot", 9)
toolkit.add_event(2, "شرور به روستا حمله می‌کند", "conflict", 10)

# 6. بررسی انسجام (v1.0.0)
report = toolkit.check_story_coherence(story)
print(f"امتیاز انسجام: {report['overall_score']:.0%}")

# 7. خروجی PDF (v2.2.0)
config = ExportConfig(title="افسانه کریستال", author="کای", pdf_style=PDFStyle.PRINT)
exporter = PDFExporter(config)
exporter.export(story, "crystal_saga.pdf")

toolkit.close_memory()
print("\n✅ داستان کامل با همه ویژگی‌ها ساخته شد!")
خروجی:
امتیاز انسجام: 100%

✅ داستان کامل با همه ویژگی‌ها ساخته شد!

📖 گام‌های بعدی

ارتقا آسان - بدون تغییر در کدهای قبلی!
تمام کدهای نوشته شده برای نسخه 1 در نسخه 2.2.2 بدون هیچ تغییری کار می‌کنند.
pip install --upgrade story-toolkit
خلاصه نسخه‌ها:
• v1.0.0: ویژگی‌های هسته (شخصیت، پیرنگ، جهان، دیالوگ، انسجام)
• v2.0.0: لایه هوش مصنوعی (دیالوگ با AI)
• v2.1.0: لایه حافظه (پایگاه داده SQLite)
• v2.2.0: خروجی‌ها (PDF، EPUB، HTML، بایونیک)
• v2.2.1: قالب‌های آماده (۵ ساختار)
• v2.2.2: ابزار خط فرمان (CLI)