AI Organizer

approved

by Wang Yilai

All-in-one AI plugin: smart note formatting, one-click image organization, multi-model chat (OpenAI/Claude/Gemini), AI metadata, inbox auto-sort, link suggestions, batch processing and translation. - This plugin has not been manually reviewed by Obsidian staff.

21 stars176 downloadsUpdated 28d agoMIT

AI Organizer for Obsidian

A note-aware AI workspace for writing, reading, image understanding, and knowledge-base maintenance.

Install from Obsidian Release Obsidian version MIT license

Why AI Organizer · Interface · Installation · Configuration · Feature Reference · Privacy

InstallPlugin Page · Open in Obsidian · BRAT
ProjectGitHub · Releases · Issues · Author
LanguageEnglish · 简体中文
AI Organizer for Obsidian

AI Organizer brings AI into the note itself. Select a passage to translate or rewrite it, ask questions with the current note and its images as context, keep anchored reading notes outside the Markdown body, and maintain a vault with formatting, metadata, links, inbox, attachment, and batch tools.

It supports remote APIs and local OpenAI-compatible services. Text and vision models are configured separately, while built-in OCR provides a fallback when a vision model is unavailable.

Why AI Organizer

CapabilityWhat it gives you
WriteSelection actionsTranslate, explain, polish, expand, summarize, annotate, or ask about selected text without leaving the editor.
TranslateReview-first translationChoose the target language at any time, use a dedicated small model, then copy, replace, or save the result as an annotation.
ThinkAnchored annotationsSave translations, thoughts, questions, and TODOs outside the Markdown body while keeping a visible anchor beside the original passage.
ChatReal note contextChat with the current note, a selection, referenced note images, pasted or dropped images, and recent conversation history.
SeeVision plus OCRUse a selected vision model for visual understanding; fall back to built-in OCR to extract visible text for the text model.
ControlIndependent model profilesGive every model its own provider, URL, API key, model ID, role, context window, temperature, and output limit.
CustomizeEditable promptsDefine the chat system prompt and create reusable formatting Prompt templates that appear as formatting modes.
ReviewSafe formattingCompare Original, After, and Diff views. Empty, suspiciously short, or image-dropping results are blocked before writing.
OrganizeVault maintenanceOrganize images, rewrite links, archive orphan attachments, generate frontmatter, sort an inbox, suggest links, and process notes in batches.
FocusCompact workspaceCollapse the workbench, see active context and estimated usage, switch only between configured models, and restore chat or reading position.
LanguageBilingual interfaceSwitch the plugin interface between Chinese and English from settings.

Interface

Context that follows your work

The sidebar can use the whole note or a stable selection snapshot. It resolves images referenced by that context, analyzes them through the active vision model or OCR fallback, and passes a concise result to the text model. The ring beside the composer estimates usage against the context-window value configured for the active model.

Context-aware chat using selected text and OCR from a note image

A workbench that gets out of the way

The workbench groups note-level actions without permanently taking conversation space. Collapse it when you only need chat; expand it for formatting, annotations, metadata, links, image organization, and inbox review.

Collapsible AI Organizer workbench
Collapsible note workbench

Select text in the editor and the actions appear beside the passage. Translation language is available directly in the toolbar, while the remaining actions stay one click away.

Floating toolbar for selected text
Translate, explain, polish, expand, summarize, annotate, or ask

Notes attached to the passage, not inserted into it

Annotations are stored in plugin data instead of being appended to the Markdown body. Write your own thought or save a translation, then return to the marked passage later. Annotations can be edited, deleted, located, and exported.

Compose an annotation
Write a thought, question, or TODO

Annotation anchor beside text
A lightweight anchor marks the source passage

Models are profiles, not global credentials

Each profile carries its own endpoint and key. Keep several text or vision models, select one active text model and one active vision model, and route translation to a smaller dedicated text model when desired.

Independent text and vision model profiles

Images are part of the note context

Paste or drag images into chat, or let AI Organizer discover images referenced by the current note or selection. Limits for image count and file size are configurable per request; they do not limit how many images a document may contain.

A note image available to contextual chat

Formatting stays reviewable

Formatting runs in a non-blocking workflow and opens a dedicated review window when the model finishes. Compare the original, formatted result, and diff before applying the change.

Formatting workflow with preview and diff

Installation

Obsidian Community Plugins

  1. Open Settings -> Community plugins in Obsidian.
  2. Select Browse and search for AI Organizer.
  3. Select Install, then Enable.

You can also open the AI Organizer plugin page directly.

BRAT

Install BRAT, choose Add a beta plugin for testing, and enter:

Pitkil/obsidian-AI-organization-plugin

Manual installation

Download main.js, manifest.json, and styles.css from the latest release, then place them in:

<your-vault>/.obsidian/plugins/ai-organizer/

Reload Obsidian and enable AI Organizer under Community plugins.

Configuration

Open Settings -> AI Organizer. Configure at least one usable text-model profile before using chat or AI tools.

Model profiles

SettingPurpose
Display nameName shown in the chat model picker.
UseMarks the profile as a text or vision model.
ProviderOpenAI-compatible, Anthropic Claude, or Google Gemini.
Base URLIndependent endpoint for this profile; useful for proxies, Ollama, LM Studio, vLLM, and third-party APIs.
API keyStored separately for each profile. Local loopback endpoints may leave it blank.
Model IDExact model name sent to the provider.
Context windowDrives the context-usage estimate shown in chat.
Temperature / max tokensControls generation behavior and output length.

OpenAI-compatible profiles work with OpenAI, DeepSeek, Qwen, GLM, Kimi, Ollama, LM Studio, vLLM, and other services that expose a compatible chat-completions API. Dedicated adapters are included for Anthropic Claude and Google Gemini.

Text, vision, and OCR

  • The active text model handles chat, writing, translation, formatting, metadata, inbox classification, and link suggestions.
  • The active vision model handles note images and chat image attachments. Only the selected vision profile is used for a request.
  • Quick profile presets are available for local Ollama and LM Studio vision endpoints; no vision-model weights are bundled with the plugin.
  • When no vision model is configured or its request fails, the built-in tesseract.js path extracts visible text and passes it to the text model.
  • OCR is a text-extraction fallback, not a replacement for visual reasoning. Formulae, layouts, charts, and photographs are better handled by a vision model.

Prompt customization

AI Organizer exposes two practical prompt layers:

  1. Chat system prompt controls the assistant's default role, language, tone, and response style.
  2. Formatting Prompt templates let you save named formatting instructions, edit or remove them, and select them as the default formatting mode.

Built-in formatting modes remain available for full formatting, Markdown syntax, heading structure, and CJK/English spacing and punctuation.

Translation

Set a default target language, maintain a list of frequently used target languages, and optionally choose a dedicated fast or inexpensive text model. If no translation model is selected, the active text model is used.

Feature Reference

Selection workflow

ActionBehavior
TranslateOpens a review popover with language switching, copy, replace, and annotation actions.
ExplainExplains the selected passage without replacing it.
PolishRewrites the selection while preserving its meaning.
ExpandAdds useful detail to the selection.
SummarizeCondenses the selection into key points.
NoteSaves your own thought, question, or TODO as an anchored annotation.
AskMoves the selection into chat context for follow-up questions.

Applied text edits are briefly highlighted and expose an undo action. Obsidian's normal undo history remains available.

Chat and context

  • Toggle current-note and selection context independently.
  • Paste or drag image attachments into the composer.
  • Stream model responses and stop generation.
  • Switch between configured, usable text-model profiles below the input.
  • Estimate context use from the note or selection, history, current input, images, and the model's configured context window.
  • Restore recent conversation history after reopening the sidebar.
  • Save a conversation as Markdown or clear current history.
  • Collapse the workbench to preserve conversation space.

Formatting and organization

ToolWhat it does
FormattingRuns a built-in mode or custom Prompt template, then presents Original, After, and Diff views before applying.
Image organizationMoves referenced images into a chosen folder, optionally renames them, and rewrites Wiki and Markdown image links.
Orphan scanMoves unreferenced attachments into an archive folder instead of deleting them.
MetadataGenerates configurable tags, summary, and aliases in frontmatter.
InboxReviews AI-proposed destination folders before moving inbox notes; optional folder creation is supported.
Link suggestionsReviews related-note candidates and inserts accepted links into the note.
Batch processingRuns formatting, metadata generation, or translation across selected notes with a configurable request delay.
Reading positionRestores the saved scroll and cursor position when a note is reopened.

Commands

CommandDescription
Open AI chat panelOpen or focus the sidebar.
Close AI chat sidebarClose the AI Organizer view.
Open AI Organizer settingsOpen plugin settings.
Restore last reading positionReturn to the active note's recorded position.
Format active note with AIFormat the note and open the preview.
Organize images in active noteMove images and rewrite their links.
Scan orphan attachmentsFind and archive unused attachments.
Generate tags, summary, and aliasesGenerate frontmatter metadata.
Organize inbox intelligentlyReview and apply inbox destinations.
Suggest related notesReview and insert related-note links.
Batch AI processingProcess multiple selected notes.
Translate selected textOpen translation for the current selection.
Edit selected textPolish, expand, continue, or compress the current selection.
Export current note annotationsExport annotations from the active note to Markdown.

Privacy and Limits

  • AI actions run only when you trigger them. Depending on the operation, the plugin may read the active note, selected text, referenced images, candidate note titles, or attachment paths.
  • Content sent to a remote provider is governed by that provider's terms. Local Ollama or LM Studio endpoints can keep model requests on your machine or local network.
  • API keys are stored in Obsidian's plugin data. They are not encrypted by AI Organizer; protect and sync that data accordingly.
  • OCR uses tesseract.js. Required runtime or language data may need to be obtained and cached before local recognition can run.
  • Long note content is truncated before requests. Image limits are configurable from 1–200 images and 1–50 MB per image; defaults are 20 images and 5 MB.
  • The context ring is an estimate, not provider billing data. It uses the configured context-window size and approximate token counts.
  • Annotation records live in plugin data. Sync plugin data if you expect the same annotations on multiple devices.
  • Review generated edits, metadata, links, and file-move suggestions before applying them to important vaults.

Development

npm install
npm run dev
npm run build
npm test
ScriptDescription
npm run devWatch source files and rebuild during development.
npm run buildType-check and bundle the plugin into main.js.
npm testRun the Vitest suite.
npm run test:watchRun tests in watch mode.
src/
├── main.ts          Plugin lifecycle, commands, editor interactions
├── settings.ts      Persisted settings, defaults, migration
├── providers/       OpenAI-compatible, Claude, Gemini
├── core/            Chat, formatting, OCR, images, metadata, inbox, links
├── ui/              Sidebar, settings, review and workflow modals
└── utils/           Position, Markdown, notification helpers

Contributing

Issues and focused pull requests are welcome. Please describe the user workflow being changed, keep unrelated refactors separate, and run npm run build plus npm test before submitting.

License

MIT © Wang Yilai

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.