hellokunzai163 downloadsAnalyze your vault with AI to generate bidirectional links, enrich frontmatter properties, optimize notes, and provide in-editor autocompletion.
Language: English · 中文
An Obsidian plugin that turns your vault into an AI-assisted knowledge workspace. Chat with your notes, optimize them, autocomplete inside the editor, and give the AI a structured view of your vault — all powered by the model provider you configure.
Display name: Smart Notes · Plugin ID:
smart-notes· Requires Obsidian 1.11.4+
A dedicated right-sidebar chat about your vault and the active note.
Configure one or more model links, each pointing at an AI backend:
Define reusable system-prompt roles (name + prompt, with an optional avatar). A default role is injected into the system prompt of every AI feature (chat, optimize, autoprompt, frontmatter). In a chat you can switch the active role per conversation. This replaces the old single "custom instructions" field.
The plugin is designed so the AI only sees what you explicitly share:
Drop skill bundles (a folder containing SKILL.md) into the AI folder's skills/ directory. Skills can be toggled on for new chats, and managed per conversation via the chat's Skill button. Only active skills' content is sent to the AI; inactive skills are listed by name so the AI knows they exist and can suggest enabling them.
Optional web search inside a chat (🌐 button, per session). Supports Tavily / Serper (Google) / Brave / SearXNG, with multi-key polling (one key fails → try the next). Results can be cited inline with [n]. Off by default and only runs when you explicitly enable it in a chat.
The Optimize current note command asks the AI to polish wording, restructure, or summarize the active note. Preview the result in a diff-style modal (Original vs Optimized) and apply with one click. Internal-link format ([[wikilink]] vs [markdown](path.md)) and path style are configurable.
The Generate frontmatter command reads the current note and asks the AI to produce a YAML frontmatter block (title, date, tags, category, summary, keywords, …). A custom template can override the default system prompt.
Tab.memory/MEMORY.md + a daily note) along configurable dimensions (occupation, tech stack, preferences, …). It is injected as background context and is fully user-editable.The UI is fully internationalized and follows your Obsidian language (Settings → About → Language). English and 简体中文 are bundled. To add a language, copy src/i18n/locales/en.json, translate the values, and register it in src/i18n/index.ts.
This plugin makes network requests to the endpoints you configure:
chat/completions endpoint you set.No data is sent anywhere except the endpoints you explicitly configure. There is no telemetry. API keys live in Obsidian's secret storage, not in plain plugin data. Vault file contents are only transmitted when you attach a file/folder or mention it by name in a message; indexes carry paths/metadata only.
| Section | Setting | Description |
|---|---|---|
| Model configuration | Model links | Add / edit / delete / set default AI backends; each holds type, Base URL, API key (keychain), models, optional max tokens & temperature. |
| Test connection | Verify a link with a tiny ping. | |
| Data storage path | Name of the vault-root folder for memory & skills (default .smartnotes). |
|
| Interaction | Realtime autoprompt | Inline ghost-text suggestions while typing (off by default). |
| Realtime debounce (ms) | Idle time before a realtime suggestion is requested. | |
| Optimize current note | Enable the optimize command. | |
| Open AI chat panel | Enable the chat command. | |
| Attach current note to chat | Auto-attach the active note when opening chat (off by default). | |
| Show AI reasoning | Show reasoning models' thinking block. | |
| Generate frontmatter | Enable the frontmatter command. | |
| Frontmatter template | Custom system prompt for frontmatter generation. | |
| Internal link format / type | Wikilink vs Markdown link; shortest / relative / absolute paths. | |
| Max tokens / Temperature | Global generation limits (per-link values override). | |
| Knowledge base | Enable file selection | Show the "Attach file/folder" button in chat. |
| Enable file index | Inject all Markdown file paths into the system prompt (off by default). | |
| Max files in file index | Cap injected paths (0 = unlimited). | |
| Enable property index | Inject Frontmatter metadata into the system prompt (off by default). | |
| Properties to index / Max files / Max chars | Fine-tune the Frontmatter index. | |
| Max chars per attached file | Truncate attached content sent to the AI. | |
| History window | Recent N messages sent to the model; older turns compressed to a summary (0 = send all). | |
| User profile | Enable user profile memory | Build & inject long-term profile memory. |
| Profile dimensions | One dimension per line used to extract the profile. | |
| Memory file (MEMORY.md) | View/edit the AI-curated profile; auto-saved. | |
| Profile memory char cap | Truncate profile before injection. | |
| Roles | Enable roles | Show the Role button and inject the default role. |
| Role info | Add / edit / delete roles; set a default. | |
| Skills | Enable skills | Show the Skill button and allow injection. |
| Default skills | Toggle which skills are enabled for new chats. | |
| Web search | Enable web search | Master switch for web search. |
| Search provider | Tavily / Serper / Brave / SearXNG. | |
| API keys / instances | Per-provider credentials (multi-key polling). | |
| Max results / Max chars / Show citations | Search tuning. |
On load the plugin creates the following at your vault root (folder name configurable, default .smartnotes):
.smartnotes/
├── sessions/
│ ├── index.json # session index (metadata only: id, title, time, message count)
│ └── session-<id>.json # one conversation's full content (messages, attachments, skills, web search)
├── memory/
│ ├── MEMORY.md # long-term profile memory (auto-built, editable)
│ └── yyyy-mm-dd.md # daily memory note
└── skills/
└── README.md # what this folder is for
main.js, manifest.json, and styles.css into <your-test-vault>/.obsidian/plugins/smart-notes/.Use a separate test vault while developing — do not run this on your main vault.
MIT © hellokunzai