GlyphKeeper emblem and adventurers entering a glowing purple cavern — Your story. Our quest.

Hosted Discord co-pilot for human DMs

The campaign memory that stays true.

Always-on continuity for characters, places, events, and summaries—grounded in what actually happened at your table. Invite the official bot, open the dashboard, and keep the human DM sovereign. GlyphKeeper never invents campaign canon.

The problem

Long campaigns deserve better than scattershot notes

Experienced DMs on Discord know the pain: the story is rich, the table is invested—and continuity lives in twelve places, none of them trustworthy.

Forgotten NPCs

Names, motives, and half-finished favors vanish between sessions. The table notices before your notes do.

Lost plot threads

Open questions scatter across chat history, voice notes, and “we’ll get back to that.” Months later, nobody owns the thread.

Inconsistent notes

External docs drift from what Discord already said. Two truths appear—and neither is sealed.

Bookkeeping killjoy

Post-session write-ups steal the high of a great night. Momentum dies in a blank document.

Your campaign already has a truth. GlyphKeeper keeps it sealed—and available at the table.

How GlyphKeeper works

From account to grounded summary

A clear loop for live play: join the waitlist, sign in with Discord, invite the official bot, bind the campaign, and keep memory under your control—no infra to run. Public self-serve checkout is not open yet.

  1. Sign in with Discord

    No password store. Hosted access is waitlist-first while we stay on private staging. One account can own multiple campaigns across multiple servers when the paid path opens.

  2. Invite the official GlyphKeeper bot

    Add the always-on multi-tenant bot to your Discord server(s). You never create a Discord application or host a process yourself.

  3. Bind a campaign & start a session

    Create and bind a campaign to a channel (one campaign per channel), then open play mode when the table sits down. Co-pilot turns and durable extraction stay tied to the active session.

    /campaign create /session start
  4. Ask grounded questions; capture durable events

    Use /ask query for grounded recall of established canon, citing authoritative records with zero invention. Key moments extract as candidate proposals for DM review.

  5. Inspect & edit in Discord or the web

    Timeline, manual event logging, note imports, recording transcriptions, and entity relationships share one source of truth across Discord and the web dashboard.

  6. End session → trusted summaries & export

    Session and campaign summaries regenerate from stored truth only. Export JSON (schema v1.0.0) and Markdown from the same snapshot at any time.

    /session end

Comprehensive co-pilot suite

Engineered for the table that already exists

Deep continuity without the bookkeeping burden—and without handing your world to a chatbot that invents silent canon.

Grounded memory & semantic recall

Authoritative PostgreSQL records and campaign-scoped pgvector semantic search. Answers cite stored truth and provenance receipts—never a generic model's imagination.

Session 0 & DM Planning Cockpit

Capture campaign tone, PC sheets with DM-only secrets labeled, and character bonds/ideals/flaws. The pre-session web planning workspace weaves player backstories and active threads into future session seeds.

Generative Co-Pilot Toolkit (25 Sparks)

25 live /improv generator kinds: NPCs, villains, shops, taverns, job boards, house rules, backstories, rumors, clues, sidequests, complications, monsters, sites, rooms, traps, puzzles, and afflictions.

Living Scenes, Economy & Antagonists

Table-backed shopkeepers with stock, taverns with secret plot hooks, town job boards, party/character purse tracking (/campaign funds), /campaign buy with DM confirm, and structured villain packages.

Secrets, Intrigue & Bastions

High-stakes private player secrets delivered via DM-gated bot DM, portable Lazy-DM clue banks, living deity builders, faction attitude tracking, and /campaign downtime & bastion sparks.

Magic Item Studio & Harvesting

Magic item creation with campaign-grounded costs, component harvesting via /campaign item harvest promoting directly to inventory, and spell draft suggestions.

Adaptive Planning & Web Workspace

Conversational web session planner (loose plans with contingency tags, never rigid scripts) + live Discord /plan open & /plan adapt hops to pivot when players go left.

Session Audio Capture & Candidate Inbox

Upload a session recording on the web. Transcription feeds a candidate inbox. It is evidence, never silent canon. The DM confirms. GlyphKeeper does not join Discord voice.

Live Session HUD & DM Screen

Real-time web live HUD workspace (NOW / PULL / RECENT) providing the DM with instant 5-second situational awareness for who is present, what they want, and active threads.

Current-generation recall

Semantic readers use the current eligible embedding generation. Wrong / Not Canon immediately drop stale vectors. Pin, archive-season, and object-storage compaction are not in this release.

Absent Player & Agency Protection

Opt-in, consent-required /absent lifecycle for missing players. Bot-mediated actions are tagged and reviewable; player agency and sovereign DM judgment remain inviolable.

Co-DM Governance & Dual-Format Export

Owner-managed Co-DM allowlist. One-step trust corrections on the web (Wrong / Not Canon) and Owner /ask forget, restore, purge, and rewind. Dual JSON (schema v1.0.0) and Markdown export from the same snapshot.

Live Discord experience

Contextual co-pilot surface that stays out of your way

No command-line fatigue on Saturday night. Eight slash names, hops instead of a ninth command, and draft-to-promote reviews.

Permissions & Roles: Public — Table inspect Mutator — Owner or Co-DM Owner — Campaign sovereign
/improv [kind]

Mutator 25 generator kinds (NPC, Shop, Tavern, Rumor, Trap, etc.). Draft → Promote; suggestion-only kinds have no Promote

/ask query [text]

Mutator Grounded recall of established canon. Owner tools: forget / restore / purge / rewind / guard / diff. Players are denied.

/campaign [hop]

Mutator Bind channel, funds show/add, buy with DM confirm, item spark/harvest, intrigue. Owner or active Co-DM.

/plan [open | adapt]

Mutator Hop to web Planning workspace for pre-session sketch & live pivots

/roll [dice]

Public Honest dice roller with zero fudge rail

/session [start | end]

Mutator Manage active play mode and build grounded session recaps

/absent [consent]

Public Claimed-player consent. Owner or Co-DM mark / end absence.

/ping

Public Multi-tenant bot and backend liveness check

Draft actions on a spark card

Discord spark cards carry the buttons the kind allows. There is no Edit Text control and no right-click context menu in this release.

Draft invariant: Promote to Canon Reroll Discard

Sparks are drafts. Promote to Canon (Owner or active Co-DM) writes canon. Suggestion-only kinds have no Promote button.

Philosophy

Not an AI DM. Not another notebook.

GlyphKeeper is a Discord-native continuity layer for a campaign that already has a human DM. It remembers what the table established—never an autonomous DM, a rules engine, or a transcript dump.

Full AI Dungeon Masters

Invent & take over

They generate plot, play NPCs as gospel, and slowly replace the human’s creative authority. Fun as toys—dangerous as campaign truth. GlyphKeeper will not run your game for you.

Pure note-taking tools

Outside the table

Wikis and docs live away from Discord. They don’t hear the session, don’t extract durable beats, and drift the moment you’re tired—leaving two competing truths.

GlyphKeeper

Live Discord + sealed memory

Always-on co-pilot in the channel. Structured records as authority. Owner and Co-DMs decide what endures. The human DM stays sovereign; continuity stays sealed.

  • Memory is the source of truth. The model narrates around retrieved state; it never invents silent canon.
  • Sparks are drafts; Promote writes canon. Owner and active Co-DMs retain explicit, sovereign control over durable memory.
  • The bot is a co-pilot—a continuity engine, never an autonomous DM, rules adjudicator, or combat engine.
  • Continuity over pure simulation. Long campaigns feel personal and continuous so you can focus on the table—not combat engines, CR math, or auto-buys.

Not an autonomous DM. Not another notebook that forgets what Discord already said. Continuity you can trust.

The first table

Circle of Keepers

These DMs sat with GlyphKeeper before launch and helped keep campaign memory honest. They are community leaders, not moderators.

  • Christopher Jones
  • Mike Connelley
  • Matt Gates
  • Brian Hourigan
  • Andrew Cliento
  • Jase Cherney
  • John Mullanaphy

Progress & Architecture

Where we’re at

Private staging, not public GA. H1–H5 are closed. Launch Pack surfaces below are in the hosted product as shipped or thin slices. Public access is the waitlist.

Private staging H1 – H5 closed. Launch Pack on staging. Waitlist for public access.

The hosted bot, web dashboard, grounded memory, and provenance repair run for a private staging cohort. This is not a public self-serve launch. Stripe live checkout is gated. Join the waitlist below.

H1 Hosted MVP Shipped — bot, web, Discord OAuth, Stripe test-mode
H2 Continuity Shipped — Memory, Session 0, Planning, Absent Player
H3 Trust Gate Shipped — canon integrity, Wrong / Not Canon, JSON + MD export
Shipped on staging

Commands, sparks, economy, and brand

H4-0 Shipped

Discord command collapse

Eight slash names. New tools are hops, not a ninth command. Right-click context menus are not in this release.

  • /ask, /improv, /campaign, /plan, /roll, /session, /absent, /ping
  • Spark cards: Promote (when the kind allows), Reroll, Discard
  • Option autocomplete on campaign, improv, absence, and intrigue hops
Eight names. No command clutter.
H4 Shipped

Random tables & honest dice

Table packs power discrete lists. /roll is CSPRNG with no fudge rail and no fair-DC calculator.

  • rollTable with published JSON weights off the dice API
  • Packs for names, NPC traits, loot, atmosphere, rumors, travel
  • Table seed wins; optional prose cannot overwrite picked names or prices
Honest dice. Table-native lists.
H4-A Shipped

Generative co-pilot toolkit

Twenty-five live /improv kinds. Sparks are drafts. Suggestion-only kinds have no Promote.

  • NPC, villain, house rule, backstory, rumor, clue, sidequest
  • Loot, encounter, combat plan, reaction, travel, hook, complication
  • Name and atmosphere stay suggestion-only
Draft → Promote. No silent canon.
H4-B Thin

Scenes, economy, antagonists

Shop and tavern Promote write the keeper as an NPC. Stock is not party inventory. Buy waits for DM confirm.

  • /improv shop, tavern, job board, villain; monster is suggestion-only
  • /campaign funds party or character purse
  • /campaign buy with DM confirm — no auto-buy
Town sparks and a purse. Not a sim engine.
H4-C Thin

Current-generation recall

Hot / warm / cold are eligibility labels on the embedding generation. Wrong / Not Canon drop stale vectors immediately. Pin, archive-season, and object storage are out.

  • Live readers use the current eligible generation only
  • No pin UI, archive-season command, or Campaign Bible
Readers see the current generation only.
H4-D Thin

Sites & challenges

Site and room Promote write one location. Trap, puzzle, and affliction stay suggestion-only. Not a connected dungeon generator.

  • Site pack is four rooms of flavor on the draft
  • Promote hops one location
  • No printable puzzle handouts, no HP on traps
Sparks for a chamber. Not a mapper.
H4-E Thin

Secrets, intrigue, pantheon

Clue bank, deity spark, faction attitude, and player-secret delivery as /campaign hops.

  • Player-secret Deliver is a DM-gated bot DM
  • Clues park; they do not delete
  • Pantheon Promote is one NPC; package stays on the draft
Intrigue under DM control.
H4-F Thin

Magic items & harvest

/campaign item and harvest Promote into inventory. Spell drafts are suggestion-only. Sentience is card text, not a new NPC.

  • No separate magic-item table
  • Harvest writes one inventory row; no purse debit
  • No auto-buy from a shop spark
Craft sparks, then inventory.
H4-G Thin

Adaptive planning hops

/plan open and /plan adapt hop the existing web Planning workspace. There is no conversational Session Planner, fair DC ladder, or next-session seed automation.

  • Adapt is a draft the DM can take or leave
  • Agency sentence is application-owned
  • No railroad toward tonight’s plan
A hop. Not a second planner.
H4-H Thin

Downtime & bastion sparks

/campaign downtime and bastion Promote one open thread. No bastion table, hireling sim, or purse debit.

  • Closed activities: craft, research, carouse, train, business, recovery
  • Bastion at is theme, never the hold name
Between-session texture. Not a stronghold engine.
H5 Shipped

Brand alignment & web polish

Dark arcane tokens, Cinzel / DM Sans, and the glyph mark on the hosted dashboard, Memory, Session 0, and Planning.

  • Shared primitives on chrome and campaign surfaces
  • Reduced-motion and 360px overflow guards
The dashboard matches the mark.
H6 Thin

Security audit

RLS, secret-scan, injection, and fail-closed entitlement checks ran. Production secret rotation and live Stripe mutation stay human-gated.

  • No in-scope P0 remediations in the Launch Pack audit
  • Production rotation is a separate human gate
Audit shipped. Production rotation is not.
Thin slices

Capture, live HUD, rewind, and notes import

H7 Thin

Upload capture & candidate inbox

Upload a recording on Memory. Transcription is evidence. The DM confirms. GlyphKeeper does not join Discord voice.

Upload only. Not voice-join.
H8 Thin

Live DM screen

Web NOW / PULL / RECENT for Owner and Co-DM. No-store. Players get an empty 403. Confirm stays on Memory.

Three panels. DM-only.
H9 Thin

Rewind, guard, world-diff

/ask rewind answers with receipts. Guard and diff are proposals. Nothing writes canon until the DM decides. No autonomous world sim.

Proposals. The DM still chooses.
H10 Thin

Campaign notes import

Markdown and plain text, then batch confirm. Obsidian, Notion, and PDF are out. There is no player portal.

.md and .txt. Confirm to canon.
Out of this release

Parked — do not expect these on staging

Out Out

Not built, on purpose

Named in the old packet. They lost to catalog 8, H4 residuals, or later epics.

  • Right-click context menus (Remember this, Check canon, Save ruling)
  • Edit Text on spark cards; pin / archive-season UI
  • Connected dungeon generator; fair DC ladder; hireling sim
  • Obsidian / Notion / PDF import; player portal
  • Discord voice-join capture; public self-serve checkout; production
Honesty over a fake coming-soon list.

Guiding principles that stay true

  • Memory remains the authoritative source of truth
  • Human Dungeon Master stays sovereign
  • Continuity over pure combat simulation
  • Hosted-first with Patreon support for self-hosted power users

Get early access

Join the GlyphKeeper waitlist

Hosted GlyphKeeper is on private staging, not public self-serve. Join the waitlist for first access when that path opens—official bot, web dashboard, and campaign memory that stays true.

Early waitlist members get first access and a founder-friendly offer when the hosted product opens.

Prefer fully local? glyphkeeper-local (self-hosted + Ollama) is supported for power users and privacy-focused tables via Patreon.