Compare commits

...

7 Commits

Author SHA1 Message Date
Tim Baek
8eb66a253b Merge pull request #838 from silentoplayz/feat-notes-docs
docs: Add documentation for Notes feature
2025-11-21 02:29:45 -05:00
Tim Baek
3bb58a83b6 Merge pull request #837 from silentoplayz/feat-channels-docs
docs: Add documentation for Channels feature
2025-11-21 02:28:44 -05:00
silentoplayz
342187b692 Update notes.md
https://github.com/open-webui/docs/pull/838#discussion_r2547713781
2025-11-20 16:40:54 -05:00
silentoplayz
579eba51e6 fix: refac 2025-11-20 16:34:24 -05:00
silentoplayz
4fc765b31a docs: Add documentation for Notes feature
Introduces a new, comprehensive documentation page for the "Notes" feature.

This page explains the core functionality of the Notes editor, its AI integrations (Enhance, Chat sidebar), and how notes can be used to provide deterministic context in standard chats. It also details use cases and limitations to provide a complete understanding of the feature.
2025-11-20 16:16:42 -05:00
silentoplayz
f73bc1ea98 Update index.md 2025-11-20 04:13:21 -05:00
silentoplayz
3d4c0025d7 docs: Add documentation for Channels feature
Introduces a new documentation page for the "Channels" feature.

This page explains what Channels are, how to enable and use them, and provides several use cases for this new collaborative tool. It details the unique `@mention` system for interacting with different AI models within a shared timeline.
2025-11-20 04:08:27 -05:00
2 changed files with 290 additions and 1 deletions

View File

@@ -3,4 +3,131 @@ sidebar_position: 1000
title: "Channels"
---
Soon...
**Channels** transform Open WebUI from a personal interface into a collaborative workspace. Unlike standard "Chats"—which are isolated sessions—Channels are persistent, topic-based rooms (similar to Discord or Slack), allowing multiple users and multiple AI models to interact in a shared timeline.
:::info Beta Feature
Channels is currently a **Beta** feature. Functionality is subject to change, and it must be explicitly enabled by an Administrator before it appears in the interface.
:::
## Enabling Channels
By default, the Channels feature may be hidden. An **Admin** must enable it globally for the instance.
1. Click on your **User Profile** icon in the bottom left (or top right) corner.
2. Select **Admin Panel**.
3. Navigate to **Settings** -> **General**.
4. Locate the toggle labeled **Channels (Beta)**.
5. Toggle it **On** and click **Save**.
6. Refresh the page. The "Channels" section should now appear in the main sidebar.
## Creating a Channel
1. Locate the **Channels** header in the sidebar.
2. Click the **(+) Plus** icon next to the "Channels" header.
3. **Name:** Enter a channel name (e.g., `general`, `python-dev`). Spaces should get converted to hyphens.
4. **Access Control:**
* **Public:** All registered users on your Open WebUI instance can see and join this channel.
* **Private/Group Access:** Only you or users with permission can access this channel.
## Using Channels
To access a channel, click on an existing channel to join, or create a new one.
### The `@mention` System
Channels function differently than standard Chats. In a standard Chat, you select a model at the top, and it responds to every message. **In Channels, the conversation is passive by default.**
To trigger a response, you must **tag** a specific model using the `@` symbol.
1. Type `@` in the input box.
2. A popup list of your available models will appear.
3. Select the model you wish to speak to (e.g., `@llama3`, `@gpt-4o`).
4. Type your prompt.
**Example:**
> **User:** `@gpt-4o` Write a Python script to scrape a website.
>
> *(GPT-4o responds with code)*
>
> **User:** `@llama3` Can you explain the code that GPT-4 just wrote?
:::tip Multi-Model Workflows
This allows you to chain different models together in one timeline. You can use a "smart" model for reasoning and a "fast" model for formatting, all within the same context window.
:::
### Tagging Users
You can also use the `@` symbol to ping other human users in the channel to get their attention or direct a message to them specifically.
1. Type `@` in the input box.
2. Select the user's name from the list.
3. **Usage:** `@admin Can you check the server logs?`
### Linking Channels
You can reference other channels directly within a conversation using the `#` symbol. This creates a clickable link to that channel.
1. Type `#` in the input box.
2. Select the channel name from the list.
3. **Usage:** `Please post those screenshots in #screenshots instead.`
:::warning Access Control
If a user **does not** have access to view a linked channel (e.g., `#admin-only`) within a channel they **do** have access to (e.g., `#general-chat`), the linked channel will appear to them as **`#Unknown`**, and clicking it will have no effect.
:::
### Message Interactions
Hover over any message in the timeline to access interaction options:
* **Add Reaction:** Click the **Smiley Face** icon to add a visual emoji eaction to a message.
* **Reply:** Quotes the message within the main channel stream, linking your response to the original message while keeping it visible to everyone in the main flow.
* **Reply in Thread:** Starts a separate, nested conversation thread centered on that specific message. This allows for focused discussions without cluttering the main channel history.
* **Edit:** Click the **Pencil** icon to modify the content of your message.
* **Delete:** Click the **Trash** icon to remove the message from the channel.
:::note
Currently, reactions are purely visual and do not influence model behavior.
:::
### Collaboration
If your Open WebUI instance supports multiple users:
* **Real-time updates:** Messages appear instantly for all users currently viewing the channel.
* **Shared Context:** When a teammate asks an AI a question, the AI's response becomes part of the context for the *next* user's query. This allows teams to iterate on AI outputs together.
## Managing Channels
### Editing and Deleting
To manage an existing channel:
1. Hover over the channel name in the sidebar.
2. Click the **Gear (Edit)** icon.
:::info
Only the Channel Creator or an Admin can delete a channel.
:::
## Use Cases
### 1. Team Development (`#dev-team`)
Create a channel where developers can paste code snippets. Use `@codellama` or `@deepseek-coder` to generate solutions, while human team members comment on the logic in plain text alongside the AI.
### 2. Roleplay & Creative Writing (`#story-mode`)
Keep long-running story contexts alive indefinitely without them getting buried in your personal chat history. Switch between different "Character" models (using Modelfiles) within the same story thread to create multi-character dialogues.
### 3. Project Knowledge Base (`#marketing-strategy`)
Use a channel as a persistent "War Room" for a specific project. Humans can discuss ideas and paste links freely. When a decision is needed, tag an AI to process the conversation history.
* *Example:* "Users discuss a marketing plan for 20 messages. Then, a user types: `@gpt-4o` Read the conversation above and create a bulleted list of the action items we just discussed."
---
:::warning
**Privacy Note**
Remember that **Public Channels** are visible to everyone on your instance. Do not share API keys, passwords, or sensitive personal data in public channels.
:::

162
docs/features/notes.md Normal file
View File

@@ -0,0 +1,162 @@
---
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 `</>`.
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.
### 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.
### 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**.
---
## 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.
### Read-Only Context
When you attach a Note to a standard chat, it is **read-only** for the AI.
* The AI in the main chat cannot automatically update the text inside your Note file. If the AI suggests changes to your project, you must manually copy those changes back into the Note editor.