Write a self-contained HTML view of the knowledge base — a bird's-eye
browser for the whole journal that opens in any web browser, works
offline, and needs no install.
Three tabs, plus connections on every card:
Timeline — every capture chronologically, with live search and
type / Wild Art reason / volume / journal-vs-AI filters
(WA and ISO are always in the type filter); superseded
captures hidden behind a toggle. Each card lists its
typed connections — click one to jump to that capture.
Wild Art cards show their reason, the page ID they were
read as, and a link to the capture they conflict with.
Index — tags grouped by meaning (topics, dream themes, open
questions, insights, motifs, sensory details) plus the
entity register; every entry click-filters the timeline.
Graph — an ego-centric local graph (no rotating globe, no
physics). The landing view groups captures into bubbles
by tag, theme, or entity (size = capture count). Click a
bubble, or "view in graph" on any card, to drill into a
fixed radial layout: the item centered, its direct
connections (or a cluster's members) around it. Click a
neighbor to recenter; "+N more" expands a busy ring.
Navigation: every view change is a browser history step mirrored in the
URL hash, so the in-app "← Back" button AND the browser's Back button
step back through views inside the page (the browser's leaves the page
only from the first view), and reloading reopens the same view.
The footer records the ksj-mcp, mcp, pydantic, and Python versions, the
export time, and capture / entity / connection counts.
All data is inlined in the file: sharing or archiving the file shares a
snapshot of the knowledge base.
Args:
file_path: Where to write. Default (recommended, and required on
Windows): leave empty — writes ksj-view.html in the KSJ
data directory.