Skip to content

Repository files navigation

Wetstone

Turn your own notes into an adaptive active-recall system. Wetstone reads the folders you choose, uses an LLM (with a key you supply) to extract the concepts worth remembering, writes quiz questions for them, and then quizzes you on a spaced-repetition schedule that adapts to what you actually know.

Yes, "wetstone" is spelled that way on purpose.

Requirements

  • Obsidian 1.7.2 or newer, on desktop or mobile.
  • An API key for one of: an OpenAI-compatible API, Anthropic, Google Gemini, or a local/self-hosted endpoint (for example Ollama). You supply and pay for your own key; the plugin ships with none.

Install

From Obsidian: Settings → Community plugins → Browse, search for "Wetstone", install, and enable.

Manual: download main.js, manifest.json, and styles.css from the latest release into <vault>/.obsidian/plugins/wetstone/, then enable the plugin.

Quick start

  1. Open Settings → Wetstone. Pick a provider, paste your API key, and choose a model.
  2. Add one or more scope folders: the notes in them become quiz material.
  3. Open Wetstone from the ribbon (the brain icon) and choose Update questions from notes. The first run reads your notes and writes a question bank; re-running only touches notes that changed.
  4. Choose a deck and Start quiz. Answer honestly, including the "Not sure yet" button, so the schedule reflects what you really know.

Question types

Wetstone writes the format that best fits each fact: multiple choice, true/false, multiple select, fill in the blank (typed, normalized), ordering, and cloze (fill in the blanks from dropdowns).

How reviewing works

Scheduling uses FSRS spaced repetition and runs entirely on your device, offline. Wetstone tracks what you know per concept, rotates between question variants so you learn the idea rather than one phrasing, and occasionally serves a fresh angle to catch answers that are familiar rather than truly known. Your question bank, scheduling state, and daily review logs are plain markdown and JSON files in a folder inside your vault, so they are greppable, diffable, and yours.

Privacy and network use

  • What leaves your vault: when you update questions, the content of the notes in your scope folders is sent to the LLM provider you configured, in order to extract concepts and write questions. Nothing else is sent anywhere. Reviewing is fully local and offline.
  • Your API key is stored in plaintext in data.json inside your vault, and syncs wherever your vault syncs. Treat your vault accordingly.
  • No telemetry. Wetstone makes no network calls other than to the provider endpoint you set.

Troubleshooting

For a detailed activity log while diagnosing an issue, turn on Debug logging in settings; it prints ingestion, review, and top-up activity to the developer console. It is off by default.

License

0-BSD. See LICENSE.

Development

npm install
npm run dev      # watch build
npm run build    # lint (zero warnings) + typecheck + production build
npm test         # unit tests for the pure core

The build fails on any eslint-plugin-obsidianmd violation by design.

About

Quiz yourself on your own notes with adaptive spaced repetition, powered by an LLM key you supply.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages