Small feature changes and bug fixes
This commit is contained in:
@@ -247,26 +247,109 @@
|
||||
<!-- Memory -->
|
||||
<section id="memory">
|
||||
<h2>Memory & Context</h2>
|
||||
<p>Control how much conversation history the AI remembers.</p>
|
||||
<p>oAI features an enhanced memory and context system with intelligent message selection, semantic search, and automatic summarization.</p>
|
||||
|
||||
<h3>Memory Enabled (Default)</h3>
|
||||
<p>When memory is <strong>on</strong>, the AI remembers all previous messages in your session. This allows for natural, flowing conversations.</p>
|
||||
|
||||
<h3>Memory Disabled</h3>
|
||||
<p>When memory is <strong>off</strong>, only your latest message is sent. Each message is independent. Useful for:</p>
|
||||
<ul>
|
||||
<li>Quick, unrelated questions</li>
|
||||
<li>Reducing token usage and cost</li>
|
||||
<li>Avoiding context pollution</li>
|
||||
</ul>
|
||||
|
||||
<h3>Toggle Memory</h3>
|
||||
<h3>Basic Memory Control</h3>
|
||||
<p>Control whether the AI remembers previous messages:</p>
|
||||
<code class="command">/memory on</code>
|
||||
<code class="command">/memory off</code>
|
||||
|
||||
<div class="note">
|
||||
<strong>Note:</strong> Memory state is shown in the header with a badge when enabled.
|
||||
</div>
|
||||
|
||||
<h3>Smart Context Selection</h3>
|
||||
<p>When enabled, oAI intelligently selects which messages to send instead of sending all history. This reduces token usage by 50-80% while maintaining context quality.</p>
|
||||
|
||||
<h4>How It Works</h4>
|
||||
<ul>
|
||||
<li>Always includes the last 10 messages (recent context)</li>
|
||||
<li>Includes starred messages (user-marked as important)</li>
|
||||
<li>Includes high-importance messages (high cost, detailed content)</li>
|
||||
<li>Respects model context limits</li>
|
||||
</ul>
|
||||
|
||||
<h4>Enabling Smart Context</h4>
|
||||
<ol>
|
||||
<li>Go to Settings → Advanced</li>
|
||||
<li>Enable "Smart Context Selection"</li>
|
||||
<li>Set max context tokens (default: 100,000)</li>
|
||||
</ol>
|
||||
|
||||
<h3>Message Starring</h3>
|
||||
<p>Star important messages to always include them in context, regardless of age:</p>
|
||||
<ol>
|
||||
<li>Hover over any user or assistant message</li>
|
||||
<li>Click the star icon (⭐) in the header</li>
|
||||
<li>Starred messages show a filled yellow star</li>
|
||||
</ol>
|
||||
|
||||
<div class="tip">
|
||||
<strong>💡 Tip:</strong> Star key decisions, important information, or context you want the AI to always remember.
|
||||
</div>
|
||||
|
||||
<h3>Semantic Search</h3>
|
||||
<p>Find conversations by meaning, not just keywords. Powered by AI embeddings.</p>
|
||||
|
||||
<h4>Setup</h4>
|
||||
<ol>
|
||||
<li>Go to Settings → Advanced → Semantic Search</li>
|
||||
<li>Enable "Enable Embeddings"</li>
|
||||
<li>Requires API key for OpenAI, OpenRouter, or Google</li>
|
||||
<li>Choose your preferred embedding provider and model</li>
|
||||
<li>Click "Embed All Conversations" (one-time, ~$0.04 for 10k messages)</li>
|
||||
</ol>
|
||||
|
||||
<div class="tip">
|
||||
<strong>💡 Provider Priority:</strong> If you have multiple API keys configured, the app uses OpenAI → OpenRouter → Google in that order. You can override this by selecting a specific model in settings.
|
||||
</div>
|
||||
|
||||
<h4>Using Semantic Search</h4>
|
||||
<ol>
|
||||
<li>Open conversation list (<code>/list</code> or <kbd>⌘L</kbd>)</li>
|
||||
<li>Type your search query</li>
|
||||
<li>Toggle "Semantic" switch ON</li>
|
||||
<li>Results ranked by meaning, not keyword matching</li>
|
||||
</ol>
|
||||
|
||||
<div class="example">
|
||||
<strong>Example:</strong> Search for "login security methods" to find a conversation titled "Morning Chat" that discussed authentication, even though the title doesn't contain those words.
|
||||
</div>
|
||||
|
||||
<h3>Progressive Summarization</h3>
|
||||
<p>For very long conversations, oAI automatically summarizes older messages to save tokens while preserving context.</p>
|
||||
|
||||
<h4>How It Works</h4>
|
||||
<ul>
|
||||
<li>When conversation exceeds threshold (default: 50 messages)</li>
|
||||
<li>Older messages (0-30) are summarized into 2-3 paragraphs</li>
|
||||
<li>Summary focuses on key topics, decisions, and information</li>
|
||||
<li>Recent messages (last 20) always sent in full</li>
|
||||
<li>Summaries included in system prompt for context</li>
|
||||
</ul>
|
||||
|
||||
<h4>Enabling Summarization</h4>
|
||||
<ol>
|
||||
<li>Go to Settings → Advanced → Progressive Summarization</li>
|
||||
<li>Enable "Enable Summarization"</li>
|
||||
<li>Set message threshold (default: 50)</li>
|
||||
</ol>
|
||||
|
||||
<div class="note">
|
||||
<strong>Cost:</strong> Each summary costs ~$0.001. For a heavy user (10 summaries/month), this is ~$0.01/month.
|
||||
</div>
|
||||
|
||||
<h3>All Three Together</h3>
|
||||
<p>When all features are enabled:</p>
|
||||
<ol>
|
||||
<li><strong>Smart Context Selection</strong>: Picks relevant messages (15-20 from 100)</li>
|
||||
<li><strong>Progressive Summarization</strong>: Provides summaries of excluded old messages</li>
|
||||
<li><strong>Semantic Search</strong>: Find conversations by meaning</li>
|
||||
</ol>
|
||||
|
||||
<div class="tip">
|
||||
<strong>💡 Result:</strong> 50-80% token reduction, better context quality, and ability to handle 100+ message conversations efficiently.
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Online Mode -->
|
||||
@@ -353,7 +436,7 @@
|
||||
<!-- Conversations -->
|
||||
<section id="conversations">
|
||||
<h2>Managing Conversations</h2>
|
||||
<p>Save, load, and export your chat conversations.</p>
|
||||
<p>Save, load, search, and export your chat conversations.</p>
|
||||
|
||||
<h3>Saving Conversations</h3>
|
||||
<code class="command">/save my-project-chat</code>
|
||||
@@ -369,10 +452,39 @@
|
||||
<li>Type <code>/list</code></li>
|
||||
</ul>
|
||||
|
||||
<h3>Searching Conversations</h3>
|
||||
<p>Two search modes available in the conversation list:</p>
|
||||
<ul>
|
||||
<li><strong>Keyword Search</strong> (default): Matches conversation titles</li>
|
||||
<li><strong>Semantic Search</strong>: Finds conversations by meaning (requires embeddings enabled)</li>
|
||||
</ul>
|
||||
|
||||
<div class="steps">
|
||||
<h4>Using Semantic Search</h4>
|
||||
<ol>
|
||||
<li>Open conversation list (<kbd>⌘L</kbd>)</li>
|
||||
<li>Type your search query</li>
|
||||
<li>Toggle "Semantic" switch ON</li>
|
||||
<li>Results ranked by relevance</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<div class="example">
|
||||
<strong>Example:</strong> Search "authentication methods" to find conversations about login security, even if the title is just "Chat 2024-01-15".
|
||||
</div>
|
||||
|
||||
<h3>Deleting Conversations</h3>
|
||||
<code class="command">/delete old-chat</code>
|
||||
<p class="warning"><strong>Warning:</strong> This action cannot be undone.</p>
|
||||
|
||||
<h3>Bulk Delete</h3>
|
||||
<p>In the conversation list:</p>
|
||||
<ol>
|
||||
<li>Click "Select" button</li>
|
||||
<li>Click conversations to select (checkbox appears)</li>
|
||||
<li>Click "Delete (N)" button</li>
|
||||
</ol>
|
||||
|
||||
<h3>Exporting Conversations</h3>
|
||||
<p>Export to Markdown or JSON format:</p>
|
||||
<code class="command">/export md</code>
|
||||
@@ -415,6 +527,7 @@
|
||||
|
||||
<h4>Auto-Save Triggers</h4>
|
||||
<ul>
|
||||
<li><strong>On App Start</strong> - Pulls and imports changes when oAI launches (no push)</li>
|
||||
<li><strong>On Model Switch</strong> - Saves when you change AI models</li>
|
||||
<li><strong>On App Quit</strong> - Saves before oAI closes</li>
|
||||
<li><strong>After Idle Timeout</strong> - Saves after 5 seconds of inactivity</li>
|
||||
|
||||
Reference in New Issue
Block a user