How an0319/obsidian-plugin works
Smart Notes Organizer is an Obsidian plugin for local-first Markdown filing. Users trigger an individual-note or Inbox run, or let vault events queue eligible notes; the organizer analyzes each note through the selected classification engine, then moves it into the suggested folder and records the action. Its major capabilities include rule, TF-IDF, Ollama, and imported shared-config classification; learning folder profiles from existing notes; custom-rule and settings workflows; and batch reports with undo. The README documents the engine fallback behavior; excerpts do not show all dispatcher wiring, so uncertain calls are omitted.
Main entry points: dispatcher.ts Engine dispatcher · organizerService.ts Organizer service · settingsTab.ts Settings panel · main.ts Plugin entry
Components 20
Organizing runtime
- Plugin entry
src/main.ts - Organizer service
src/scheduler/organizerService.ts - Engine dispatcher
src/scheduler/dispatcher.ts
Classification engines
- Rule engine
src/engines/ruleEngine.ts - TF-IDF engine
src/engines/tfidf/tfidfEngine.ts - TF-IDF math
src/engines/tfidf/tfidf.ts - Tokenizer
src/engines/tfidf/tokenizer.ts - Ollama engine
src/engines/ollamaEngine.ts - Shared-config engine
src/engines/sharedModelEngine.ts
Configuration and learning
- Settings panel
src/settings/settingsTab.ts - Settings model
src/settings/settings.ts - Custom rules loader
src/services/customRulesLoader.ts - Seed folder mapping
src/services/seedFolderMapper.ts - User folders
src/services/userFolders.ts
Filing and review
- File organizer
src/services/fileOrganizer.ts - Activity log
src/services/fileOrganizer.ts - Batch report and undo
src/ui/batchReportModal.ts
Other components
- Obsidian user
- Obsidian Vault
- Ollama service
Connections 25
- Obsidian user → Plugin entry: runs commands
- Obsidian Vault → Plugin entry: sends file events
- Plugin entry → Organizer service: organizes notes
- Plugin entry → Engine dispatcher: configures engines
- Organizer service → Engine dispatcher: requests analysis
- Engine dispatcher → Rule engine: dispatches analysis
- Engine dispatcher → TF-IDF engine: dispatches analysis
- Engine dispatcher → Ollama engine: dispatches analysis
- Engine dispatcher → Shared-config engine: dispatches analysis
- TF-IDF engine → TF-IDF math: computes vectors
- TF-IDF math → Tokenizer: tokenizes text
- Shared-config engine → TF-IDF math: computes similarity
- Ollama engine → Ollama service: requests classification
- Organizer service → Obsidian Vault: reads note snapshots
- Organizer service → File organizer: moves and logs
- File organizer → Obsidian Vault: creates folders and moves
- File organizer → Activity log: writes activity
- Plugin entry → Settings panel: opens settings
- Settings panel → Settings model: updates preferences
- Settings panel → Custom rules loader: imports rule files
- Settings panel → Seed folder mapping: prepares seed mappings
- Settings panel → User folders: lists existing folders
- Organizer service → Batch report and undo: presents batch results
- Batch report and undo → Obsidian Vault: restores moved files
- Batch report and undo → Activity log: records undo