AnythingLLM Sync
approvedby hboot
Automatically sync Markdown notes from a configurable Obsidian folder to an AnythingLLM workspace. - This plugin has not been manually reviewed by Obsidian staff.
AnythingLLM Sync for Obsidian
Automatically keep Markdown notes in an Obsidian folder synchronized with an AnythingLLM workspace.
A typical personal knowledge flow becomes:
Web page
↓ Obsidian Web Clipper
Obsidian / Inbox
↓ AnythingLLM Sync
AnythingLLM Workspace
↓ Embedding + retrieval
AI answers from your notes
Features
- Choose any vault-relative watch folder.
- Choose an AnythingLLM workspace by name.
- Automatic sync on Markdown create and edit.
- Automatic removal from Workspace retrieval when a note is deleted.
- Re-sync on rename.
- Debounced writes for Web Clipper and active editing.
- Content hashing to skip unchanged notes.
- Bulk sync existing Markdown files.
- Manual sync command for the active note.
- Secure Developer API key storage using Obsidian SecretStorage.
- Per-vault settings and sync state.
Requirements
- Obsidian 1.11.4 or newer.
- An AnythingLLM instance reachable from the device running Obsidian.
- An AnythingLLM Developer API key.
Install manually
Download the latest release assets and put them in:
<Vault>/.obsidian/plugins/anythingllm-sync/
Required files:
main.js
manifest.json
Then enable AnythingLLM Sync in Obsidian → Settings → Community plugins.
Configure
- Open AnythingLLM → Settings → Developer API and create an API key.
- Open Obsidian → Settings → AnythingLLM Sync.
- Set the AnythingLLM URL, for example
http://localhost:3001. - Create/select the API key through Obsidian SecretStorage.
- Test the connection.
- Refresh workspaces and select the target workspace.
- Set a vault-relative watch folder such as
00-Inbox. - Enable automatic sync.
Commands
- AnythingLLM Sync: Sync current note to AnythingLLM
- AnythingLLM Sync: Sync watched folder to AnythingLLM
Sync behavior
| Obsidian action | AnythingLLM behavior |
|---|---|
| Create Markdown | Upload + embed |
| Edit Markdown | Replace Workspace embedding with latest content |
| Rename Markdown | Re-upload under new filename + replace old embedding |
| Delete Markdown | Remove old embedding from Workspace |
| Existing notes | Use bulk sync command |
Important AnythingLLM behavior
AnythingLLM's public Developer API supports upload and Workspace embedding add/remove operations. The plugin keeps the selected Workspace retrieval state synchronized. AnythingLLM can retain superseded uploaded source objects in its global document storage after an update because there is currently no documented public per-document source-delete endpoint used by this plugin.
Development
npm install
npm run dev
Production build:
npm run build
This generates main.js in the repository root.
Release
Obsidian expects the GitHub release tag to exactly match manifest.json (for example 1.0.0, not v1.0.0). Release assets are:
main.jsmanifest.jsonstyles.cssonly if a future version adds custom CSS
The included GitHub Actions workflow builds and publishes those assets when a semantic-version tag is pushed.
Privacy
- Notes are sent only to the AnythingLLM URL you configure.
- The API key is stored in Obsidian SecretStorage rather than plugin
data.json. - The plugin contains no analytics or telemetry.
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.