Getting Started
From download to your first AI-enriched file — get Wikori running in under five minutes.
Requirements
| Item | Details |
|---|---|
| Operating System | macOS 11+, Windows 10/11, or Linux (Ubuntu 20+) |
| AI API endpoint | Any OpenAI-compatible endpoint — OpenAI, Anthropic, local Ollama, LM Studio, etc. |
| API key | A valid key for your chosen endpoint |
| Disk space | ~50 MB for the app; vault size depends on your content |
Wikori works with any OpenAI-compatible API. If you don't want to use a cloud service, Ollama running locally is a great free option.
Download & Install
Visit wikori.com and download the installer for your operating system.
macOS: Open the .dmg, drag Wikori to Applications. On first launch, right-click → Open to bypass Gatekeeper.
Windows: Run the .exe installer and follow the prompts.
Linux: Use the .AppImage (make it executable with chmod +x) or the .deb package.
Wikori opens to the Status page with an empty vault list. The app icon also appears in your system tray.
macOS Quick Notes hotkey: Wikori needs Accessibility permission to detect the global hotkey. Go to System Settings → Privacy & Security → Accessibility and add Wikori. The app will prompt you automatically on first use.
Create Your First Vault
A vault is a folder on your disk that Wikori monitors and enriches. You can have many — one per project, client, or topic.
Click Settings in the left sidebar.
In the Vaults section, fill in a Name (e.g. "Research"), optionally an Email Tag, and click Browse to choose a directory — or type a path. Then click Add Vault.
Inside your chosen directory, Wikori creates an INGEST/ subfolder. This is your drop zone. Any file placed here gets processed automatically.
Your new vault appears in the sidebar dropdown. Click it to make it active — all subsequent operations target this vault.
Set Up Your AI Provider
Wikori needs an AI endpoint to enrich your files. Configure it in Settings under the AI Provider section.
For OpenAI: https://api.openai.com/v1
For Ollama (local): http://localhost:11434/v1
For Anthropic or others, use their OpenAI-compatible base URL.
Paste your API key. It is encrypted with AES-256-GCM on save and never stored in plaintext.
Click Test Connection. If successful, available models load in the dropdown below.
Choose the model to use for enrichment. For best results use a capable chat model — gpt-4o, claude-3-5-sonnet, or similar.
Click Save Changes at the bottom of the page.
Process Your First File
Open your vault's directory in Finder or Explorer. Copy any PDF, Word document, image, or plain text file into the INGEST/ subfolder.
Switch to the Status page. Under the Queue section you'll see the file appear, then move through "processing" and finally disappear as it lands in your vault root.
Open the vault directory. You'll find a .md file with a YAML frontmatter block at the top containing title, summary, entities, tags, and more — all generated by your AI model.
Click Rebuild Wiki on the Status page to update the knowledge index and the interactive graph.
You can also drag files directly to the Ingest page in the app, paste URLs to scrape web pages, or type notes directly — all explained in the Ingesting Content guide.
System Tray
Wikori runs quietly in your system tray. Closing the main window doesn't quit the app — it keeps watching your vault in the background.
| Action | Result |
|---|---|
| Click tray icon | Restores the main window |
| Right-click → Open | Opens the Ingest page |
| Right-click → Settings | Opens Settings |
| Right-click → Quit | Fully exits the app |
Self-Care — Automated Vault Maintenance
Vaults accumulate stale indexes, duplicate scraped pages, and unprocessed files over time. Self-Care handles all of this automatically. Each vault runs its own independent maintenance schedule — configure it once and let Wikori keep itself healthy.
Go to Settings → Self-Care strand to set it up.
Available routines
| Routine | What it does |
|---|---|
| Process Pending Files | Scans vault/ for files not yet in index.md, moves them to INGEST/ for AI processing. Runs automatically what you'd otherwise do manually via Process Unindexed on the Status page. |
| Rebuild Wiki | Regenerates the vault's index.md knowledge map from scratch. Keeps the index accurate as files are added, removed, or updated. |
| Duplicate Detection | Scans all web-scraped files (identified by source_url in their frontmatter), groups them by URL and content hash, keeps the newest copy per group, and deletes the rest. Automatically rebuilds the wiki afterward. |
| Re-run Web Crawler | Re-executes a saved crawler profile to discover fresh URLs from the seed page, then feeds them into the URL pipeline for scraping and AI enrichment. Keeps content from regularly-updated sites current. |
Configuring routines
In Settings → Self-Care, select a routine type from the dropdown and click Add. For the Re-run Web Crawler routine, you'll also select which saved crawler profile to use.
Choose how many days between runs (minimum: 1 day). A Rebuild Wiki routine set to 1 day will run every day. Process Pending Files set to 7 days runs weekly.
Toggle any routine on or off. Disabled routines are removed from the schedule immediately — they won't run until re-enabled.
Click Run Now on any routine to trigger it immediately, regardless of schedule. Useful for a one-off cleanup or to verify a routine works as expected.
Behavior & guarantees
- Per-vault isolation: Each vault runs its own routines on its own schedule. One vault rebuilding doesn't affect another.
- Serialized per vault: Only one routine runs at a time within a vault, preventing conflicts. Different vaults run simultaneously.
- No duplicates: Triggering a routine that's already queued replaces the pending entry — it won't run twice.
- Persisted across restarts: Routines and their schedules survive app restarts. Wikori picks up where it left off.
- Maintenance log: The last 5 routine executions per vault are logged with name, status, timestamp, and outcome. Check the Self-Care page to see what ran and when.
Duplicate Detection details
The Duplicate Detection routine compares web-scraped files using two criteria together: the source_url field in their YAML frontmatter (to identify same-URL files) and a SHA-256 hash of the body text (to identify same-content files). Files without a source_url are ignored — only crawled web content is checked.
If a file is missing its content_hash field (older files processed before this feature), Wikori automatically backfills it before deduplication runs. Within each duplicate group, the newest file by modification time is kept and all older copies are deleted.
A good starter setup: Rebuild Wiki every 1 day, Process Pending Files every 1 day, Duplicate Detection every 7 days, and a Re-run Web Crawler for each active site profile every 7–30 days depending on how often the site updates.