-
Notifications
You must be signed in to change notification settings - Fork 8
Settings Reference
Complete reference for every DeepLore Enhanced setting, organized by section.
| Setting | Default | Range | Description |
|---|---|---|---|
| Enable DeepLore Enhanced | Off | Toggle | Master toggle. When disabled, no entries are injected. |
DeepLore Enhanced supports multiple Obsidian vaults. Each vault has its own name, port, API key, and enable toggle. Entries from all enabled vaults are merged into a single index.
| Setting | Default | Description |
|---|---|---|
| Vault Name | (none) | Display name for this vault connection. Must match your Obsidian vault name exactly for deep links to work. |
| Port | 27123 |
Port for the Obsidian Local REST API plugin. |
| API Key | (none) | Bearer token from Obsidian's Local REST API settings. |
| Enabled | On | Toggle this vault on/off without deleting the connection. |
| Multi-Vault Conflict Resolution | all | Dropdown | How to handle entries with the same title across vaults. all: keep all (disambiguated by vault source). first: keep the first vault's version. last: keep the last vault's version. merge: merge content from all vaults. |
Add Vault button adds a new vault connection. Test All button verifies all enabled vault connections.
| Setting | Default | Description |
|---|---|---|
| Lorebook Tag | lorebook |
Obsidian tag (without #) that marks a note as a lorebook entry. Only notes with this tag are indexed. |
| Always-Send Tag | lorebook-always |
Tag that forces a note to always be injected regardless of keyword matches. Like constant: true. |
| Never-Insert Tag | lorebook-never |
Tag that prevents a note from ever being injected, even if keywords match. Good for drafts or WIP notes. |
| Seed Tag | lorebook-seed |
Tag for entries whose content is sent to the AI as story context on new chats. Not injected; only informs AI selection. See Features#New Chat Features. |
| Bootstrap Tag | lorebook-bootstrap |
Tag for entries that force-inject when chat is short, then become regular entries. See Features#New Chat Features. |
| New Chat Threshold | 3 |
1-20. Message count below which seed context is sent and bootstrap entries are force-injected. |
| Setting | Default | Description |
|---|---|---|
| Search Mode | Keyword Only | Dropdown. Keyword Only: keywords-only matching (no AI). Two-Stage: keywords pre-filter, then AI selects. AI Only: entire vault sent to AI. See AI Search. |
| Setting | Default | Range | Description |
|---|---|---|---|
| Scan Depth | 4 |
0-100 | Number of recent chat messages to scan for keyword matches. Set to 0 to disable keyword matching (AI search only). |
| Case Sensitive | Off | Toggle | When on, keyword matching respects case (Eris won't match eris). |
| Match Whole Words | Off | Toggle | When on, keywords use word boundaries (war won't match warning). |
| Active Character Boost | Off | Toggle | Auto-match the active character's vault entry by name or keyword, even if not mentioned in chat. See Features#Active Character Boost. |
| Fuzzy Search (BM25) | Off | Toggle | Supplement keyword matching with BM25/TF-IDF scoring. Helps find entries with partial or approximate keyword matches. Built during index build. |
| Fuzzy Min Score | 0.5 |
0.1-2.0 | (Shown when Fuzzy Search is on.) Minimum BM25 score for a fuzzy match to count. Lower = more permissive, higher = stricter. |
| Recursive Scanning | Off | Toggle | After initial matches, scan matched entries' content for keywords that trigger more entries. |
| Max Recursion Steps | 3 |
1-10 | Maximum recursive scan passes. Each pass scans newly matched entries for more triggers. |
| Re-injection Cooldown | 0 |
0-50 | Skip re-injecting an entry for N generations after last injection. 0 = disabled. Constants are exempt. |
| Optimize Keys Mode | keyword-only |
Dropdown | Controls keyword optimization strategy. keyword-only uses only the entry's defined keys; two-stage uses keys plus content analysis for better matching. |
| Strip Duplicate Injections | On | Toggle | Skip re-injecting entries that were already injected in recent generations. Tracked per-chat. Constants are exempt. |
| Lookback Depth | 2 |
1-10 | Number of previous generations to check for already-injected entries (when Strip Duplicate Injections is on). Higher = more aggressive deduplication. |
| Unlimited Entries | Off | Toggle | Remove the cap on how many entries can be injected per generation. |
| Max Entries | 10 |
1-100 | Maximum entries to inject (when Unlimited Entries is off). Sorted by priority. |
| Unlimited Token Budget | Off | Toggle | Remove the token budget cap. A warning toast appears if injected lore exceeds 20% of context. |
| Token Budget | 3072 |
100-100000 | Maximum total tokens to inject (when Unlimited Token Budget is off). Entries added in priority order until budget is reached. |
| Keyword Occurrence Weighting | Off | Toggle | When on, entries with more keyword occurrences in the scan text are weighted higher during matching. Experimental. |
| Contextual Gating Tolerance | strict |
Dropdown | How strictly contextual gating filters entries. strict: entry must match all set filters exactly. moderate: partial matches allowed. lenient: only blocks on direct conflicts. |
| Setting | Default | Description |
|---|---|---|
| Injection Mode | Extension Prompt |
Extension Prompt: uses setExtensionPrompt() with fixed position/depth/role (classic behavior). Prompt List: registers named prompts (deeplore_constants, deeplore_lore) that appear in SillyTavern's Prompt Manager list. Drag them wherever you want. Requires Chat Completion API. |
| Injection Template | <{{title}}>\n{{content}}\n</{{title}}> |
Format for each injected entry. Use {{title}} for entry name and {{content}} for note body. |
| Injection Position | In-chat | (Extension Prompt mode only) Where to inject lore. Options: Before Main Prompt/Story String, After Main Prompt/Story String, or In-chat @ Depth. |
| Injection Depth | 4 |
0-9999. Chat depth for in-chat injection (0 = last message). |
| Injection Role | System | Message role for in-chat injection: System, User, or Assistant. |
| Allow World Info Scan | Off | Let SillyTavern's built-in World Info system scan injected lore for WI keyword matches. Enables cross-system triggering. |
Entries can override position, depth, and role via frontmatter. See Writing Vault Entries.
In Prompt List mode, global position/depth/role settings are ignored — the Prompt Manager controls placement. Per-entry frontmatter overrides with custom depth/position still create separate injection groups that bypass the PM.
| Setting | Default | Description |
|---|---|---|
| Show Lore Sources Button | On | Add a book icon to AI messages showing which entries were injected and why. See Features#Context Cartographer. |
Deep links use the vault connection name to build Obsidian URIs. Set vault names in Vault Connections to match your Obsidian vault names exactly.
| Setting | Default | Description |
|---|---|---|
| Enable Author's Notebook | Off | Enable a persistent per-chat scratchpad that is injected into every generation. Edit via /dle-notebook or the Open Notebook button. See Features#Author's Notebook. |
| Notebook Injection Position | In-chat | Where to inject the notebook. Same options as main injection: Before Main Prompt, After Main Prompt, or In-chat @ Depth. |
| Notebook Injection Depth | 4 |
0-9999. Chat depth for in-chat notebook injection. |
| Notebook Injection Role | System | Message role for in-chat notebook injection: System, User, or Assistant. |
Open Notebook button opens the notebook editor for the current chat.
Visible when Search Mode is Two-Stage or AI Only.
| Setting | Default | Range | Description |
|---|---|---|---|
| Connection | Profile | Toggle | "Connection Profile" uses a saved ST profile (recommended). "Custom Proxy" uses a separate proxy server. |
| Connection Profile | (none) | Dropdown | (Profile mode) Select a saved Connection Manager profile. Any provider works. |
| Proxy URL | http://localhost:42069 |
Text | (Proxy mode) URL of the claude-code-proxy or compatible endpoint. Must expose /v1/messages. |
| Model Override | (none) | Text | Optional model override. In profile mode, leave empty to use the profile's model. In proxy mode, specify the model name. |
| Max Response Tokens | 1024 |
64-4096 | Token limit for the AI response. Keep low; only a JSON array is needed. |
| Timeout (ms) | 10000 |
1000-30000 | How long to wait for the AI before falling back to keyword-only results. |
| AI Scan Depth | 4 |
1-100 | Number of recent messages to send as context to the AI. Can differ from keyword scan depth. |
| Entry Description Length | 600 |
100-1000 | Max characters for entry descriptions in the AI manifest. Only for entries without a summary field. |
| System Prompt Override | (none) | Text | Custom system prompt for AI selection. Leave empty for default. Supports {{maxEntries}} placeholder. |
| Prepend "You are Claude Code" | On | Toggle | (Proxy mode only, under Show Advanced) Prepend You are Claude Code. to the AI system prompt. Disable if using a non-Claude model via proxy. |
| Use Session Notes as AI Context | Off | Toggle | Feed the Session Scribe's latest summary into the AI search context for better entry selection. See Features#Use Session Notes as AI Context. |
| AI Confidence Threshold | low |
Dropdown | Minimum confidence level for AI selections. low: accept all (high+medium+low). medium: accept medium and high only. high: accept high confidence only. |
| Hierarchical Pre-filter Aggressiveness | 0.8 |
0.0-0.8 | How aggressively the hierarchical category pre-filter culls entries. 0.0 = keep all categories. 0.8 = aggressive filtering. The safety valve kicks in when filtering would remove more than this fraction of entries. |
| Manifest Summary Mode | prefer_summary |
Dropdown | How entry descriptions are built for the AI manifest. prefer_summary: use summary field if present, fall back to truncated content. summary_only: only include entries with summaries. content_only: always use truncated content, ignore summaries. |
| AI Error Fallback | keyword |
Dropdown | What happens when the AI returns an error or times out. keyword: fall back to keyword-matched results. constants_only: inject only constants. bootstrap_only: inject constants and bootstrap entries. none: inject nothing. |
| AI Empty Result Fallback | constants |
Dropdown | What happens when the AI intentionally returns []. constants: inject only constants. constants_bootstrap: inject constants and bootstrap entries. keyword: fall back to keyword results. none: inject nothing. |
Test AI Search button tests the AI connection. Preview AI Prompt button shows the full prompt that would be sent.
AI Stats shows session usage: AI calls, cache hits, estimated input/output tokens.
Session Scribe and Auto Lorebook are grouped under one collapsible drawer in settings.
| Setting | Default | Range | Description |
|---|---|---|---|
| Enable Session Scribe | Off | Toggle | Auto-summarize sessions to your Obsidian vault. See Features#Session Scribe. |
| Auto-Scribe Every N Messages | 5 |
1-50 | Number of new messages (tracked by chat position) between automatic summaries. |
| Session Folder | Sessions |
Text | Vault folder where session notes are saved. Created if it doesn't exist. |
| Connection | SillyTavern | Radio |
SillyTavern (active connection), Connection Profile (saved profile), or Custom Proxy. |
| Connection Profile | (none) | Select | Connection Manager profile for summaries. Only shown in Profile mode. |
| Proxy URL | http://localhost:42069 |
Text | Proxy server URL. Only shown in Proxy mode. |
| Model Override | (none) | Text | Override the model used for summaries. Only shown in Profile/Proxy modes. |
| Max Response Tokens | 1024 |
256-4096 | Maximum tokens for the summary response. Only shown in Profile/Proxy modes. |
| Timeout (ms) | 30000 |
5000-60000 | Request timeout for summary generation. Only shown in Profile/Proxy modes. |
| Messages to Include | 20 |
5-100 | Number of recent chat messages included as context for the summary. |
| Custom Summary Prompt | (none) | Text | Override the default summary prompt. Default covers events, character dynamics, revelations, and state changes. |
| Setting | Default | Range | Description |
|---|---|---|---|
| Enable Auto Lorebook | Off | Toggle | AI analyzes chat for entities not in the lorebook and suggests new entries with human review. See Features#Auto Lorebook. |
| Interval (messages) | 10 |
3-50 | Trigger auto-suggest every N messages. |
| Target Folder | (none) | Text | Obsidian folder for new entries. Leave empty for vault root. |
| Connection Mode | SillyTavern | Radio |
SillyTavern (active connection), Profile (saved profile), or Proxy. |
| Connection Profile | (none) | Select | Connection Manager profile. Only shown in Profile mode. |
| Proxy URL | http://localhost:42069 |
Text | Proxy server URL. Only shown in Proxy mode. |
| Model | (none) | Text | Model override for suggestions. |
| Max Tokens | 2048 |
256-4096 | Maximum tokens for the suggestion response. |
| Timeout (ms) | 30000 |
5000-60000 | Request timeout for auto-suggest generation. |
Use /dle-newlore to trigger on-demand at any time.
| Setting | Default | Range | Description |
|---|---|---|---|
| Enable Entry Decay | Off | Toggle | Track entry freshness and adjust AI manifest priorities. Stale entries get a boost; frequently injected entries get a penalty. See Features#Entry Decay & Freshness. |
| Mark Stale After N Skips | 5 |
2-20 | Consecutive generations an entry is skipped before it gets a freshness boost in the AI manifest. |
| Mark Frequent After N Injections | 2 |
2-10 | Consecutive generations an entry is injected before it gets a frequency penalty in the AI manifest. |
| Setting | Default | Range | Description |
|---|---|---|---|
| Cache Duration (seconds) | 300 |
0-86400 | How long to cache the vault index before re-fetching. 0 = always fetch fresh (slower). |
| Auto-Sync Interval | 0 |
0-3600 | Seconds between automatic vault re-checks. 0 = disabled. See Features#Vault Change Detection & Auto-Sync. |
| Show Sync Change Toasts | On | Toggle | Show toast notifications when vault changes are detected during index refresh. |
| Index Rebuild Trigger | ttl |
Dropdown | When to rebuild the vault index. ttl: rebuild when cache duration expires (default). generation: rebuild every N generations. manual: only rebuild on explicit refresh. |
| Rebuild Every N Generations | 10 |
1-100 | (Shown when trigger is generation.) How many generations between automatic index rebuilds. |
Refresh Index button clears the cache and re-fetches all entries. Test Match button simulates a generation to show which entries would match.
Show Advanced toggles: Several sections have "Show Advanced" toggles that reveal power-user settings. These toggles persist across sessions. Settings behind advanced toggles include: seed/bootstrap tags, case sensitivity, whole word matching, fuzzy search (BM25), fuzzy min score, recursive scanning, re-injection cooldown, optimize keys mode, deduplication, keyword occurrence weighting, contextual gating tolerance, injection template, WI scan, AI confidence threshold, hierarchical aggressiveness, manifest summary mode, AI error/empty fallbacks, system prompt override, Claude Code prefix, cache TTL, sync interval, sync toasts, index rebuild trigger, and rebuild generation interval.
| Setting | Default | Range | Description |
|---|---|---|---|
| Review Response Tokens | 0 |
0-100000 | Token limit for /dle-review responses. 0 = auto (uses your connection profile's Max Response Length). |
| Debug Mode | Off | Toggle | Log detailed match info to browser console (F12). Shows keyword matches, AI results, gating, token counts, injection details. |
These features work automatically with no configuration:
-
Obsidian Circuit Breaker: Obsidian connection uses a per-vault circuit breaker (closed/open/half-open) with exponential backoff (2s-15s). Keyed by
host:port— each vault has independent failure tracking. Prevents hammering a down server. Resets automatically when a call succeeds. - AI Circuit Breaker: AI search has its own circuit breaker (2 consecutive failures to trip, 30s cooldown). Prevents repeated full-timeout waits when the AI service is down. The AI throttle (2s minimum between calls) does NOT trip the circuit breaker.
- IndexedDB Persistent Cache: Parsed vault index is saved to IndexedDB after every successful build. On page load, hydrates instantly from cache, then validates in background. No settings to configure.
- Reuse Sync: Auto-sync fetches all file contents but skips re-parsing/tokenizing unchanged entries (detected by content hash). Falls back to full rebuild automatically.
- Hierarchical Manifest Clustering: For vaults with 40+ entries and 4+ categories, automatically uses two-call AI approach for better scaling.
- Sliding Window AI Cache: AI search cache tracks manifest and chat hashes separately for smarter cache reuse.
- Confidence-Gated Budget: AI search over-requests entries (2x), sorts by confidence tier before budget cap.
- Prompt Cache Optimization: In proxy mode, manifest is placed first with cache_control breakpoints for Anthropic prompt caching.
DeepLore Wiki
Getting started
Features
Reference
Help