* feat: Add configurable multiple tag suggestions with max limit setting * refactor: Move createLoadingNotice method before its usage in runClassifyTag * fix: Add missing catch block and error handling in classifyTag method * fix: Add nested try-catch for JSON parsing and improve error handling style: Format code with consistent indentation and line breaks * refactor: Remove max_suggestions from template and apply globally in classification logic * refactor: Move max suggestions setting to main Advanced Settings section * improve prompt adherence for JSON (#33) * fix: imporove default prompt template to ensure valid JSON output. * bump version to 1.2.1 * Fix JSON parse error when other GPT model used (#38) * Integrate Jina AI for text classification - rebased - Update package-lock.json - Add JinaAI API client in src/jina-api.ts. - Update settings (src/settings.ts) to include Jina AI engine selection, API key, base URL, and model. - Modify main.ts to conditionally call Jina AI or ChatGPT based on selected engine. - Adjust response parsing for Jina AI output. - Add Jina API test button in settings. - Hide ChatGPT-specific advanced settings when Jina AI is selected and vice-versa. - Update manifest.json. - Update .gitignore. --------- Co-authored-by: Robin Tuszik <mail@robin.gg> Co-authored-by: Hyeonseo Nam <auspice7g@gmail.com> Co-authored-by: SophomoreSo <57844175+SophomoreSo@users.noreply.github.com> |
||
|---|---|---|
| img | ||
| src | ||
| .editorconfig | ||
| .eslintignore | ||
| .eslintrc | ||
| .gitignore | ||
| .npmrc | ||
| esbuild.config.mjs | ||
| LICENSE | ||
| manifest.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| styles.css | ||
| tsconfig.json | ||
| version-bump.mjs | ||
| versions.json | ||
Auto Classifier
Auto Classifier is an Obsidian plugin that helps you automatically classify tags in your notes using any OpenAI-compatible LLM API. The plugin can analyze your note (including its title, frontmatter, content, or selected area) and suggest relevant tags based on the input with tags in your vault. This can be used for various specific purposes, for example, DDC classification for books, keyword recommendation, research paper categorization, and so on. Save time and improve your note organization.
How to use
-
Configure your API settings in the settings tab:
- Enter your API key
- Optionally set a custom base URL (useful for proxies or alternative API endpoints)
- Choose your preferred model
- Test your configuration using the Test API call button
-
This plugin consists of 4 Input Commands that you can run. By simply running these commands, it will automatically classify your note:
Classify tag from Note titleClassify tag from Note FrontMatterClassify tag from Note ContentClassify tag from Selected Area
-
Toggle and choose from different Tag Reference types. The LLM will select the appropriate tag from these references:
All tags(default)Filtered Tagswith regular expressionManual Tagsthat are defined manually
-
Specify the Output Type from the response of the LLM:
#Tag: at yourCurrent CursororTop of Content[[WikiLink]]: at yourCurrent CursororTop of ContentFrontMatter: withkeyTitle Alternative: at the end of note's title
-
(Optional) Add a
PrefixorSuffixfor the output format. -
(Optional) You can use your custom request for your selected API:
Custom Prompt Template- The LLM will respond based on this prompt. The input coming from your Command will be replaced by
{{input}}, and the reference tags you set will be placed in{{reference}}.
- The LLM will respond based on this prompt. The input coming from your Command will be replaced by
Custom Chat Role- You can guide the AI's behavior by setting this system role
Example
Use Case #1: Selected area → Current cursor
Use Case #2: Content → FrontMatter
Use Case #3: FrontMatter → Title
Use Case #4: Title → FrontMatter
DDC number classification
If you want to use this plugin for DDC number classification, edit the Custom Prompt Template like this:
Please use Dewey Decimal Classification (DDC) to classify this content:
"""
{{input}}
"""
Answer format is JSON {reliability:0~1, output:"[ddc_number]:category"}.
Even if you are not sure, qualify the reliability and select one.
Convert the blank spaces to "_" in the output.
LCSH classification
LCSH classification can be similar:
Please use Library of Congress Subject Headings (LCSH) to classify this content:
"""
{{input}}
"""
Answer format is JSON {reliability:0~1, output:"[First LCSH term]--[Second LCSH term]--[Third LCSH term]"}.
Even if you are not sure, qualify the reliability and select one.
Convert the blank spaces to "_" in the output.
Installation
- Search for
Auto Classifierin the Community plugin tab of the Obsidian settings. - Alternatively, you can manually download the latest release from this repository's GitHub releases and extract the ZIP file to your Obsidian plugins folder.
Support
If you encounter any issues while using this plugin or have suggestions for improvement, please feel free to submit an issue on the GitHub repository. Pull requests are also welcome.
Author
Hyeonseo Nam
License
MIT License



