rklpoi567831 downloadsZero-cloud, privacy-first note organizer. Drop files in your Inbox, and let local AI (Ollama) automatically tag and move them to the right folders.
Automatically organize your Obsidian vault with AI. OpDoc watches your inbox folder, analyzes new markdown files using AI (Ollama or OpenAI), assigns tags via frontmatter, and moves them to the right folder.
.md file into your Inbox folderOpDoc-Log.mdprocessFrontMatter API, no regex hacksOpDoc-Log.md table with original path, target path, status, tags, processing time, errors_1 through _100, then timestamp fallbackllama3.2 for analysis, nomic-embed-text for embeddings)main.js, styles.css, manifest.json into your vault's .obsidian/plugins/opdoc-ai-auto-organizer/ directory# 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.
| Command | Description |
|---|---|
Process inbox now |
Manually trigger inbox scan and processing |
Rebuild embedding cache |
Rebuild folder embeddings for similarity matching |
| Setting | Default | Description |
|---|---|---|
| Inbox folder | Inbox |
Source folder for unprocessed files |
| Processing delay | Immediate | Delay before processing new files |
| AI provider | Ollama | ollama or openai |
| AI model | llama3.2 |
Chat model for file analysis |
| Embedding provider | Ollama Local | ollama_local or openai_cloud |
| Embedding model | nomic-embed-text |
Model for vector embeddings |
| Similarity threshold | 0.6 |
Minimum cosine similarity for folder suggestion |
| Custom instructions | (empty) | Additional instructions for AI analysis |
| Activity logging | Enabled | Write processing results to OpDoc-Log.md |
OpDoc never sends data to any third-party server. All processing goes directly from your Obsidian client to your configured AI provider (local Ollama or your own OpenAI API key). No telemetry, no analytics, no phone-home.
npm install
npm run dev # watch mode
npm run build # production build
npm run lint # ESLint check
manifest.json with the new version number and minimum Obsidian versionversions.json with "new-version": "minimum-obsidian-version" so older Obsidian builds can download a compatible versionv prefix)manifest.json, main.js, styles.css as release assetsRun
npm version patch|minor|majorafter updatingminAppVersioninmanifest.jsonto bump version across all files.
README.md in the repo rootcommunity-plugins.json:{
"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": "<your-github-username>/OpDoc-AI-Auto-Organizer"
}
#updates channel on Discord (requires developer role)