README file from
GithubSmart Tagger for Obsidian
An Obsidian plugin that automatically generates 2-5 relevant tags for your notes using AI (ChatGPT or Claude).
Features
- Dual AI Support: Choose between OpenAI (ChatGPT) or Claude API
- Smart Tag Generation: Generates 2-5 contextually relevant tags per note
- Vault Tag Matching: AI-generated tags are matched against your existing vault tags — vault casing always wins
- Batch Processing: Process all notes in your vault at once
- Tag Preview: Review and select tags before applying them
- Customizable: Configure prompts, tag limits, and behavior
- Existing Tag Awareness: Optionally exclude tags that already exist
- Rate Limiting: Configurable requests-per-minute to avoid quota exhaustion
- Retry Logic: Automatic exponential backoff on transient failures
- Multi-language: English and French interface
Installation
Manual Installation
- Download the latest release from the GitHub releases page
- Extract the files to your vault's
.obsidian/plugins/smart-tagger/directory - Enable the plugin in Obsidian's Community Plugins settings
Building from Source
- Clone this repository
- Run
npm installto install dependencies - Run
npm run buildto build the plugin - Copy
main.js,manifest.json, andstyles.cssto your vault's.obsidian/plugins/smart-tagger/directory
Setup
- Go to Settings → Community Plugins → Smart Tagger
- Choose your preferred AI provider (OpenAI or Claude)
- Add your API key:
- OpenAI: Get your API key from OpenAI's platform
- Claude: Get your API key from Anthropic's console
- Configure other settings as needed
Usage
Generate Tags for Current Note
- Click the tag icon in the ribbon bar
- Use the command palette: "Generate tags for current note"
- The plugin will analyze your note content and suggest relevant tags
Batch Processing
- Use the command palette: "Generate tags for all notes"
- This will process all markdown files in your vault
- ⚠️ Warning: This may consume significant API credits for large vaults
- ⚠️ Warning: If you have not allowed "Auto Apply Tags" in settings, you will need to approuve tag additions on every note
Tag Preview
- By default, generated tags are shown in a preview modal
- You can select which tags to apply to your note
- Enable "Auto Apply Tags" in settings to skip the preview
Settings
- Default AI Provider: Choose between OpenAI and Claude
- API Keys: Configure your OpenAI and/or Claude API keys
- Tag Limits: Set minimum (1-10) and maximum (1-10) number of tags
- Custom Prompt: Customize the AI prompt for tag generation
- Auto Apply Tags: Skip preview and automatically apply generated tags
- Exclude Existing Tags: Don't generate tags that already exist in the note
- Prefer Existing Vault Tags: Match AI output against vault tags case-insensitively; vault casing wins (default: enabled)
- Rate Limit: Max API requests per minute, 1-60 (default: 10)
- Max Retries: Retry attempts on failure, 1-10 (default: 3)
- Language: Interface language — English or French
API Usage and Costs
This plugin makes API calls to external AI services:
- OpenAI: Uses GPT-3.5-turbo model (~$0.002 per 1K tokens)
- Claude: Uses Claude-3-haiku model (~$0.00025 per 1K tokens)
Each note processed typically uses 50-200 tokens depending on content length.
Privacy
- Your note content is sent to the selected AI provider for tag generation
- No data is stored by this plugin beyond your settings
- API keys are stored locally in your Obsidian vault
- Review the privacy policies of your chosen AI provider
Support
If you encounter issues or have feature requests:
- Check the existing GitHub issues
- Create a new issue with details about your problem
- Include your Obsidian version and plugin version
Development
This plugin is built with TypeScript and uses:
- Obsidian API for vault interaction
- OpenAI API for ChatGPT integration
- Anthropic API for Claude integration
- esbuild for bundling
License
MIT License - see LICENSE file for details