Smart Note Agent

approved

by binhong87

This plugin has not been manually reviewed by Obsidian staff. Agentic AI assistant for reading and editing vault notes.

1 stars66 downloadsUpdated 23d agoMIT

Smart Note Agent

An agentic AI assistant plugin for Obsidian that can read and — with your approval — modify vault notes, powered by your choice of LLM provider.

中文文档

Features

  • Agentic chat — multi-turn conversations with an autonomous tool-calling loop
  • Vault tools — full-text search, read notes, list folders, follow backlinks and outgoing links, get the active note and current selection
  • Edit mode — create, edit (full replace or unified patch), delete, and move notes; every change is shown as a diff for your review before it is committed
  • Multiple providers — OpenAI, Anthropic, DeepSeek, Qwen (Alibaba), Kimi (Moonshot), Zhipu (GLM), MiniMax, OpenRouter, Ollama (local), and any custom OpenAI- or Anthropic-compatible endpoint
  • Three modes
    • Ask — read-only; for Q&A and research without touching your vault
    • Edit — full write access; all changes require your approval via a diff UI
    • Scheduled — automated background runs (daily summary, weekly review) with restricted write access
  • Scheduled tasks — daily summaries and weekly reviews written automatically to configurable folders
  • Auto-compaction — conversation history is compacted transparently when approaching the model's context limit
  • Per-provider profiles — separate API key, base URL, and model saved per provider
  • User profile — optional personal description injected into every system prompt
  • i18n — English and Simplified Chinese UI, auto-detected from Obsidian's language setting

Installation

Community plugins (recommended)

  1. Open Settings → Community plugins and disable Safe mode if prompted
  2. Click Browse and search for Smart Note Agent
  3. Click Install, then Enable

Manual

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Create the folder <your-vault>/.obsidian/plugins/smart-note-agent/
  3. Copy the three files into that folder
  4. Reload Obsidian and enable the plugin in Settings → Community plugins

Setup

  1. Open Settings → Smart Note Agent
  2. Select your LLM provider and enter your API key
  3. Optionally set a custom base URL (for self-hosted or proxy endpoints) and model name
  4. Choose a mode: Ask for read-only access, Edit for write access

Usage

  • Click the bot icon in the left ribbon, or run Open Note Agent from the command palette
  • Type your message and press Enter (or Shift+Enter for a new line)
  • In Edit mode, the agent proposes note changes as unified diffs — approve or reject each one before it is written to disk
  • Use New Chat to start a fresh conversation; previous conversations are saved and accessible via the history panel

Supported Providers

ProviderNotes
OpenAIGPT-4o, GPT-4o-mini, o1, o3, etc.
AnthropicClaude 3.5 / 4 series
DeepSeekdeepseek-v3, deepseek-r1
QwenAlibaba Cloud Dashscope (qwen-plus, qwen-max, etc.)
KimiMoonshot AI (moonshot-v1 series)
ZhipuGLM-4 series
Z.aiGLM-4 series via Z.ai
MiniMaxMiniMax-Text series
OpenRouterAny model via openrouter.ai
OllamaLocal models — Llama, Mistral, Qwen, etc.
LM StudioLocal models via LM Studio
CustomAny OpenAI-compatible or Anthropic-compatible endpoint

Disclosures

Account required

Using a remote LLM provider (OpenAI, Anthropic, DeepSeek, Qwen, Kimi, Zhipu, Z.ai, MiniMax, OpenRouter) requires an account with that provider and a valid API key. Local providers (Ollama, LM Studio) and custom self-hosted endpoints require no account.

Payment may be required

Remote LLM providers charge for API usage. You are billed directly by the provider you choose — this plugin has no subscription or in-app purchase of its own. Local providers (Ollama, LM Studio) are free.

Network use

When you send a message, the plugin transmits your message text and relevant vault context to the LLM provider you have configured. No data is sent to any service by default — the plugin is inert until you supply an API key and send a message. The following remote services may be contacted, depending on your provider selection:

ProviderEndpoint
OpenAIhttps://api.openai.com
Anthropichttps://api.anthropic.com
DeepSeekhttps://api.deepseek.com
Qwen (Alibaba Cloud)https://dashscope.aliyuncs.com
Kimi (Moonshot AI)https://api.moonshot.cn
Zhipuhttps://open.bigmodel.cn
Z.aihttps://open.z.ai
MiniMaxhttps://api.minimax.chat
OpenRouterhttps://openrouter.ai

Ollama and LM Studio communicate only with localhost — no data leaves your machine. The Custom provider connects to whatever endpoint you configure.

Vault access

This plugin reads, writes, and enumerates vault files in order to operate:

  • Read — notes are read to answer questions, provide context to the LLM, and compute diffs before edits.
  • Enumeratelist_folder and search_vault tools scan all files (or all Markdown files) in the vault to find matches. Only file paths and content relevant to the query are sent to the LLM.
  • Write — in Edit and Scheduled modes the agent can create, modify, delete, and move notes. Every write operation is presented as a unified diff for your review and requires explicit approval before anything is written to disk.

Clipboard access

When you click the Copy button on a code block in the chat view, the plugin writes that code block's text to your clipboard via the browser Clipboard API. The plugin never reads from your clipboard.

Development

npm install
npm run dev       # esbuild watch mode — rebuilds on save
npm run build     # tsc type-check + production bundle
npm test          # unit tests (Vitest)

For local testing, symlink or copy the dist/ folder into your vault:

<vault>/.obsidian/plugins/smart-note-agent/

The plugin artifacts (main.js, manifest.json, styles.css) are output to dist/ after each build.

License

MIT

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.