OpDoc AI Auto Organizer

approved

by rklpoi5678

Zero-cloud, privacy-first note organizer. Drop files in your Inbox, and let local AI (Ollama) automatically tag and move them to the right folders. - This plugin has not been manually reviewed by Obsidian staff.

388 downloadsUpdated 4mo ago0BSD

OpDoc AI Auto Organizer

English | 한국어 | 日本語

Automatically organize your Obsidian vault with AI. OpDoc watches your inbox folder, analyzes new Markdown files with Ollama or OpenAI, adds tags to their frontmatter, and moves them to the appropriate folder.

How It Works

  1. Drop a .md file into your Inbox folder.
  2. OpDoc reads the content and sends it to your configured AI provider.
  3. The AI determines the best target folder and relevant tags.
  4. OpDoc writes the tags to the frontmatter and moves the file.
  5. Every action is logged to OpDoc-Log.md.

Features

  • Two AI backends — Ollama (local and free) or OpenAI (cloud, API key required)
  • Embedding-based folder matching — uses vector similarity to match new files with existing folder content
  • 6-step onboarding wizard — guides you through the initial setup
  • Automatic and manual processing — processes files when they are created, scans every 5 minutes, or runs on command
  • Frontmatter tags — uses the processFrontMatter API instead of regular expressions
  • Retry with backoff — retries failed operations up to 3 times with exponential backoff
  • Startup catch-up — processes files left in the inbox after a restart
  • Activity log — records the original path, target path, status, tags, processing time, and errors in OpDoc-Log.md
  • Error classification — provides Korean messages for common failures, including unavailable Ollama, invalid API keys, rate limits, and network errors
  • File collision handling — appends _1 through _100, then falls back to a timestamp

Setup

Requirements

  • Obsidian v1.5.0+
  • For local AI: Ollama running locally (for example, llama3.2 for analysis and nomic-embed-text for embeddings)
  • For cloud AI: OpenAI API key

Install

  1. Copy main.js, styles.css, and manifest.json into your vault's .obsidian/plugins/opdoc-ai-auto-organizer/ directory.
  2. Enable the plugin under Obsidian Settings → Community plugins.
  3. The onboarding wizard opens automatically when you first enable the plugin.

Ollama Setup

# Install Ollama (https://ollama.ai)
ollama pull llama3.2
ollama pull nomic-embed-text
ollama serve

OpDoc will auto-detect Ollama at http://localhost:11434 during onboarding.

Commands

CommandDescription
Process inbox nowManually trigger inbox scan and processing
Rebuild embedding cacheRebuild folder embeddings for similarity matching

Settings

SettingDefaultDescription
Inbox folderInboxSource folder for unprocessed files
Processing delayImmediateDelay before processing new files
AI providerOllamaollama or openai
AI modelllama3.2Chat model for file analysis
Embedding providerOllama Localollama_local or openai_cloud
Embedding modelnomic-embed-textModel for vector embeddings
Similarity threshold0.6Minimum cosine similarity for folder suggestion
Custom instructions(empty)Additional instructions for AI analysis
Activity loggingEnabledWrite processing results to OpDoc-Log.md

Privacy

OpDoc includes no telemetry, analytics, or other tracking. With Ollama, note content is sent only to your configured Ollama endpoint. With OpenAI, note content is sent directly to your configured OpenAI-compatible endpoint for processing. Your API key is stored locally by Obsidian. Review your AI provider's privacy policy before using a cloud service.

Feedback and contributions

Issues and pull requests are welcome in any language. Read CONTRIBUTING.md before contributing, then report a bug or request a feature. Pull requests should be focused and explain how the change was verified.

Development

npm install
npm run dev        # watch mode
npm run build      # production build
npm run lint       # ESLint check

Releasing

  • Update manifest.json with the new version number and minimum Obsidian version.
  • Update versions.json with "new-version": "minimum-obsidian-version" so older Obsidian versions can download a compatible release.
  • Create a GitHub release using the version number as the tag, without a v prefix.
  • Upload manifest.json, main.js, and styles.css as release assets.

Run npm version patch|minor|major after updating minAppVersion in manifest.json to bump version across all files.

Submitting to the Community Plugin List

{
    "id": "opdoc-ai-auto-organizer",
    "name": "OpDoc AI Auto Organizer",
    "author": "hey_yoon",
    "description": "Auto-organize markdown files using AI analysis. Tags and moves files from inbox to appropriate folders.",
    "repo": "rklpoi5678/OpDoc-AI-Auto-Organizer"
}

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.