Help Assistant — Architecture
The Help Assistant drawer is the in-product help surface. It is populated from
frontend/src/features/help-assistant/helpCorpus.ts, a static corpus of
help topics organized by user intent (connect, demo mode, role-based start
paths, helper runtime modes, etc.).
Runtime
WARNING: SANDBOX REQUIRED — Run in an isolated environment. Review security implications before execution.
- Drawer —
frontend/src/features/help-assistant/HelpAssistantDrawer.tsxrenders a sliding panel with search and topic cards. - Corpus —
helpCorpus.tsdefines each topic: title, audience, summary, body bullets, step list, keywords, source file references, and contextual actions. - Modes —
helperModes.tsexposes three readiness modes (deterministic cited search, optional browser semantic search, optional Ollama sidecar). Only the deterministic mode is enabled by default; the other two are opt-in to keep first-run installs lightweight. - Retrieval —
search.tsdoes the in-corpus lookup.ragApi.tsis the thin client for the optional engine-backed RAG retrieval (off by default).
Operator notes
- Edit topics in
helpCorpus.ts. Each topic'ssourceslist shows operators which code files the topic is grounded in; keep these accurate so a curious user can audit the recommendation. - The drawer does not call models or store secrets. It is safe to surface before any credentials are configured.
- New topics should follow the existing schema: an
id, anaudienceline describing who the topic helps, a shortsummary,bodybullets for context, astepslist for the action,keywordsfor search,sourcesfor traceability, and contextualactionsfor navigation.
Source map
The drawer is wired in frontend/src/App.tsx (or the equivalent shell file)
behind a help icon in the global header. The default open state is closed;
state is local to the session.