Your AI-powered atomic note forge for Obsidian.
ZettelForge helps you transform your literature notes into high-quality atomic notes (Zettels) using AI. Designed for academic workflows and the Zettelkasten methodology, it automates the creation of atomic notes from your Obsidian vault. It processes your source notes, generates candidate atomic notes, and provides a streamlined inbox workflow for reviewing, editing, and finalizing them.
Note: This project was primarily built to solve my own personal friction with the time it takes to create atomic notes. However, you are welcome to use it if you find it helpful and adapt it to your own workflow!
- AI-Powered Generation: Instantly generate multiple atomic note candidates from a single source note.
- Inbox Workflow: Candidates are saved to a dedicated "Inbox" folder for review, ensuring no AI content enters your permanent vault without approval.
- Secure Setup: API keys are stored securely in
localStorageand never saved to plaintext files or synced. - One-Note Flow: Select a source note (literature note, daily note, etc.) and generate atomic notes directly from it.
- Atomic Principles Embedded: The AI is prompted with a strict definition of "atomic notes" (Single Responsibility Principle for ideas).
- Sequential Review: Process candidates one by one with a focused UI.
- Duplicate Detection: Early detection of potential duplicate notes to keep your vault clean.
- Multi-Provider Support: Bring your own Key (BYOK) support for:
- Google Gemini (Default)
- OpenAI
- Anthropic Claude
- OpenRouter
- Customizable Templates: generated notes include metadata like confidence score, source links, and tags.
- Smart Deduplication:
- Soft Check: Warns about semantically similar content using Jaccard similarity (scoped to Atomic Notes folder).
For a complete knowledge management pipeline, tailored for academic and research workflows, it is recommended to use ZettelForge alongside its sister project: Zotero Triage.
- Zotero Triage: Handles the creation of high-quality literature notes from your Zotero library, ensuring you capture the best source material.
- ZettelForge: Takes those literature notes and uses AI to distill them into atomic notes, ready for your permanent Zettelkasten.
Install both to optimize your workflow from "reading" to "synthesizing".
This plugin has not yet been submitted to the community plugins list. We will submit it once it has matured enough. In the meantime, please use BRAT, manual installation, or install from a release.
- Download the latest release from the Releases page.
- Extract the
main.js,manifest.json, andstyles.cssfiles into your vault's plugin folder:<VaultFolder>/.obsidian/plugins/zettelforge/. - Reload Obsidian.
- Enable "ZettelForge" in Community Plugins settings.
- Install the BRAT community plugin in Obsidian.
- Open the command palette and run
BRAT: Add a beta plugin for testing. - Enter the GitHub repository URL:
https://github.com/hbiaou/zettelforge. - Enable the plugin in Community Plugins settings.
- Go to Settings > ZettelForge.
- Select a Provider: Choose your preferred AI provider (default is Google).
- Enter API Key: Enter your API key for the selected provider.
- Configure Folders:
- Inbox Folder: Where generated candidates will be placed (Default:
Inbox). - Final Folder: Where finalized atomic notes will be moved (Default:
Zettelkasten). - Note: Ensure these folders exist in your vault.
- Inbox Folder: Where generated candidates will be placed (Default:
- Open a source note (e.g., a literature note, article, or book summary).
- Open the Command Palette (
Ctrl/Cmd + P). - Run
ZettelForge: Generate candidates atomic Notes from current note. - The AI will analyze the note and generate atomic note candidates into your configured Inbox Folder.
- Open the Command Palette.
- Run
ZettelForge: Review Inbox candidates. - A review modal will open showing the first candidate.
- Actions:
- Finalize: Approves the note, moves it to your Final Folder, and updates its status.
- Remove: Permanently deletes the candidate.
- Cancel: Closes the view but keeps the note in the Inbox for later.
- Next: Skips to the next candidate in the Inbox.
ZettelForge sends the content of your currently active note to the selected AI provider to generate summaries. No other vault data is sent unless specified. usage is subject to the privacy policy of the AI provider you choose.
- Clone the repository.
- Run
npm install. - Run
npm run devto start the watcher. - Copy the built files to your test vault or symlink the folder.
BIAOU Samadori S. Honoré
Distributed under the MIT License. See LICENSE for more information.