❓ Help

How StoryWeaver works

StoryWeaver is a flat-file fantasy storytelling app. Stories can be played in a mobile-friendly choose-your-own-adventure flow, continued AI-dungeon-style by typing custom actions, written fully by hand, or built from any mix of those approaches.

πŸš€ Getting started

Create an account, begin a story, and choose how much AI help you want.

πŸ“š Story flow

Understand roots, pages, choices, privacy, continuations, and custom actions.

✨ AI tools

Learn prompt preview, Story Guidelines, regeneration, and images.

πŸ”‘ Settings & keys

Configure providers, models, fallbacks, and personal settings.

πŸ›‘οΈ Moderation

See how concerns, quarantine, approval, and roles work.

🎨 Themes

Apply site themes and story-specific themes for different moods.

🧰 Advanced help

Expand setup instructions for self-hosting the open-source app.

πŸš€ Getting started

Guests can read stories, follow branches, and use shared AI keys. Logged-in contributors can also edit their own pages and manage their own API keys.

Use πŸ“š Stories to return to the main list. Use ❓ Help any time you need a refresher on features or roles.

To begin, click Begin New Story. You can start manually, provide an optional Story Opening, add optional Story Guidelines, choose separate text and image AI models, mark a logged-in story private, and opt into automatic pictures when image generation is available.

On the story list, use the sort controls beside Stories to reorder cards by creation date, update date, title, author, or page count, with ascending or descending order.

Admins can also post a rich-text homepage News and Announcements panel above the story list for site news, events, or maintenance notes. The Archive button moves the current post into Past Announcements, clears the homepage post, and keeps the archive available to visitors from the News header.

πŸ“š Story flow

Each story starts with a root page. Every later page belongs to the same story and records the choice that led there.

✨ AI tools

Story Opening is optional user-written text that becomes the first part of the root page. Story Guidelines are story-wide notes stored on the first page and carried forward into future AI continuation prompts so tone, premise, and constraints remain consistent.

πŸ”‘ Settings & AI controls

Open βš™οΈ Settings to manage AI providers, prompt/schema controls, and your account.

Registered users are encouraged to bring their own AI API key. Keep it scoped to Self for private use, or switch it to All if you want to support the site by sharing it with everyone.

πŸ›‘οΈ Moderation, concerns, and quarantine

Any reader can flag a page for concern. Editors and admins can review those flags, move content to quarantine, restore it, or delete it.

🎨 Themes and visual style

StoryWeaver ships with multiple built-in themes. Admins can change the site-wide theme from the Admin dashboard, and story owners can set a per-story theme from the root page.

The active site theme affects application chrome and standard story styling. A per-story theme only changes that story’s pages.

πŸ‘₯ Roles

Advanced: install and self-host the open-source app

StoryWeaver runs as a flat-file PHP app. You do not need a database, build pipeline, or package manager.

  1. Clone the repository or upload the files to an Apache web host.
  2. Serve the storyweaver/ directory from a document root or subdirectory.
  3. Enable mod_rewrite and allow .htaccess overrides so private folders stay protected and extensionless URLs work.
  4. Make the storyweaver/ tree writable so the app can create users, stories, keys, and generated images.
  5. Visit the site and complete the first-run setup to create the initial admin account.
git clone https://github.com/ehewlett3/StoryWeaver.online.git cd StoryWeaver.online # serve the storyweaver/ directory with Apache/XAMPP, not php -S

Enable Apache rewrite support and AllowOverride All. PHP's built-in server is not recommended because it does not honor the private-directory .htaccess protections or extensionless routing used in production.