-
Notifications
You must be signed in to change notification settings - Fork 8
Troubleshooting
Common issues and how to fix them. Run /dle-health first; it catches most problems automatically. For a shareable bug report, run /dle-diagnostics (see Inspection and Diagnostics#Diagnostics export).
- Check: Is Obsidian running?
- Check: Is the Local REST API plugin enabled in Obsidian settings?
-
Check: Does the port in DeepLore settings match the REST API plugin port? Default:
27123for HTTP,27124for HTTPS. - Check: Is another application using the same port?
- Try: Restart Obsidian, then click Test All in DeepLore settings.
- Check: Your API key matches what is shown in Obsidian → Settings → Local REST API.
- Check: You copied the full key without extra spaces.
- Try: Regenerate the API key in the Local REST API plugin and paste it fresh.
- Check: Obsidian is not frozen or unresponsive.
- Check: No firewall is blocking localhost connections.
- Check: The Local REST API plugin is enabled (not just installed).
- Try: Increase the cache TTL in Index and Cache settings to reduce connection frequency.
If you are using HTTPS (port 27124) and seeing "Failed to fetch" or "Certificate not trusted" errors, the browser is blocking the connection because the Local REST API plugin uses a self-signed certificate.
Option 1 (recommended): switch to HTTP.
- In Obsidian, open Settings → Local REST API.
- Make sure "Enable Non-Encrypted (HTTP) Server" is ON.
- In DeepLore settings, uncheck HTTPS and set the port to
27123.
Option 2: trust the certificate.
- Open
https://127.0.0.1:27124directly in your browser. - Accept the security warning or add an exception.
- See the Local REST API certificate guide for platform-specific steps.
Tip
DeepLore detects certificate failures during a connection test and shows a guidance popup with both options.
-
Run:
/dle-inspectafter sending a message and check the keyword-matches section. - Check: Scan depth is not 0 (Settings → Matching).
-
Check: Keywords are in the entry's
keys:frontmatter field, not just in the content body. - Check: "Match Whole Words" setting. With it on, "ai" will not match "artificial".
- Check: "Case Sensitive" setting. With it on, "Eris" will not match "eris".
-
Check: The entry has the configured lorebook tag (default:
lorebook). -
Try:
/dle-lintto see if the entry was skipped during the last index build.
-
Check: Token budget. The entry may be cut for space. Run
/dle-inspectto see budget-cut entries. -
Check: Gating rules. The entry may have
requiresorexcludesthat are not met. -
Check: Contextual gating. With era/location/scene filters set, entries may be gated out. Run
/dle-context-stateto see active filters, or/dle-clear-all-contextto reset. -
Check: Per-chat blocks. Run
/dle-pinsto see if the entry is blocked. - Check: Per-entry cooldown.
- Check: Re-injection cooldown. The entry may be skipped because it injected recently.
- Check: Strip-dedup. The entry may be deduped against recent generations.
- Check: Folder filter. The entry may live outside the active folder set.
- Fix: Make keywords more specific.
- Fix: Lower the scan depth (fewer messages scanned, fewer matches).
- Fix: Use priority values to make sure important entries win the budget allocation.
- Fix: Enable AI search (two-stage mode) so the AI filters out irrelevant matches.
- Timed out: increase the AI Search timeout (default: 10s).
- Auth error: check your connection profile or proxy API key.
- Profile not found: select a profile in AI Search settings, or create one in Connection Manager.
- Network error: check the proxy URL, or verify your connection profile works in Connection Manager.
- Server error: the API provider may be down. Try again later.
-
Check: Entries have a
summary:field. AI search relies on summaries to decide relevance. - Check: AI search scan depth is not too low. The AI needs enough chat context to judge relevance.
-
Try: Run
/dle-statusto verify AI search is enabled and configured. - Try: Switch from AI-only to two-stage mode. Two-stage uses keywords as a safety net.
- Fix: Use two-stage mode instead of AI-only. Keywords pre-filter, reducing AI workload.
- Fix: Use a cheaper model (Claude Haiku, GPT-4o-mini).
-
Fix: Reduce Entry Description Length (
aiSearchManifestSummaryLength) to send less text per entry. -
Fix: Check
/dle-statusfor cache hit rate. High cache hits mean fewer API calls.
- AI calls are throttled to a minimum of 500ms between requests. If you regenerate rapidly, the AI call is skipped and keywords are used instead.
- Not a bug. The throttle prevents request flooding and protects your API budget.
- The throttle does not count as a failure and does not trip the AI circuit breaker.
- Local models (e.g. Magistry 24B, Qwen, Mistral) are often much slower than cloud APIs and may need 60-120 seconds to respond, especially on longer chats.
- The default AI search timeout is 10,000ms (10 seconds), tuned for fast cloud APIs.
- Fix: Increase the timeout in Settings → AI Search → Show Advanced → Timeout. Values of 60000-120000ms (60-120 seconds) are common for local models. The same applies to Scribe and Auto-Suggest timeouts in their respective tabs.
- After 2 consecutive AI failures (timeouts, errors), the circuit breaker trips and AI search is disabled for 30 seconds.
- During this period, the pipeline falls back to keyword-only matching.
- After 30 seconds, a single half-open probe is allowed. If it succeeds, the circuit breaker resets and AI search resumes normally.
-
Fix: Check your connection profile or proxy URL. Run
/dle-statusto see circuit breaker state.
- In multi-vault setups, each vault (identified by host:port) has its own independent circuit breaker with exponential backoff (2s → 4s → 8s → 15s max).
- One vault being unreachable does not block the others. Entries from healthy vaults are still indexed.
- Fix: Check that the Local REST API plugin is running on the affected vault's port.
- Run
/dle-refreshto rebuild the index. - Check the header badge. Does it show entries? "0 entries" means your notes are not being indexed.
- Run
/dle-healthfor a full diagnostic. - Check the browser console (F12) for
[DLE]error messages, or run/dle-logs.
-
No tagged notes: make sure at least one note has the lorebook tag in its frontmatter
tags:field. -
Wrong tag: check that the lorebook tag in settings matches the tag in your notes (default:
lorebook). - Connection failed: the vault connection test should be green. Fix the connection first.
-
Check: Injection settings (before/after prompt, or
in_chatwith depth). -
Check: Per-entry overrides. Entries can have their own
position,depth, androlein frontmatter. -
Check: In
prompt_listmode, drag the DeepLore entries in Prompt Manager to your preferred position.
-
Quick fix: run
/dle-refreshto force a full rebuild. - Check: Cache TTL setting. With it set high (e.g. 300s), changes take up to 5 minutes to appear.
- Check: Sync polling interval. Controls how often DeepLore checks for changes in the background.
- Fix: Lower cache TTL to 60-120s for faster updates during active editing.
- Obsidian is taking too long to respond. Common with very large vaults (1000+ notes).
- Try: Restart Obsidian and try again.
- Check: No other plugins are hogging Obsidian's resources.
- Open the browser console (F12) and filter for
[DLE], or run/dle-logs. - Note the exact error message.
- Try disabling the extension, refreshing, and re-enabling.
- If the error persists, report it on GitHub with the error message. Attach the output of
/dle-diagnosticsif you can.
- This can happen if the generation lock gets stuck.
-
Quick fix: run
/dle-refreshin chat to reset the lock. - If chat input is frozen, refresh the page. The lock auto-recovers after 30 seconds.
- DeepLore uses
setExtensionPrompt()for injection, which is standard ST API. - If another extension also uses
generate_interceptor, they may conflict. - Try: Disable other lorebook/World Info extensions and test.
- In
prompt_listmode, conflicts are less likely since entries integrate with Prompt Manager.
The Librarian auto-enables function calling on the active connection when it is in use. If you disable function calling elsewhere while the Librarian is active, tool invocations break.
- Fix: turn the Librarian off if you need function calling disabled for other tooling.
- See Features for the full Librarian behavior.
- Run
/dle-healthand review all errors and warnings. - Run
/dle-logs(or check the browser console) for[DLE]messages. - Run
/dle-statusto see the full extension state. - Run
/dle-diagnosticsto export an anonymized report. -
Open an issue on GitHub with:
- Your DeepLore version (see About tab)
- The error message or unexpected behavior
- Steps to reproduce
-
/dle-statusoutput - The diagnostic report from step 4 (verify the privacy section before attaching)
DeepLore Wiki
Getting started
Features
Reference
Help