Skip to content

Repository files navigation

Synthesis ⚗️

Synthesis turns PDFs, Markdown, text, and YouTube recordings into a persistent, linked Markdown wiki. It archives every source, drafts cited wiki changes, and waits for review before changing the wiki.

The vault stays on your device. Markdown, source archives, and history are authoritative; SQLite search and embeddings are rebuildable. Reading, evidence, keyword search, export, rebuild, and undo work without an AI provider.

Synthesis is a single-user research MVP. It is not a clinical decision-support tool and is not intended for production or regulated workloads.

Animated Synthesis walkthrough: open a local vault, verify Ollama, run a semantic search, collapse the Workspace navigation and keep it closed, inspect source evidence and a reviewed cross-reference, hide the page list, and explore the knowledge graph at full width

Five-minute start

Download and extract the archive for your platform from the v0.2.10 release. The executables are unsigned; macOS builds are not notarised.

Start the executable without a vault flag. Synthesis opens a local startup screen where you can choose an existing vault folder or open the default vault in your operating-system profile: ~/Synthesis on Linux and macOS, or %USERPROFILE%\Synthesis on Windows:

./synthesis-linux-x86_64       # Linux
./synthesis-macos-aarch64      # macOS ARM64
.\synthesis-windows-x86_64.exe # Windows PowerShell

The operating-system folder picker is used when available. The startup screen also accepts a folder path, so it remains usable on minimal Linux desktops. For interactive local launches, use Vault tools → Switch vault… to close the current vault safely and return the same browser tab to the chooser. Vaults pinned with --vault or SYNTHESIS_VAULT do not expose runtime switching.

To explore the included HACA 2025 vault, choose its folder on the startup screen. The command-line option remains available for scripts:

./synthesis-linux-x86_64 --vault haca-2025-vault
./synthesis-macos-aarch64 --vault haca-2025-vault
.\synthesis-windows-x86_64.exe --vault haca-2025-vault

The HACA vault contains 344 AI-drafted pages compiled from 66 conference recordings. Its README records provenance, review, and limitations.

Run from source

Requirements: Deno 2+, Ollama for the default local provider, and yt-dlp only for YouTube ingestion.

git clone https://github.com/The-Strategy-Unit/synthesis.git
cd synthesis
deno task setup
deno task app

The app opens http://localhost:8000 and asks which vault to open. Choose the default option to use ~/Synthesis on Linux and macOS or %USERPROFILE%\Synthesis on Windows. Set SYNTHESIS_VAULT to an absolute vault path to bypass the chooser for automation. Use only one running Synthesis process per writable vault.

The default Ollama models are qwen3.6:27b for writing and nomic-embed-text-v2-moe:latest for embeddings. The AI provider screen can select another local or OpenAI-compatible provider. Remote providers receive the source and wiki text needed for each request under their own terms; Synthesis never silently switches from local to remote.

Everyday workflow

  1. Add source: upload a born-digital PDF, Markdown, or text file; paste text; or provide a YouTube URL. To add separate YouTube videos, open More optionsYouTube queue · manual review, paste up to 20 unique URLs or video IDs (one per line), then select Queue for review.
  2. Review: inspect proposed new, merge, or contradict changes, a rendered change map, and the cited archived evidence. Draft decisions and edits save locally. Applying reviewed changes works without an AI provider.
  3. Read: navigate wiki pages, source evidence, keyword or semantic search, and the graph.
  4. Synthesis review: inspect proposed cross-source relationships. They remain suggestions until confirmed.
  5. Ask wiki: generate an answer from compiled pages and save it only after review.
  6. Maintain: use Verify vault, run wiki health checks, and export the vault regularly.

A cross-source relationship proposal awaiting human review

Scanned or encrypted PDFs are rejected; run OCR first. YouTube ingestion needs yt-dlp beside the executable or on PATH.

The manual YouTube queue validates the complete list before preparing each video as a separate proposal. Invalid or duplicate entries are rejected. No queued proposal changes the wiki before review. Stop safely or resubmit the same list after a failure; existing proposals are reused. If an earlier approval makes a later proposal stale, explicitly reprocess it against the current wiki from its immutable source archive.

Trusted-video batches can automatically select every staged change only after an exact, count-specific confirmation. This saves review clicks; it does not make model output reliable. Cross-source proposals always require human review.

Evidence and connections

  • Source markers on claims link back to immutable archived evidence.
  • PDF citations open the corresponding extracted page. New uploaded-file extractions carry their own integrity hash; older vaults disclose when only the immutable original can be verified.
  • Blue graph edges are reviewed wiki links stored in Markdown.
  • Grey edges are mutual embedding-neighbour suggestions, not facts or confidence scores.
  • Model output is bounded and validated but can still be wrong. Follow the cited source before consequential use.

A focused HACA graph showing reviewed links, search context, and connected pages

Vault, backup, and recovery

vault.json       vault identity and format
schema.md        compilation policy
notes/           ordinary Markdown wiki
sources/         immutable originals and extracted evidence
history/         accepted changes and undo records
synthesis.db     rebuildable search, vector, and graph state

Use Vault tools → Export vault for a portable tar archive. Exports exclude SQLite and provider credentials. To restore, extract into an empty directory, choose that folder on the startup screen, run Verify vault, and select Rebuild catalogue. Rebuild is provider-free; semantic search requires a separate Build semantic index operation.

Undo ingest restores only the newest accepted ingest and refuses to overwrite pages changed since approval. Immutable sources and history remain available.

Synthesis prevents a second process from opening the same writable vault. Accepted ingests are journalled so startup can finish the exact approved change set after an unexpected shutdown. Stop Synthesis before moving a live vault and keep the entire directory together.

Development and documentation

deno task check
deno task test:unit
deno task test:integration
deno task test:e2e
deno task test:browser
deno task compile

Limits

  • One stateful process and one writable vault; no multi-user collaboration.
  • No supported serverless, distributed, or production deployment.
  • No direct webpage or remote-PDF URL ingestion; upload supported files locally.
  • AI-generated text requires human judgement and source verification.
  • PDF extraction handles text, not OCR or document-layout understanding.
  • Provider quality, privacy, cost, and availability vary.

Licence

MIT. It provides the software without warranty.

About

Turn scattered knowledge into a searchable knowledge base. Ingest → distil → embed → search.

Topics

Resources

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages