mirror of
https://github.com/mattjaybe/SillyTavern-Pathweaver.git
synced 2026-04-26 10:30:47 +00:00
- New setting: Reasoning Mode. Increases max tokens and properly handles thinking tags. - Reasoning Mode allows for setting the max output token
398 lines
No EOL
22 KiB
HTML
398 lines
No EOL
22 KiB
HTML
<div class="pathweaver_settings">
|
|
<div class="inline-drawer">
|
|
<div class="inline-drawer-toggle inline-drawer-header">
|
|
<b>Pathweaver</b>
|
|
<div class="inline-drawer-icon fa-solid fa-circle-chevron-down down"></div>
|
|
</div>
|
|
<div class="inline-drawer-content">
|
|
<!-- Header Section -->
|
|
<div class="pw_settings_header">
|
|
<i class="fa-solid fa-compass"></i>
|
|
AI-powered story direction suggestions to guide your narrative forward.
|
|
</div>
|
|
|
|
<!-- Global Enable -->
|
|
<label class="checkbox_label pw_toggle_row" for="pw_enabled">
|
|
<input id="pw_enabled" type="checkbox" class="checkbox">
|
|
<span class="pw_toggle_label">
|
|
<i class="fa-solid fa-power-off"></i> Enable Pathweaver
|
|
</span>
|
|
</label>
|
|
|
|
<label class="checkbox_label pw_toggle_row" for="pw_hide_animated_bar">
|
|
<input id="pw_hide_animated_bar" type="checkbox" class="checkbox">
|
|
<span class="pw_toggle_label">
|
|
<i class="fa-solid fa-eye-slash"></i> Hide Animated Bar
|
|
</span>
|
|
</label>
|
|
|
|
<hr class="pw_divider">
|
|
|
|
<!-- Generation Engine Section -->
|
|
<div class="pw_section">
|
|
<h4 class="pw_section_title">
|
|
<i class="fa-solid fa-microchip"></i> Generation Engine
|
|
</h4>
|
|
|
|
<select id="pw_source" class="text_pole pw_select">
|
|
<option value="default">Default (Main API)</option>
|
|
<option value="profile">Connection Profile</option>
|
|
<option value="ollama">Ollama (Local)</option>
|
|
<option value="openai">OpenAI Compatible</option>
|
|
</select>
|
|
|
|
<!-- Provider: Connection Profile -->
|
|
<div id="pw_profile_settings" class="pw_provider_box pw_provider_profile" style="display:none;">
|
|
<div class="pw_provider_title">
|
|
<i class="fa-solid fa-link"></i> Connection Profile
|
|
</div>
|
|
<select id="pw_profile_select" class="text_pole pw_select"></select>
|
|
<div class="pw_provider_hint">
|
|
<i class="fa-solid fa-shield-halved"></i> Uses your existing ST credentials securely.
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Provider: Ollama -->
|
|
<div id="pw_ollama_settings" class="pw_provider_box pw_provider_ollama" style="display:none;">
|
|
<div class="pw_provider_title">
|
|
<i class="fa-solid fa-terminal"></i> Ollama
|
|
</div>
|
|
<input id="pw_ollama_url" type="text" class="text_pole" placeholder="http://localhost:11434"
|
|
title="Ollama API endpoint">
|
|
<select id="pw_ollama_model" class="text_pole pw_select"></select>
|
|
<div id="pw_ollama_status" class="pw_provider_status"></div>
|
|
</div>
|
|
|
|
<!-- Provider: OpenAI Compatible -->
|
|
<div id="pw_openai_settings" class="pw_provider_box pw_provider_openai" style="display:none;">
|
|
<div class="pw_provider_title">
|
|
<i class="fa-solid fa-cloud"></i> OpenAI Compatible
|
|
</div>
|
|
<select id="pw_openai_preset" class="text_pole pw_select">
|
|
<option value="custom">Custom</option>
|
|
<option value="lmstudio">LM Studio (:1234)</option>
|
|
<option value="kobold">KoboldCPP (:5001)</option>
|
|
<option value="textgen">TextGenWebUI (:5000)</option>
|
|
<option value="vllm">vLLM (:8000)</option>
|
|
</select>
|
|
<input id="pw_openai_url" type="text" class="text_pole" placeholder="http://localhost:1234/v1"
|
|
title="API endpoint URL">
|
|
<input id="pw_openai_model" type="text" class="text_pole" placeholder="Model name"
|
|
title="Model identifier">
|
|
<input id="pw_openai_key" type="password" class="text_pole" placeholder="API Key (Optional)"
|
|
title="API Key">
|
|
</div>
|
|
</div>
|
|
|
|
<hr class="pw_divider">
|
|
|
|
<!-- Behavior Section -->
|
|
<div class="pw_section">
|
|
<h4 class="pw_section_title">
|
|
<i class="fa-solid fa-gears"></i> Behavior
|
|
</h4>
|
|
|
|
<label class="checkbox_label pw_checkbox_row" for="pw_insert_mode">
|
|
<input id="pw_insert_mode" type="checkbox" class="checkbox">
|
|
<span><i class="fa-solid fa-plus-circle"></i> Insert Mode (Append)</span>
|
|
</label>
|
|
|
|
<div style="margin-top: 5px;">
|
|
<label class="checkbox_label pw_checkbox_row" for="pw_insert_type_enabled">
|
|
<input id="pw_insert_type_enabled" type="checkbox" class="checkbox">
|
|
<span><i class="fa-solid fa-code-branch"></i> Insert Type</span>
|
|
</label>
|
|
|
|
<div id="pw_insert_type_options"
|
|
style="display:none; margin-left: 20px; flex-direction: column; gap: 5px;">
|
|
<label class="checkbox_label pw_checkbox_row" for="pw_insert_type_ooc"
|
|
style="font-size: 0.9em;">
|
|
<input id="pw_insert_type_ooc" type="checkbox" class="checkbox">
|
|
<span>[OOC: ]</span>
|
|
</label>
|
|
<label class="checkbox_label pw_checkbox_row" for="pw_insert_type_director"
|
|
style="font-size: 0.9em;">
|
|
<input id="pw_insert_type_director" type="checkbox" class="checkbox">
|
|
<span>[Director: ]</span>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
|
|
<label class="checkbox_label pw_checkbox_row" for="pw_show_explicit">
|
|
<input id="pw_show_explicit" type="checkbox" class="checkbox">
|
|
<span><i class="fa-solid fa-fire pw_nsfw_icon"></i> Show Explicit Category (NSFW)</span>
|
|
</label>
|
|
</div>
|
|
|
|
<hr class="pw_divider">
|
|
|
|
<!-- Suggestions Settings Section -->
|
|
<div class="pw_section">
|
|
<h4 class="pw_section_title">
|
|
<i class="fa-solid fa-sliders"></i> Suggestions Settings
|
|
</h4>
|
|
|
|
<div class="pw_row_2col">
|
|
<div>
|
|
<label for="pw_suggestions_count" class="pw_input_label">
|
|
<i class="fa-solid fa-list-ol"></i> Suggestions
|
|
</label>
|
|
<select id="pw_suggestions_count" class="text_pole pw_select"
|
|
title="Number of suggestions to generate">
|
|
<option value="2">2</option>
|
|
<option value="4">4</option>
|
|
<option value="6" selected>6</option>
|
|
</select>
|
|
</div>
|
|
<div>
|
|
<label for="pw_context_depth" class="pw_input_label">
|
|
<i class="fa-solid fa-layer-group"></i> Context
|
|
</label>
|
|
<select id="pw_context_depth" class="text_pole pw_select">
|
|
<option value="2">2 messages</option>
|
|
<option value="4">4 messages</option>
|
|
<option value="6">6 messages</option>
|
|
<option value="8">8 messages</option>
|
|
<option value="10">10 messages</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="pw_row_2col" style="margin-top: 10px;">
|
|
<div>
|
|
<label for="pw_suggestion_length" class="pw_input_label">
|
|
<i class="fa-solid fa-text-width"></i> Length
|
|
</label>
|
|
<select id="pw_suggestion_length" class="text_pole pw_select"
|
|
title="Suggestion description length">
|
|
<option value="short">Short (2-3 sentences)</option>
|
|
<option value="long">Long (4-6 sentences)</option>
|
|
</select>
|
|
</div>
|
|
<div></div>
|
|
</div>
|
|
|
|
<label class="checkbox_label pw_checkbox_row pw_stream_row" for="pw_stream_suggestions"
|
|
style="margin-top: 8px;">
|
|
<input id="pw_stream_suggestions" type="checkbox" class="checkbox"
|
|
title="Stream cards as they generate">
|
|
<span><i class="fa-solid fa-stream"></i> Stream suggestions</span>
|
|
</label>
|
|
<p class="pw_setting_hint" style="margin: 4px 0 0 0; font-size: 0.8rem; opacity: 0.85;">
|
|
Cards appear as each suggestion is generated. Works with Ollama and OpenAI-compatible APIs;
|
|
Connection Profile may also support streaming.
|
|
</p>
|
|
|
|
<!-- Reasoning Mode Settings -->
|
|
<label class="checkbox_label pw_checkbox_row pw_stream_row" for="pw_reasoning_mode"
|
|
style="margin-top: 12px;">
|
|
<input id="pw_reasoning_mode" type="checkbox" class="checkbox"
|
|
title="Enable for reasoning models like DeepSeek">
|
|
<span><i class="fa-solid fa-brain"></i> Reasoning Mode</span>
|
|
</label>
|
|
<p class="pw_setting_hint" style="margin: 4px 0 0 0; font-size: 0.8rem; opacity: 0.85;">
|
|
Enable for reasoning models (DeepSeek, etc.). Increases max tokens and properly handles
|
|
thinking tags.
|
|
</p>
|
|
|
|
<div id="pw_max_output_tokens_row" class="pw_row_2col" style="margin-top: 10px; display: none;">
|
|
<div>
|
|
<label for="pw_max_output_tokens" class="pw_input_label">
|
|
<i class="fa-solid fa-terminal"></i> Max Output Tokens
|
|
</label>
|
|
<input id="pw_max_output_tokens" type="number" class="text_pole" value="16384" min="512"
|
|
max="128000" step="512" style="width: 100%;"
|
|
title="Maximum tokens for reasoning model output">
|
|
</div>
|
|
<div></div>
|
|
</div>
|
|
<p id="pw_max_output_tokens_hint" class="pw_setting_hint" style="margin: 4px 0 0 0; font-size: 0.75rem; opacity: 0.7; display: none;">
|
|
Higher values allow more thinking tokens for reasoning models. 8K-32K recommended.
|
|
</p>
|
|
|
|
<h4 class="pw_section_title" style="margin-top: 15px; font-size: 0.9rem;">
|
|
<i class="fa-solid fa-book-open"></i> Context Sources
|
|
</h4>
|
|
<p style="color: var(--SmartThemeBodyColor); opacity: 0.7; font-size: 0.8rem; margin: 0 0 8px 0;">
|
|
Include additional context for more accurate suggestions
|
|
</p>
|
|
|
|
<label class="checkbox_label pw_checkbox_row" for="pw_include_scenario">
|
|
<input id="pw_include_scenario" type="checkbox" class="checkbox">
|
|
<span><i class="fa-solid fa-scroll"></i> Include Scenario</span>
|
|
</label>
|
|
|
|
<label class="checkbox_label pw_checkbox_row" for="pw_include_description">
|
|
<input id="pw_include_description" type="checkbox" class="checkbox">
|
|
<span><i class="fa-solid fa-user"></i> Include Character Description</span>
|
|
</label>
|
|
|
|
<div style="display: flex; flex-direction: column; gap: 2px; margin-top: 5px;">
|
|
<label class="checkbox_label pw_checkbox_row" for="pw_include_worldinfo" style="margin-bottom: 0;">
|
|
<input id="pw_include_worldinfo" type="checkbox" class="checkbox">
|
|
<span><i class="fa-solid fa-globe"></i> Include World Info Lorebook</span>
|
|
</label>
|
|
<div class="pw_warning_text">
|
|
<i class="fa-solid fa-triangle-exclamation"></i> Experimental: May decrease suggestion quality.
|
|
Works only on entries with Order 250 or higher.
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div style="margin-top: 10px;">
|
|
<button id="pw_open_editor_settings" class="pw_open_editor_btn">
|
|
<i class="fa-solid fa-wand-magic-sparkles"></i> Suggestion Styles Manager
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<hr class="pw_divider">
|
|
|
|
<!-- Surprise Me Section -->
|
|
<div class="pw_section">
|
|
<h4 class="pw_section_title">
|
|
<i class="fa-solid fa-wand-sparkles"></i> Surprise Me
|
|
<span class="pw_setting_tooltip_icon" title="Surprise Me secretly injects an AI-generated suggestion into the chat context a set number of messages before it fires. Pick a style, and Pathweaver will quietly arm a hidden prompt. When the countdown hits, the suggestion appears naturally — like the story took an unexpected turn on its own.">?</span>
|
|
</h4>
|
|
|
|
<label class="checkbox_label pw_checkbox_row" for="pw_surprise_endless">
|
|
<input id="pw_surprise_endless" type="checkbox" class="checkbox">
|
|
<span><i class="fa-solid fa-infinity"></i> Endless Surprises</span>
|
|
</label>
|
|
<p class="pw_setting_hint" style="margin: 2px 0 10px 0; font-size: 0.78rem; opacity: 0.8;">
|
|
When enabled, a new surprise is silently generated and armed as soon as the previous one fires — keeping the story perpetually on the edge.
|
|
</p>
|
|
|
|
<label class="checkbox_label pw_checkbox_row" for="pw_surprise_randomize">
|
|
<input id="pw_surprise_randomize" type="checkbox" class="checkbox">
|
|
<span><i class="fa-solid fa-shuffle"></i> Randomize depth</span>
|
|
</label>
|
|
|
|
<div id="pw_surprise_range_rows" style="margin-top: 4px;">
|
|
<p class="pw_setting_hint" style="margin: 2px 0 8px 0; font-size: 0.78rem; opacity: 0.8;">
|
|
Picks a random depth within this range each time.
|
|
</p>
|
|
<div class="pw_row_2col">
|
|
<div>
|
|
<label for="pw_surprise_depth_min" class="pw_input_label">
|
|
<i class="fa-solid fa-clock-rotate-left"></i> Min messages
|
|
</label>
|
|
<select id="pw_surprise_depth_min" class="text_pole pw_select">
|
|
<option value="2" selected>2</option>
|
|
<option value="3">3</option>
|
|
<option value="4">4</option>
|
|
<option value="5">5</option>
|
|
<option value="6">6</option>
|
|
<option value="7">7</option>
|
|
<option value="8">8</option>
|
|
<option value="9">9</option>
|
|
<option value="10">10</option>
|
|
<option value="11">11</option>
|
|
<option value="12">12</option>
|
|
</select>
|
|
</div>
|
|
<div>
|
|
<label for="pw_surprise_depth_max" class="pw_input_label">
|
|
<i class="fa-solid fa-clock-rotate-left"></i> Max messages
|
|
</label>
|
|
<select id="pw_surprise_depth_max" class="text_pole pw_select">
|
|
<option value="2">2</option>
|
|
<option value="3">3</option>
|
|
<option value="4">4</option>
|
|
<option value="5">5</option>
|
|
<option value="6" selected>6</option>
|
|
<option value="7">7</option>
|
|
<option value="8">8</option>
|
|
<option value="9">9</option>
|
|
<option value="10">10</option>
|
|
<option value="11">11</option>
|
|
<option value="12">12</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="pw_surprise_fixed_hint" style="display:none; margin-top: 4px;">
|
|
<p class="pw_setting_hint" style="margin: 0; font-size: 0.78rem; opacity: 0.8;">
|
|
Uses a fixed depth of <strong id="pw_surprise_fixed_depth_label">2</strong> messages.
|
|
</p>
|
|
</div>
|
|
|
|
<!-- Active queue accordion -->
|
|
<details id="pw_surprise_queue_accordion" class="pw_surprise_queue_accordion" style="display:none; margin-top: 12px;">
|
|
<summary class="pw_surprise_queue_summary">
|
|
<i class="fa-solid fa-list-check"></i>
|
|
<span id="pw_surprise_queue_label">Armed surprises</span>
|
|
<i class="fa-solid fa-chevron-down pw_surprise_queue_chevron"></i>
|
|
</summary>
|
|
<ul id="pw_surprise_queue_list" class="pw_surprise_queue_list"></ul>
|
|
</details>
|
|
|
|
<!-- Clear all button -->
|
|
<button id="pw_surprise_clear_all" class="pw_surprise_clear_all_btn" style="display:none; margin-top: 10px;">
|
|
<i class="fa-solid fa-xmark"></i> Clear all surprises
|
|
</button>
|
|
</div>
|
|
|
|
<hr class="pw_divider">
|
|
|
|
<!-- Appearance Section -->
|
|
<div class="pw_section">
|
|
<h4 class="pw_section_title">
|
|
<i class="fa-solid fa-palette"></i> Appearance
|
|
</h4>
|
|
|
|
<div class="pw_row_2col">
|
|
<div>
|
|
<label for="pw_font_size" class="pw_input_label">
|
|
<i class="fa-solid fa-text-height"></i> Font Size
|
|
</label>
|
|
<select id="pw_font_size" class="text_pole pw_select">
|
|
<option value="small">Small</option>
|
|
<option value="default" selected>Default</option>
|
|
<option value="large">Large</option>
|
|
</select>
|
|
</div>
|
|
<div>
|
|
<label for="pw_bar_height" class="pw_input_label">
|
|
<i class="fa-solid fa-up-down"></i> Bar Height
|
|
</label>
|
|
<select id="pw_bar_height" class="text_pole pw_select">
|
|
<option value="compact">Compact</option>
|
|
<option value="default" selected>Default</option>
|
|
<option value="max">Max</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div style="margin-top: 10px;">
|
|
<label for="pw_bar_title_font" class="pw_input_label">
|
|
<i class="fa-solid fa-font"></i> Title font
|
|
</label>
|
|
<select id="pw_bar_title_font" class="text_pole pw_select pw_title_font_select"
|
|
style="width: 100%;">
|
|
<option value="none" style="font-family: inherit">None (hidden)</option>
|
|
<option value="default" selected style="font-family: 'Crimson Text', Georgia, serif">Default
|
|
</option>
|
|
<optgroup label="Serif">
|
|
<option value="crimson" style="font-family: 'Crimson Text', Georgia, serif">Crimson Text
|
|
</option>
|
|
<option value="georgia" style="font-family: Georgia, 'Times New Roman', serif">Georgia
|
|
</option>
|
|
<option value="merriweather" style="font-family: 'Merriweather', Georgia, serif">
|
|
Merriweather</option>
|
|
<option value="lora" style="font-family: 'Lora', Georgia, serif">Lora</option>
|
|
</optgroup>
|
|
<optgroup label="Sans-serif">
|
|
<option value="inter" style="font-family: 'Inter', system-ui, sans-serif">Inter</option>
|
|
<option value="nunito" style="font-family: 'Nunito', system-ui, sans-serif">Nunito</option>
|
|
<option value="poppins" style="font-family: 'Poppins', system-ui, sans-serif">Poppins
|
|
</option>
|
|
<option value="roboto" style="font-family: 'Roboto', system-ui, sans-serif">Roboto</option>
|
|
</optgroup>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div> |