No description
Find a file
Bin-Home 32b76c6d88 chore: fix all ObsidianReviewBot lint errors, bump to v0.3.3
Resolves all Required issues flagged by the Obsidian community plugin
review bot:

- Replace explicit `any` types with typed interfaces and intersection
  types across providers, tools, UI components, and services
- Remove `async` from functions/methods with no `await`; return
  Promise.resolve() where the interface demands Promise<string>
- Replace `fetch` bare global with `window.fetch` and remove
  eslint-disable comments for no-restricted-globals
- Replace `globalThis.fetch` with `window.fetch` (prefer-active-doc)
- Replace string literal style assignments with template literals to
  satisfy no-static-styles-assignment; remove disable comments
- Fix sentence case: "Apply all" / "Reject all" in en.json
- Change default chats folder migration to use regex instead of
  hardcoded .obsidian/ path literal (hardcoded-config-path)
- Remove unnecessary type assertion in migrateSettings
- Remove await from non-Promise listFolder call (await-thenable)
- Add argsIgnorePattern to no-unused-vars in eslint.config.mjs

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
2026-04-30 10:29:12 +08:00
.github/workflows ci: fix workflow shell safety, pin action SHAs, improve release quality 2026-04-27 19:52:07 +08:00
src chore: fix all ObsidianReviewBot lint errors, bump to v0.3.3 2026-04-30 10:29:12 +08:00
tests feat: add LM Studio as OpenAI-compatible local provider 2026-04-28 14:28:26 +08:00
.gitignore chore: remove docs/ from repo, ignore docs and tooling dirs 2026-04-29 10:38:47 +08:00
CLAUDE.md feat: rename plugin id and name to smart-note-agent / Smart Note Agent 2026-04-27 21:37:43 +08:00
esbuild.config.mjs fix: rename dist/main.css to dist/styles.css for Obsidian release 2026-04-27 20:05:21 +08:00
eslint.config.mjs chore: add eslint-plugin-obsidianmd, fix lint errors, bump to v0.3.2 2026-04-29 22:07:41 +08:00
LICENSE docs: add LICENSE, fix dist path in README, sync zh-CN 2026-04-26 21:32:23 +08:00
manifest.json chore: fix all ObsidianReviewBot lint errors, bump to v0.3.3 2026-04-30 10:29:12 +08:00
package-lock.json chore: fix all ObsidianReviewBot lint errors, bump to v0.3.3 2026-04-30 10:29:12 +08:00
package.json chore: fix all ObsidianReviewBot lint errors, bump to v0.3.3 2026-04-30 10:29:12 +08:00
README-cn.md docs: replace BRAT install with Community plugins method 2026-04-29 10:44:19 +08:00
README.md docs: replace BRAT install with Community plugins method 2026-04-29 10:44:19 +08:00
tsconfig.json chore: project scaffolding 2026-04-22 20:17:16 +08:00
vitest.config.ts chore: project scaffolding 2026-04-22 20:17:16 +08:00

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

  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

Provider Notes
OpenAI GPT-4o, GPT-4o-mini, o1, o3, etc.
Anthropic Claude 3.5 / 4 series
DeepSeek deepseek-v3, deepseek-r1
Qwen Alibaba Cloud Dashscope (qwen-plus, qwen-max, etc.)
Kimi Moonshot AI (moonshot-v1 series)
Zhipu GLM-4 series
MiniMax MiniMax-Text series
OpenRouter Any model via openrouter.ai
Ollama Local models — Llama, Mistral, Qwen, etc.
Custom Any 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:

Provider Endpoint
OpenAI https://api.openai.com
Anthropic https://api.anthropic.com
DeepSeek https://api.deepseek.com
Qwen (Alibaba Cloud) https://dashscope.aliyuncs.com
Kimi (Moonshot AI) https://api.moonshot.cn
Zhipu / Z.ai https://open.bigmodel.cn, https://open.z.ai
MiniMax https://api.minimax.chat
OpenRouter https://openrouter.ai

Ollama and LM Studio communicate only with localhost — no data leaves your machine.

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