keligrubb 1059eced53
Some checks failed
ci/woodpecker/cron/ci Pipeline failed
fix ollama model env var mismatch
2026-01-08 20:57:35 -05:00
2025-12-11 23:13:07 -05:00
2025-12-11 23:13:07 -05:00
2025-12-11 23:13:07 -05:00
2025-08-29 22:56:40 -04:00
2025-12-11 23:13:07 -05:00
2025-12-11 23:13:07 -05:00
2026-01-08 20:57:35 -05:00
2025-12-11 23:13:07 -05:00
2025-09-05 16:48:35 -04:00
2025-12-11 23:13:07 -05:00

Scrollsmith

status-badge

Scrollsmith is a Node.js tool for generating Dungeons & Dragons one-page dungeon PDFs automatically. It uses an Ollama LLM server to create dungeon content, proofreads and refines it, then formats it into a structured PDF with maps, rooms, encounters, treasure, and NPCs.


Features

  • Three-pass dungeon generation:
    1. Draft: initial dungeon ideas
    2. Refine: proofread, add flavor, fill in vague details
    3. JSON conversion: output strictly valid JSON for PDF generation
  • Automatically generates a PDF named after the dungeon title
  • PDF layout includes three columns: map & hooks, rooms, encounters & treasure & NPCs
  • Easy to integrate with a local Ollama server

Requirements

  • Node.js 22+
  • Ollama server running and accessible
  • Gitea Releases (optional) for PDF uploads
  • .env file with:
OLLAMA_API_URL=http://localhost:3000/api/chat/completions
OLLAMA_API_KEY=your_api_key_here
COMFYUI_URL=http://192.168.1.124:8188

Installation

git clone https://github.com/yourusername/scrollsmith.git
cd scrollsmith
npm install

API Configuration

The client automatically infers the API type from the endpoint URL, making it flexible for different deployment scenarios.

Direct Ollama API

For direct Ollama API calls, set:

OLLAMA_API_URL=http://localhost:11434/api/generate

Open WebUI API

For Open WebUI API calls, set:

OLLAMA_API_URL=http://localhost:3000/api/chat/completions
OLLAMA_API_KEY=your_open_webui_api_key

Note: The API type is automatically inferred from the endpoint URL. If the URL contains /api/chat/completions, it uses Open WebUI API. If it contains /api/generate, it uses direct Ollama API. No OLLAMA_API_TYPE environment variable is required.


Usage

  1. Make sure your Ollama server is running and .env is configured.
  2. Run:
npm start
  1. A PDF will be generated automatically. The filename matches the dungeon title.

Optional: update the map path in index.js if you have a local dungeon map.


Example Output

  • the-tomb-of-shadows.pdf

  • Three-column layout:

    • Column 1: Map, Adventure Hooks, Rumors
    • Column 2: Rooms
    • Column 3: Encounters, Treasure, NPCs

Notes

  • Make sure your Ollama server is accessible and API key is valid.
  • Dungeon generation can take a few minutes depending on your LLM response time.

License

PROPRIETARY

Description
No description provided
Readme 348 KiB
2025-12-09 Latest
2025-12-09 10:01:55 +00:00
Languages
JavaScript 100%