Personal Assistant

approved

by edonyzpc

AI-powered workflows to streamline the management of records, callouts, frontmatter, graph view, themes, and plugins.

143 stars18,726 downloadsUpdated 13d agoApache-2.0

Obsidian Personal Assistant

An Obsidian plugin which help you to automatically manage Obsidian.
中文手册 · Manual
Tag Downloads

💯Tips: If you are not a developer, please refer to the manual for optimal use.

NOTE: New shiny feature: Support an LLM chat assistant that can use Memory from your notes. Before preparing memory, the assistant explains data flow, AI provider usage, and possible cost, then asks for your approval.

https://github.com/user-attachments/assets/bbf8021c-9e94-4ba3-8e11-dc95be8b288d


Supporting featured image generation by AI according to the content of the note.

https://github.com/user-attachments/assets/aa246889-0c32-4ce5-bde1-32eba813d034


AI Helper to improve your Obsidian notes management

personal assistant support AI

Animation rendering statistics

usage video
usage video

Preview records

usage video

List callout

usage video

Update metadata

usage video

Update Plugins and Themes

usage video

Basic Usage

usage video

Features

NOTE: The currently supported features are all from my personal needs, feature request is welcome by submitting issues.

  1. automatically create note in the specified directory with the configured file name
  2. automatically open current note related graph view
  3. automatically open Memos like quick note in macOS
  4. switch on/off plugin in command palette
  5. automatically update plugins with one command
  6. automatically update themes with one command
  7. automatically set color of graph view
  8. list all callouts css configuration for quickly inserting
  9. chat with AI using Memory from your notes, or answer immediately without reading memory

Develop

Please reference HERE.

Memory preparation performance note

Since 1.6.4, rebuilding Memory batches note chunks across files and uses provider-aware embedding limits instead of a fixed per-file delay. Qwen text-embedding-v4 / text-embedding-v3 rebuilds send up to 10 chunks per request with token-aware throttling and retry feedback. The long-running Memory notice now reports live progress such as scanning notes, embedding chunks, writing the index, retrying, and ready.

Manual "Update memory" keeps the safer per-file refresh path for now, but it also reports file-level progress and still skips unchanged notes before calling the embedding provider. Sharing the global rebuild batching pipeline with refresh is planned as a later large-vault optimization.

Background memory maintenance note

After you approve and successfully prepare Memory once on a device, changed notes can be maintained automatically while Obsidian is open. Chat no longer waits for a refresh when the local SQLite/WASM Memory index is ready; it can answer with the last prepared Memory while a background reconcile/refresh updates changed notes.

Automatic maintenance writes Memory embedding data to the device-local SQLite/WASM OPFS backend and keeps VSS maintenance state in local Obsidian app storage. It does not create new vss-index-state/, vss-index-state/<deviceId>/manifest.json, or vss-cache/dirty.json files in the vault.

Network and privacy note

Personal Assistant does not include telemetry or analytics. By default, Statistics history is stored in local Obsidian app storage on the current device and is not uploaded by the plugin. If you enable cross-device Statistics history, the plugin creates vault-visible Statistics history files so your normal vault sync can carry them; Git users will see those files change.

FeatureTriggerData sentDestinationBackground?User control
ChatYou send a messagePrompt; when enabled, selected note/tool context, Memory search query, and selected Memory excerpts or note snippets used in the final answer promptConfigured AI providerNoProvider, chat, and Memory settings
AI note toolsYou run summary or note AI actionsCurrent note content and the generated promptConfigured AI providerNoUser action and AI settings
Memory prepare/updateYou approve prepare or updateNote text and Memory search dataConfigured AI providerThe manual action is not background; after success, changed notes may update in backgroundMemory settings and background toggle
Memory changed-note maintenanceMemory has been prepared and background updates are enabledChanged note textConfigured AI providerYesMemory background setting
Qwen web searchYou enable web search for Qwen responsesQuestion and final prompt contextDashScope/BailianNoQwen response setting
Featured image generationYou run image generationCurrent note content for prompt generation, then image prompt and task requestsConfigured AI provider and DashScope/BailianPolls task status after your requestUser action and AI settings
Plugin/theme updaterYou run the updater/install flowPlugin or theme IDs and download requestsGitHub and jsDelivrNoUser action
OllamaYou select the local providerPrompt or Memory textLocal Ollama endpointDepends on the featureProvider setting

VSS SQLite/WASM dependency note

The local VSS SQLite backend uses @sqliteai/sqlite-wasm pinned to 3.50.4-sync.0.8.30-vector.0.9.23. Before publishing a release with this backend, review the upstream package license and release terms for your distribution scenario.

Mobile VSS validation note

The local VSS SQLite/WASM backend has been smoke-tested on Obsidian Desktop and Obsidian iOS with the test vault, including rebuild, refresh, reload persistence, chat, and Memory references. Android has not been fully validated on a physical device yet because no Android test device is currently available, so Android VSS support should be treated as pending verification.

Install

Now Personal Assistant plugin is available in plugin market, you can install this plugin directly within Obsidian App, please check this mannual to get more details. install with plugin market

Install

  • Download from the release

Install with BRAT

  • Install BRAT from the Community Plugins in Obsidian
  • Open the command palette and run the command BRAT: Add a beta plugin for testing
  • Copy https://github.com/edonyzpc/personal-assistant into the modal that opens up
  • Click on Add Plugin -- wait a few seconds and BRAT will tell you what is going on
  • After BRAT confirms the installation, in Settings go to the **Community plugins ** tab.
  • Refresh the list of plugins
  • Find the beta plugin you just installed and Enable it.

Manually Install

  • Build with commandline: npm install && npm run build or download from release page
  • Copy over main.js, styles.css, and manifest.json to your vault config folder, usually {VaultFolder}/.obsidian/plugins/personal-assistant/. If your vault uses a custom config folder, use that folder instead of .obsidian.

Use

1. Create note in specificed directory

  • Open the command palette and find the command command 1
  • New note is created and start your recording
  • [Recommendation] Use Folder Templates of plugin Templater to format the created notes by the command above, the example is as following folder templates

2. Open memos in hover editor

  • Open the command palette and find the command command 2
  • Do anything you like in memos

3. Open graph view of current note

  • Open the command palette and find the command command 3
  • Open setting tab for more customize
  • Navigate your current note graph view with backlink and outgoing link
  • configure color of graph view

4. Enable/Disable plugins for obsidian with one command

  • Open the command palette and find the command command 5
  • Select the suggestion to enable/disable plugin(or you can search the plugin by its name)
  • [Note] In suggestion tab, the green checkbox means plugin is already enabled and the red uncheckbox means plugin is already disabled

5. Update plugins for obsidian with one command

  • Open the command palette and find the command command 6
  • Trigger the command to update plugins
  • See the updating result which is displayed in the right corner

Attribution

Contact

If you've got any kind of feedback or questions, feel free to reach out via GitHub issues.

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.