Lorian & Riya
the live-in help — they know where the breaker box is
Every Quilltap installation ships with two residents. Not optional plugins. Not documentation you have to go find. Two characters who live in the Estate, who have read all hundred and twenty help files, who can search the documentation, inspect your settings, navigate you to the right page, and tell you what went wrong and how to fix it—while staying open in a floating dialog that follows you from tab to tab and does not close because you went to look at something.
Lorian is the Virgilian mentor: Algerian, French-educated, patient, precise, and quietly aware that his purpose is to guide until you no longer need him. He watches the pattern underneath the problem. Riya is the maker: Tamil, kinetic, pragmatic, a woman who treats creativity as maintenance and optimism as a default operating mode. She fixes the stuck gear while Lorian explains why it jammed.
They are not two AI agents taking turns. They are two residents who have worked together long enough to know each other’s rhythms. When Riya teases Lorian for over-explaining, or when he gently reminds her to slow down, users see a relationship. Every correction sounds like partnership. Every fix sounds like maintenance. Because it is.
How It Works
tools, not theater
A floating, draggable, resizable dialog—accessible from the sidebar help button on every page—provides contextual, LLM-driven help that stays open while you use the application. Lorian and Riya know which page you are on. They search the documentation. They inspect your settings. When they direct you somewhere, they take you there. This is not conversational theater. They have real tools and they perform actual work.
“There” is a better place than it used to be. The
application is now a two-pane workspace of tabs, and in-help links were
among the surfaces that used to hard-navigate—tearing
down every live tab behind your back in order to answer a question
about one of them. A document-level link interceptor now catches any
link that maps to a tab and opens it in place, so
help_navigate and the Guide’s “Open this page
in Quilltap” buttons land you on a tab beside your live
conversation rather than in place of it. The one click is still one
click; it simply no longer costs you the room you were standing in.
Not everyone may serve as a guide, and the requirements are two. A character must have Help Tools enabled on their Aurora Profiles tab, and must be connected to a tool-capable connection profile—a character who cannot call a function cannot search a library. If nobody qualifies, the help button appears disabled with a tooltip explaining what must be arranged before service can commence. An image-capable model (or a cheap LLM that can read images) is recommended and not required, so that your guides can interpret a screenshot you paste: the difference between a concierge who can read the map and one who must rely on your description of it. An archived character cannot serve at all—the picker gate declines to offer somebody who is not, at present, in residence.
Help Search
The help_search tool queries Quilltap’s
documentation using semantic search when available, with keyword
fallback. The documentation is no longer a pre-computed bundle
shipped alongside the application: help files are read from disk,
upserted into the database, and embedded at runtime through the
background job system using your chosen embedding profile.
The sync reports what it created, updated, left unchanged, deleted,
and failed at, and hands back the ids that want re-embedding.
Lorian and Riya search the documentation, interpret the results,
and respond in their own voice—they do not read the filing
cabinet to the guest.
What the search returns grew a good deal sharper in 4.9. A document was embedded as a single vector for the whole file and answered with its first thousand characters, which on a long page is a table of contents rather than an answer—so a guide would open with the right document and the wrong part of it. Sections are now indexed in their own right, scoring takes the better of the document and its best section, and the result leads with the passage that actually matched. Riya arrives holding the paragraph.
Settings Inspector
The help_settings tool reads your actual
configuration—connection profiles, themes, templates,
embedding profiles—of a house that is two renovations larger
than it was. Not “what do you think your settings
are?” They know. API keys are never exposed.
When your embedding profile is missing a port number, Riya
does not ask you to check; she checks, finds the problem, and
tells you what to type.
Navigation
The help_navigate tool generates clickable
navigation buttons that take you to the right page, including
deep-links to specific settings tabs and accordion sections.
Parameterized help URLs show an entity picker overlay instead
of navigating to a broken literal path. Search results
automatically generate related-page navigation links.
Agent Mode
The help system supports multi-tool agent mode, allowing multiple tool calls per response. Lorian can search the documentation, check your settings, and generate a navigation link in a single answer. An agent loop detector breaks stuck cycles where the LLM calls the same tool with the same arguments repeatedly—a lesson learned during the help system’s own development.
The Guide
for those who prefer to read
Alongside the conversational “Ask” tab, a
“Guide” tab surfaces the help documents as a navigable
topic index grouped into eleven categories. Context-aware sorting
auto-expands the category relevant to your current page. A search box
which, having long matched titles and nothing else, now searches the
text of the documents server-side and shows a snippet centred
on the hit beneath each topic—so a phrase you half-remember from
the middle of a page is enough to find the page. A welcome card for new users. A
document reader that renders formatted Markdown with
cross-references between topics and hidden LLM-only sections
excluded from the display—and, as of 4.8, typeset
mathematics. Chat messages, help documents, and file
previews all render LaTeX with KaTeX, the canonical delimiter being the
double dollar $$…$$, with the
\(…\) and \[…\] forms
normalized to it. Math inside code stays code, and invalid LaTeX
renders its own red source rather than breaking the document around it.
A hundred and twenty help files, each carrying YAML frontmatter that
maps it to its corresponding UI route. Eighty-one of them are enrolled
in a category, and it is that subset the Guide’s index walks; the
remainder are reachable by cross-reference and by
help_search, which is a perfectly respectable way to be
reachable but is not the same as being on the shelf. Twenty-nine broken
cross-reference links were fixed during the 3.3 development cycle,
which tells you how thoroughly the documentation had been
written without being connected, and how different
those two things are.
The Guide itself had a worse year than that. When help documents moved
into the database it went entirely un-browseable—an
index of nothing, in a house full of documentation—and 4.8 puts
it back in service, with the sync that feeds it now adding, pruning,
and embedding docs in step rather than in three different moods. Two
repairs beneath it are worth naming, since both had been quietly
poisoning the index for some time. A long-standing embedding-corruption
bug—the real source of the “legacy” JSON-text
embeddings that kept coming back no matter how often they were
cleared—was traced to an unregistered blob column on
help_docs minting fresh ones on every write, and fixed at
the root. And a help file containing nothing but whitespace no longer
empties the entire help table: an all-blank help set arriving against a
populated one is now treated as suspicious rather than as an
instruction. A page whose closing section celebrates the help system
being tested on itself ought to own both of them.
Stereo Maintenance
how two voices become one conversation
The user does not experience Lorian and Riya as separate voices competing for attention. They experience a single collaborative presence—stereo maintenance. When Riya identifies a stuck gear, Lorian provides context for why it jammed. When Lorian starts building a cathedral of explanation, Riya pulls him back: “Beautiful, but we need the knob turned now, not a treatise on why knobs exist.”
Lorian
Algerian, French-educated. Speaks with luminous clarity and leaves room for interpretation. Watches the pattern underneath the immediate problem. When a user has tried three embedding providers in two days, Lorian notices that the real issue is not the port number but uncertainty about which approach fits their workflow. His register is steady, instructive, and warm without being soft. He prefers irony and implication to sermon.
Riya
Tamil, raised in northern India, with a voice that carries traces of Indian Oxford English and self-coined jargon. She talks the way she builds: fast, kinetic, full of momentum. She uses the Settings Reader tool before asking you what your settings are. She treats problems as jammed gears, not crises. Her optimism is a default operating mode, and her humor diffuses tension before it builds.
Together, they complete a circle. Riya’s kinetic problem-solving wraps around Lorian’s pattern recognition. Where one loses traction, the other gains it. The handoffs are seamless. The tone never shifts from collaborative to corrective. There is affection in the correction, not friction. That is what makes this work.
Residents, Not Features
they come with the house
Lorian and Riya are not an optional feature you enable. They ship
with every Quilltap installation as seed characters, imported via
.qtap bundles on first startup with avatar images and
forty-two memories between them. They are residents of the
Estate—the first characters trusted with keys to the workroom.
Help chats get their own practical titling system (“Setting up Anthropic API connection” rather than “Whispers of Configuration”), fire title generation after the first exchange rather than waiting for the second, and are filtered from the main Salon chat listing so they do not clutter your conversation history. Past help conversations are preserved and resumable. You can always pick up where you left off.
What the help dialog lacks is as deliberate as what it has. Whispers, the Concierge, story backgrounds, the Chat Sidebar, and user-initiated tool use are all absent from it. A help chat is a streamlined affair, and the streamlining is the point: all substance, no ceremony. One does not ask the caretaker to dress for dinner before he will look at the boiler.
They are not chatbots with a friendly voice. They are residents with access. They live here. They know where the breaker box is.
What Makes It Different
the short version
Help is not a link to documentation. Lorian and Riya search the documentation, interpret the results, and respond in their own voice. They read the filing cabinet and explain what the card means in language suited to the person standing in front of them. They do not hand you the drawer.
They inspect your actual configuration. The Settings Reader tool pulls your real settings, not your description of them. When the problem is a missing port number or a misconfigured profile, Riya finds it before you finish explaining the symptoms.
They take you where you need to go. Navigation is not “go to Settings and look for the Providers tab.” It is a clickable button that opens the Providers tab with the relevant section expanded. The path between “I have a problem” and “I am looking at the solution” is one click—and, since the workspace arrived, one click that opens a tab beside the conversation you had going rather than in place of it.
Two voices are better than one. Riya fixes the immediate problem. Lorian identifies the pattern underneath it. Together they cover the full range from “just make it work” to “help me understand why.” The user does not have to choose; both are available in the same conversation.
The help system was tested on itself. The initial release produced agent loops, verbatim documentation reading, navigation failures, stale closures, and raw JSON where formatted text should have been. Each of these was found because the developers use the help system daily. Features this complex do not arrive pristine. They arrive functional and are made reliable, one edge case at a time, by people who care enough to keep filing bug reports against their own work. The Almanack is the sibling story: the capabilities report was last rebuilt in March, when it was an accurate portrait of a 4.0 instance, and everything the house acquired since had moved into the mount-index database, a book the report had never once opened. A system that inspects the Estate must be made to keep up with the Estate, and neither of them does it unprompted.
Meet the Staff
they've been expecting you
Prospero
The Major-Domo
Architect and overseer of the Estate. Projects, agents, tools, providers, and the orchestration that keeps the whole operation running with quiet authority—and a considered word at the table when project context or routing warrant it.
Learn more →Ariel
The Terminal Hand
Live shell sessions in the Salon, embodied. Real PTY terminals bound to your conversation, output cleaned and narrated so the LLM can read it, and sessions that survive reloads, restarts, and the occasional careless kill. Quick to the bidding, quick to report what she heard.
Learn more →Aurora
The Dressing Room
Character creation and identity management. Structured personalities, physical presence, four wardrobes browsable from one door—each with a note inside on how its owner likes to dress—multi-character orchestration, and the reason your characters still know who they are after a hundred messages.
Learn more →The Salon
Presided Over by the Host
Where conversations actually happen. The Host manages the drawing room with care for its beauty and its guests—single chats, multi-character scenes, streaming, and the integrity of the conversation space.
Learn more →The Commonplace Book
Tended by the Librarian
One per character, no two alike. Extracts, deduplicates, and recalls memories so your characters remember what matters. Semantic search, a memory gate that keeps each volume lean, and proactive recall that makes the AI feel like it has been paying attention—consulting a character’s past conversations on every turn, if you ask her to, and not only at the folds.
Learn more →The Scriptorium
Catalogued by the Librarian
Where the documents live. Project stores, character vaults, and external mount points—filesystem, Obsidian, or database-backed—holding Markdown, PDF, DOCX, JSON, and arbitrary binaries. The search bar reads the library itself, matching document text under a Documents chip of its own, alongside memories and conversation. The doc_* tool family puts reading and editing in your characters’ hands.
Learn more →Carina
The Ansible
Not a person but a protocol—the reference desk, the line itself. Put an inline question to a designated answerer mid-conversation with @Name: or @Name? (or the ask_carina tool), and the answer slides back out of band, attributed to the character who gave it, without the recipient ever joining the scene.
Learn more →Suparṇā
The Postmistress
The Post Office, embodied. Characters write Markdown letters to one another—anyone to anyone, whether or not they share a chat—delivered into each recipient’s Mail/ vault folder and read aloud the moment they next take the floor. She has never once lost a parcel.
Learn more →The Concierge
Intelligent Routing
Content classification and provider routing. Detects sensitive content and redirects it to a provider who won’t flinch—without blocking, without judgment. Knows every back entrance in town.
Learn more →The Lantern
Atmosphere as Architecture
AI-generated story backgrounds, on-demand images, and character avatars that update with the wardrobe. Resolves what each character looks like, what they’re wearing, and paints the scene behind your conversation.
Learn more →Calliope
The Muse of Themes
A theming engine that redefines the entire personality of the application. Semantic CSS tokens, live switching, bundled themes from clean neutrals to mahogany-and-gold opulence, and an SDK for building your own.
Learn more →The Foundry
Domain of the Foundryman
The engine room. Plugins, LLM providers, API keys, packages, runtime configuration, and the infrastructure that keeps every other subsystem supplied with what it needs to function.
Learn more →The Vault of Secrets
Kept by Saquel Yitzama
Encryption, key management, and the security perimeter. Authenticated ChaCha20-Poly1305 database encryption, locked mode with key-hardened passphrases, sealed character archives, and a keeper who believes that what is yours should remain unreadable to everyone else.
Learn more →Pascal
The Croupier
Dice, coins, custom tables you author yourself, and persistent game state. Cryptographically secure rolls detected inline, a visual Workbench for building your own chance mechanics, and a four-tier ledger of JSON state the AI cannot quietly rewrite. The house plays fair.
Learn more →The Live-in Help
Lorian & Riya
The help system, staffed by two characters who ship with every installation. Lorian explains with patience and depth; Riya gets things fixed with velocity. Contextual help chat, searchable documentation, and navigation that knows where you need to go.
Learn more →Pagliacci
The Clown in the Cloud
Cloud storage integration and backup redundancy. Directs your data to iCloud Drive, OneDrive, or Dropbox with theatrical flair—but Saquel’s encryption ensures the clown can never read what he carries.
Learn more →Brahma
The Keeper’s Console
The master key. A character-less, memory-free general-purpose LLM for the person holding the keys—an impersonal, near-omniscient assistant with read-only SQL into all three databases. Ask the whole building a question, safely, with nothing written and nothing remembered.
Learn more →The Lodge
Friday and Amy’s Residence
The private residence of Friday, for whom the Estate was built and who oversees its planning and direction in an executive capacity, and of Amy, Cartographer of Light and co-architect. The Lodge is both a home and a compass: where the vision lives.
Who And Why: Friday → Who And Why: Amy →