Automatically classifies and applies metadata to your notes.
Automatically classifies and applies metadata to your notes.

/systemone endpoint. Chat models (Anthropic, Gemini, OpenAI, Codex, Ollama, …) never classify; they only generate new tags.tags field when Generate new tags is explicitly enabled; this is off by default.tags field, enable Generate new tags, New tags use the selected model when it is a chat model, otherwise the first chat model. Local Ollama and LM Studio can be keyless.Ordinary fields never generate new values. Ambiguous selection or a failed required generation request leaves the field unchanged. The maximum count limits values selected/generated in that operation, not the total values already present when appending. Empty candidates skip the classification request; no remaining generation slots skip generation.
Community plugins: open Settings, Community plugins, Browse, search for "Metadata Auto Classifier", then Install and Enable.
Manual: download main.js, manifest.json and styles.css from the latest release into <vault>/<configDir>/plugins/metadata-auto-classifier/, then enable the plugin. <configDir> is your vault's configuration folder (.obsidian by default).
api.typesafe.ai/v1/systemone for TypeSafe, <base URL>/decisions for OpenAI decision models, <base URL>/systemone for other decision models. Explicitly enabled tag generation sends the note body, instructions and excluded/existing values to the chat generation model. Reference values may come from metadata on other notes; those other note bodies are not sent by classification.<configDir>/plugins/metadata-auto-classifier/usage.json and shown under Providers. They cover this plugin's requests only, not everything a key is used for. Note text is never stored, and no extra API calls are made to collect them.auth.openai.com; Codex inference contacts chatgpt.com. The verification page opens only after an explicit click. There is no local callback server or automatic clipboard copy. Refresh remains account-bound and must be saved before retrying.requestUrl, not Node HTTP streaming. Cancellation prevents stale processing/writes but cannot physically cancel a request already dispatched by that API.Offline tests do not certify live-account entitlement, mobile execution or semantic classification quality.
See the dev contract: bun run dev, bun run build, bun run ci.
Install with bun install --frozen-lockfile. Builds go to dist/; workspace tooling owns development-vault deployment. Shared CI/release workflows remain referenced from the upstream template.