Skip to content
The world does revolve around you.

The personal wiki#

Ostler compiles everything it knows about you into a browseable personal wiki. It is rendered with MkDocs Material and served at http://localhost:8044 on the Hub. This page covers what the wiki is for, the 21 page types it produces, how to navigate it, and how to correct what it gets wrong.

What the wiki is#

The wiki is the "what does Ostler know" surface. Every person you know, every organisation you have brushed against, every topic you have discussed, every place you have been – they all have a page. The pages are generated from your knowledge graph (Oxigraph) and your vector store (Qdrant), and they regenerate as the graph grows.

The wiki is not editable in place. You read it in your browser; you edit the data behind it through the Doctor corrections UI or by re-running the import. That separation keeps the wiki internally consistent – every fact on every page is traceable back to a source artefact.

The 21 page types#

The wiki compiler produces 21 distinct page types. Each type has its own template, its own set of facts to surface, and its own cross-references.

# Page type What it covers
1 Home The wiki landing page. Recent activity, quick links, search.
2 Person One per individual you know. Contact details, conversation timeline, organisations, mutual contacts, last interaction.
3 Organisation One per company, charity, government department, etc. Members you know, recent interactions, relevant places.
4 Place One per location of interest. People associated, events held, recent visits.
5 Topic One per recurring theme in your conversations. People who talk about it, recent mentions, related topics.
6 Conversation One per captured conversation (iMessage thread, email thread, meeting). Summary + todos + transcript + frontmatter. See conversations.
7 AI chat One per external-LLM conversation (Claude Code, ChatGPT, etc.). Same shape as a conversation page but in a parallel tree. See AI conversations.
8 Event One per calendar event. Attendees, location, related conversations and todos.
9 Note One per Apple Note. Inline content, linked people and topics.
10 Bookmark One per Safari bookmark or reading-list item. Tags, related topics.
11 Browsing-history snippet Aggregated pages for sites you visit often, grouped by domain.
12 Email thread One per email thread surfaced as interesting. People, subjects, related todos.
13 Photo event One per Photos event. Date, location, people identified. (Face recognition only if you explicitly opted in.)
14 Reminder One per Apple Reminder. Due date, completion status, source conversation.
15 Todo One per todo extracted by the conversation pipeline. Status, due date, source conversation.
16 Timeline day One per day. Everything that happened on that day, chronologically.
17 Timeline week One per ISO week. Weekly summary.
18 Timeline month One per calendar month. Monthly summary.
19 Timeline year One per year. Annual review-style summary.
20 Suggestion One per surfaced suggestion the assistant has made ("you have not spoken to X in three weeks").
21 Why Ostler? A guided tour of the product features visible in your own data. Linked from every page.

Every page is generated from one or more source artefacts on disk. The compiler tracks the provenance link so you can always see "where did this fact come from?" by hovering or clicking through.

The wiki uses the same top-tabs layout as MkDocs Material. The top-level sections are:

  • People – every person you know, alphabetical.
  • Organisations – every org.
  • Places – every location of interest.
  • Topics – every recurring theme.
  • Conversations – the human conversations tree.
  • AI Chats – the AI conversations tree.
  • Timeline – browse by day / week / month / year.
  • Why Ostler? – the guided tour.

Search is the fastest way around. The wiki ships with full-text search, scoped to your data only; results are ranked by recency and graph centrality.

Privacy-level rendering#

Each conversation, AI chat, person, and place has a privacy level (see conversations: privacy levels). The wiki respects the level on every page render:

  • L0: fully rendered.
  • L1: fully rendered, subject to your redaction config (financial / medical / legal / contact-info masking).
  • L2: headline + count only; full body behind a reveal button.
  • L3: the page is not rendered at all. The underlying file exists on disk; the wiki ignores it.

This is the same matrix that governs how the assistant treats the same data when answering questions. The wiki and the assistant cannot disagree.

Doctor corrections UI#

When the wiki gets something wrong – wrong name spelling, merged-duplicate gone wrong, organisation attribution incorrect – you do not edit the wiki page. You open the Doctor dashboard at http://localhost:8089/doctor and use the Corrections panel.

Common corrections:

  • Merge two duplicate people. The identity resolver sometimes leaves two entries for the same human. The corrections UI shows side-by-side candidates and lets you merge with one click.
  • Split a wrongly-merged person. The opposite case. Pick one of the source artefacts and tag it as belonging to person A; the resolver re-splits.
  • Rename a person, organisation, place, or topic. Renames cascade across every page that references the renamed entity.
  • Change a person's organisation affiliation if it was extracted incorrectly.
  • Exclude a person or topic from wiki rendering and from assistant answers. Useful for old acquaintances you do not want surfaced.
  • Reclassify a conversation's privacy level – does the same thing as editing the frontmatter by hand.

Every correction is logged in ~/.ostler/corrections.log so you can audit what was changed and roll back if you regret an edit. The wiki rebuild that follows a correction takes a few seconds for small changes, up to a couple of minutes for cascading renames.

Rebuilding#

The wiki rebuilds automatically when:

  • The graph or the vector store changes (every import sweep).
  • A correction is made via the Doctor UI.
  • You manually trigger a rebuild from the Doctor dashboard.

To force a full rebuild from scratch (useful after a major correction sweep):

ostler-wiki rebuild

This is rarely needed. The incremental rebuilds are accurate.

Obsidian mirror#

Some users prefer reading the wiki in Obsidian rather than the MkDocs interface. If you set WIKI_OBSIDIAN_DIR in ~/.ostler/config/.env, the wiki compiler also mirrors the same Markdown into your chosen vault directory.

Both surfaces stay in sync. The MkDocs version is at http://localhost:8044; the Obsidian version is whatever directory you pointed WIKI_OBSIDIAN_DIR at.

Theming#

The wiki ships with the Ostler brand-light theme: cream chassis surface, oxblood accent, IBM Plex Sans for body, JetBrains Mono for code blocks. The theme is fixed at v1.0; we do not currently support user theming.

What the wiki is not#

A few things the wiki deliberately does not do:

  • It is not a CMS. You cannot create new pages by hand. Every page is derived from a source artefact.
  • It is not your only interface. The assistant in iMessage / WhatsApp / email is the conversational interface; the wiki is the browse interface. They share the same data.
  • It is not internet-facing. The wiki binds to localhost. It is not exposed by default and we recommend you do not expose it. Use Tailscale if you want to reach it from another device.