Efe Kapici66 downloadsSynchronize the dedicated AIDEN Memory vault folder with an AIDEN node.
This is a standalone, dependency-free Obsidian community plugin. It synchronizes individual Markdown memory notes directly in the Obsidian vault root with an AIDEN server. AIDEN's server-side PostgreSQL records are the source of truth, so memory remains available across devices even when Obsidian is offline.
main.js and manifest.json assets. They contain the built CommonJS plugin and matching manifest. Do not install files from the src/ directory directly.<vault>/.obsidian/plugins/aiden-memory-sync/.https://your-aiden-host) and the token in the plugin settings. The full token is shown only once in AIDEN; create another token if it is lost.Development for a .replit.dev URL, Production for a published URL). Keep the AIDEN sync token in its own field; never share either token in chat.On iPhone and iPad, iOS may pause Obsidian while it is in the background. Sync resumes when Obsidian is open again; it cannot run continuously while iOS has suspended the app.
When upgrading an existing installation, replace only main.js and manifest.json in the plugin directory, then restart Obsidian. Keep data.json so the saved settings and sync state are preserved. The release does not include personal notes or credentials.
If the plugin reports “Unrecognized token”, check the Replit external access token field for private Replit endpoints and make sure the token matches the origin's environment. The AIDEN scoped token and Replit external access token are different credentials.
On some devices, “JSON Parse error: Unrecognized token” means the server returned HTML (such as a sign-in page) rather than the sync API's JSON. Check the server origin and private Replit access settings. The plugin rejects these responses before processing notes. Obsidian account 2FA is separate from both sync credentials.
Individual synced memories are named AIDEN-<id>.md and stored directly in the vault root. The generated AIDEN Memory/Index.md is only an overview with links to those root-level notes; it does not contain the memories. Conflict copies are also preserved as separate root-level notes, and existing vault files are never overwritten. Files in the legacy AIDEN Memory/ folder are moved to the root on sync when safe. To create a new local memory, use Create AIDEN memory draft in vault root from the command palette, or create a Markdown file named AIDEN-Draft-*.md; drafts are uploaded once and renamed to their AIDEN ID. The index, conflicts, and unrelated root notes are never uploaded. Private finance records are excluded from sync and backup exports.
Local deletion is never automatically sent to the server. To explicitly delete the active synced note, use Delete active AIDEN Memory note (confirmation); it asks for confirmation and then sends the revision-checked DELETE. If a memory was deleted on the server, the local note is kept and is not re-uploaded automatically. Requests use bearer authorization and a bounded timeout; retryable reads and updates make at most three attempts, while creates are attempted once to avoid duplicate records after a timeout. For private Replit URLs, the Replit token is sent as the bearer credential and the AIDEN token is sent separately in X-AIDEN-Sync-Token. Tokens and note contents are not logged.
In a test vault, configure an AIDEN origin and token, create AIDEN-Draft-Example.md in the vault root, and run the command. Confirm that the server receives a POST and the note is renamed to AIDEN-<id>.md with canonical metadata. Edit both copies, sync again, and confirm a separate conflict copy appears in the vault root. Remove a local note and sync; it must not issue a DELETE request.