mirror of
https://github.com/open-webui/docs.git
synced 2026-03-29 13:48:41 +07:00
229 lines
11 KiB
Markdown
229 lines
11 KiB
Markdown
---
|
|
sidebar_position: 1300
|
|
title: "Notes"
|
|
---
|
|
|
|
The **Notes** feature in Open WebUI provides a dedicated workspace for content creation and knowledge management. While normal chats within Open WebUI preserves your linear conversations, **Notes** allow you to curate specific content, such as long-form drafts or coding cheatsheets that exists independently of any single conversation. These notes can be written and enhanced using your LLMs and seamlessly injected into new chats as context.
|
|
|
|
## The Note Editor
|
|
|
|
The Notes interface is a full-featured writing environment that supports Markdown and Rich Text.
|
|
|
|
### Floating Formatting Toolbar
|
|
|
|
Notes utilizes a context-aware **Floating Toolbar** for formatting, rather than a static bar at the top of the screen.
|
|
|
|
* **Click on empty space:** The toolbar will appear at your cursor location, allowing you to start new elements like Headers or Lists.
|
|
* **Double-click text:** Highlighting or double-clicking existing text summons the toolbar to apply styling options.
|
|
|
|
**Toolbar Options:**
|
|
|
|
* **Headers:** `H1`, `H2`, `H3` for document structure.
|
|
* **Lists:** Bullet points (`·`) and Numbered lists (`1.`).
|
|
* **Task Lists:** Interactive checkboxes (`☑`) for to-do lists.
|
|
* **Styling:** **Bold**, *Italic*, Underline, and ~~Strikethrough~~.
|
|
* **Code:** Inline code formatting `</>`.
|
|
|
|
### Drag-and-Drop List Reordering
|
|
|
|
List items can be reordered by dragging. Visual drag handles appear when hovering over list items, making it easy to reorganize content.
|
|
|
|
While this toolbar is native to the Notes workspace, it can also be enabled for standard Chats.
|
|
|
|
:::info To see this toolbar in your main chat input:
|
|
|
|
1. Go to **Settings > Interface**.
|
|
2. Toggle **Rich Text Input for Chat** to ON.
|
|
3. Toggle **Show Formatting Toolbar** to ON.
|
|
|
|
:::
|
|
|
|
### Input Tools & Metrics
|
|
|
|
* **Metrics:** The top header displays real-time **Word** and **Character** counts, useful for drafting content with length constraints.
|
|
* **Voice Dictation:** Click the **Microphone** icon (bottom left) to dictate text directly into the note using speech-to-text.
|
|
|
|
---
|
|
|
|
## AI Integration
|
|
|
|
LLMs are directly integrated with your notes, turning the editor into an AI-assisted workspace. Click the **AI (Sparkle/Star)** button at the bottom right of the screen to access these features.
|
|
|
|
### 1. Enhance
|
|
|
|
The **Enhance** feature allows you to use AI as an in-place editor.
|
|
|
|
1. Highlight a specific section of text (or select nothing to target the whole note).
|
|
2. Click **Enhance**.
|
|
3. The LLM (selected in the Note's Controls) will rewrite your text directly in the editor with enhancement in mind.
|
|
|
|
:::info Custom Control
|
|
If you need a specific style or tone (e.g., "Rewrite this to be more professional"), use the **Chat** sidebar instead:
|
|
|
|
1. Select your text.
|
|
2. Click the **Chat** button.
|
|
3. Enable the **Edit** toggle if you need to modify the context manually.
|
|
4. Instruct the AI to rewrite the selection according to your specific needs.
|
|
:::
|
|
|
|
### 2. Chat (Sidebar)
|
|
|
|
The **Chat** button opens a dedicated sidebar conversation focused specifically on the note's content. This is a "Chat with Data" mode.
|
|
|
|
* You can ask the AI to summarize the note, extract specific data, or critique your writing.
|
|
* **Edit Toggle:** Inside the chat sidebar, there is an **Edit** toggle. This allows you to manually modify the highlighted context sent to the LLM *before* you press send, giving you granular control over the query.
|
|
|
|
### Undo / Redo
|
|
|
|
The **Undo/Redo** arrows (top right) track all changes. Crucially, this includes changes made by the AI. If the `Enhance` feature produces a result you dislike, you can simply click Undo to revert to your original text.
|
|
|
|
---
|
|
|
|
## Using Notes in Chat
|
|
|
|
You can inject the content of your Notes into standard chat sessions to provide context to the AI.
|
|
|
|
### How to Attach a Note
|
|
|
|
1. Go to the main **Chat Input** bar.
|
|
2. Click the **`+` (More)** button.
|
|
3. Select **Attach Notes**.
|
|
4. Choose the desired note(s) from the list.
|
|
|
|
The full content of the note will be loaded into the context window for that conversation.
|
|
|
|
---
|
|
|
|
## Management & Sharing
|
|
|
|
Open WebUI provides several ways to export and manage your notes via the **More (`...`)** menu in the top right corner.
|
|
|
|
:::info Admin Visibility
|
|
Notes are considered **workspace items**, just like models, knowledge, prompts, and tools. By default (`BYPASS_ADMIN_ACCESS_CONTROL=True`), administrators can see **all users' notes** under the "All" and "Shared with you" filters.
|
|
|
|
To prevent admins from seeing notes they were not explicitly shared with, set `BYPASS_ADMIN_ACCESS_CONTROL` to `False`. This also restricts admin access to other workspace items (models, knowledge, prompts, tools). See the [Environment Configuration](/reference/env-configuration#bypass_admin_access_control) for details.
|
|
:::
|
|
|
|
### Download
|
|
|
|
You can export your notes in standard formats:
|
|
|
|
* **Plain text (.txt):** The raw text content.
|
|
* **Plain text (.md):** Preserves Markdown structure (headers, code blocks, etc.).
|
|
* **PDF document (.pdf):** A rendered document with visual formatting applied. Dark mode styling is automatically detected and applied.
|
|
|
|
### Sharing
|
|
|
|
* **Copy Link:** Copies the direct URL of the specific Note to your clipboard (useful for returning to the note later).
|
|
* **Copy to Clipboard:** Copies the entire *contents* (text) of the note to your clipboard for pasting into other applications.
|
|
|
|
### Delete
|
|
|
|
You can delete notes permanently from two locations:
|
|
|
|
1. **From the Notes Dashboard:** Click the **More (`...`)** button on the individual note card in the list view and select **Delete**.
|
|
2. **From the Editor:** While inside an open note, click the **More (`...`)** button in the top right corner of the screen and select **Delete**.
|
|
|
|
|
|
### Quick Note Creation via URL
|
|
|
|
Notes can be created directly by navigating to `/notes/new` with optional query parameters:
|
|
|
|
* `/notes/new` — Opens a blank note
|
|
* `/notes/new?title=My%20Title&content=Initial%20text` — Pre-populates title and content
|
|
|
|
This enables bookmarks and shortcuts for fast note creation.
|
|
|
|
### Creating Notes from Search
|
|
|
|
You can also create notes directly from the global search bar:
|
|
|
|
1. Open the search using the keyboard shortcut (`Cmd+K` / `Ctrl+K`) or by clicking the search icon.
|
|
2. Type your initial note content.
|
|
3. Select **"Create a new note"** from the actions list.
|
|
4. This will immediately open a new note with your search text as the content.
|
|
|
|
### Importing Notes
|
|
|
|
You can import existing Markdown (`.md`) files into your Notes workspace:
|
|
|
|
* **Drag and Drop:** Simply drag `.md` files directly onto the Notes list view to import them.
|
|
|
|
### View Options
|
|
|
|
The Notes dashboard offers different ways to organize your content:
|
|
|
|
* **Filter:** Toggle between **Created by you** (your private/shared notes) and **Shared with you** (notes others have shared).
|
|
* **Layout:** Switch between **List** and **Grid** views for visual preference.
|
|
|
|
### Sharing Permissions
|
|
|
|
Administrators can control sharing capabilities via environment variables or the Admin Panel:
|
|
|
|
* **Internal Sharing:** `USER_PERMISSIONS_NOTES_ALLOW_SHARING` (Controls sharing with other users/groups on the server).
|
|
* **Public Sharing:** `USER_PERMISSIONS_NOTES_ALLOW_PUBLIC_SHARING` (Controls generating public external links).
|
|
|
|
These can also be configured in **Admin Panel > Settings > Users > Default Permissions**.
|
|
|
|
---
|
|
|
|
## Native Note Management (Agentic)
|
|
|
|
If you are using a model with **Native Function Calling** enabled (see the [**Central Tool Calling Guide**](/features/extensibility/plugin/tools#tool-calling-modes-default-vs-native)), the AI can interact with your Notes workspace autonomously using built-in system tools.
|
|
|
|
### Available Note Tools:
|
|
- **`search_notes`**: The model can search your entire library of notes by title and content.
|
|
- **`view_note`**: After finding a note, the model can "read" its full markdown content.
|
|
- **`write_note`**: The model can proactively create new notes for you (e.g., "I'll save this summary as a new note for you").
|
|
- **`replace_note_content`**: The model can update existing notes (e.g., adding a new item to a todo list note).
|
|
|
|
### Why use native tool calling for Notes?
|
|
This transforms Notes from a static reference into a dynamic **Long-Term Memory** and **Task Management** system. Instead of manually copying and pasting, you can simply tell the model: *"Search my 'Project X' notes and find the database schema,"* or *"Add a new task to my 'Weekly Todo' note to review the PR."*
|
|
|
|
---
|
|
|
|
## Use Cases
|
|
|
|
While Open WebUI has dedicated **Prompts** (for slash commands) and **Documents** (for RAG), **Notes** serves a unique middle ground for iterative work and precise control.
|
|
|
|
### 1. The "Living" Draft (Iterative Writing)
|
|
|
|
Unlike a static prompt or an uploaded document, a Note is a workspace.
|
|
|
|
* **Scenario:** You are writing a blog post or documentation. You draft the outline, use the **Enhance** tool to expand bullet points into paragraphs, and use the **Chat** sidebar to brainstorm titles. The Note becomes the final product, rather than just a reference.
|
|
|
|
### 2. High-Fidelity Code Staging
|
|
|
|
RAG (Documents) uses vector search, which is probabilistic—it might miss a crucial line of code in a large file.
|
|
|
|
* **Scenario:** You have three specific functions from different files that you need to refactor together. Copy/pasting them into the chat is messy. Instead, paste them into a Note. When you attach the Note, you guarantee the LLM sees **100%** of that code exactly as you arranged it, without the "fuzzy" guessing of RAG.
|
|
|
|
### 3. Transient Data Sanitization
|
|
|
|
Sometimes you need to analyze data (like error logs) but need to clean it first.
|
|
|
|
* **Scenario:** You have a server error log containing sensitive API keys. Paste the log into a Note, manually delete the keys or use **Enhance** to "Anonymize this text", and *then* attach the sanitized Note to a chat to ask the AI for a solution. This prevents leaking sensitive data into your main chat history or embeddings.
|
|
|
|
---
|
|
|
|
## Limitations
|
|
|
|
It is important to understand how Notes function technically compared to other features like "Documents".
|
|
|
|
### Context Injection vs. Vector Search
|
|
|
|
* **Documents (RAG):** When you upload a file to "Documents". the system uses vector search to find relevant *chunks* of the file based on your query. It is probabilistic.
|
|
* **Notes (Deterministic):** When you attach a Note, you are performing **manual context injection**. The system does not guess; it forces the LLM to read the *entire* note. This guarantees the model sees the information, but it requires you to select the correct note manually.
|
|
|
|
### Context Window Usage
|
|
|
|
Because attaching a Note injects the full text into the chat:
|
|
|
|
* If you have a very large note (e.g., 10,000 words) and attach it to a model with a small context window (e.g., 8k tokens), the model may run out of memory or "forget" the beginning of your conversation.
|
|
|
|
### Write Support (Native Mode)
|
|
|
|
By default, when you manually attach a Note to a chat, it is **read-only**. However, in **Native Mode**, if the model has permission to use the `replace_note_content` tool, it can **actively modify** your notes.
|
|
|
|
* **Security Note**: This means a model could potentially overwrite content in your notes if instructed (or if it decides it's necessary for the task). Always review changes and utilize the **Undo/Redo** arrows in the Note editor if an AI makes an unwanted modification.
|