Add MkDocs documentation portal with Material theme and CI/CD workflow

Co-authored-by: Fu-Jie <33599649+Fu-Jie@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2025-12-29 10:03:23 +00:00
parent 487bb21d46
commit 3950846fa9
26 changed files with 3254 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
# Export to Excel
<span class="category-badge action">Action</span>
<span class="version-badge">v1.0.0</span>
Export chat conversations to Excel spreadsheet format for analysis, archiving, and sharing.
---
## Overview
The Export to Excel plugin allows you to download your chat conversations as Excel files. This is useful for:
- Archiving important conversations
- Analyzing chat data
- Sharing conversations with colleagues
- Creating documentation from AI-assisted research
## Features
- :material-file-excel: **Excel Export**: Standard `.xlsx` format
- :material-table: **Formatted Output**: Clean table structure
- :material-download: **One-Click Download**: Instant file generation
- :material-history: **Full History**: Exports complete conversation
---
## Installation
1. Download the plugin file: [`export_to_excel.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/export_to_excel)
2. Upload to OpenWebUI: **Admin Panel****Settings****Functions**
3. Enable the plugin
---
## Usage
1. Have a conversation you want to export
2. Click the **Export** button in the message action bar
3. The Excel file will be automatically downloaded
---
## Output Format
The exported Excel file contains:
| Column | Description |
|--------|-------------|
| Timestamp | When the message was sent |
| Role | User or Assistant |
| Content | The message text |
| Model | The AI model used (for assistant messages) |
---
## Requirements
!!! note "Prerequisites"
- OpenWebUI v0.3.0 or later
- No additional Python packages required (uses built-in libraries)
---
## Source Code
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/export_to_excel){ .md-button }

View File

@@ -0,0 +1,141 @@
# Action Plugins
Action plugins add custom buttons below messages in the chat interface, allowing you to trigger specific functionalities with a single click.
## What are Actions?
Actions are interactive plugins that:
- :material-gesture-tap: Add buttons to the message action bar
- :material-export: Generate and export content (mind maps, charts, files)
- :material-api: Interact with external services and APIs
- :material-animation-play: Create visualizations and interactive content
---
## Available Action Plugins
<div class="grid cards" markdown>
- :material-brain:{ .lg .middle } **Smart Mind Map**
---
Intelligently analyzes text content and generates interactive mind maps with beautiful visualizations.
**Version:** 0.7.2
[:octicons-arrow-right-24: Documentation](smart-mind-map.md)
- :material-card-text:{ .lg .middle } **Knowledge Card**
---
Quickly generates beautiful learning memory cards, perfect for studying and memorization.
**Version:** 0.2.0
[:octicons-arrow-right-24: Documentation](knowledge-card.md)
- :material-file-excel:{ .lg .middle } **Export to Excel**
---
Export chat conversations to Excel spreadsheet format for analysis and archiving.
**Version:** 1.0.0
[:octicons-arrow-right-24: Documentation](export-to-excel.md)
- :material-text-box-search:{ .lg .middle } **Summary**
---
Generate concise summaries of long text content with key points extraction.
**Version:** 1.0.0
[:octicons-arrow-right-24: Documentation](summary.md)
</div>
---
## Quick Installation
1. Download the desired plugin `.py` file
2. Navigate to **Admin Panel****Settings****Functions**
3. Upload the file and configure settings
4. Use the action button in chat messages
---
## Development Template
Want to create your own Action plugin? Use our template:
```python
"""
title: My Custom Action
author: Your Name
version: 1.0.0
description: Description of your action plugin
"""
from pydantic import BaseModel, Field
from typing import Optional, Dict, Any
class Action:
class Valves(BaseModel):
# Add your configuration options here
show_status: bool = Field(
default=True,
description="Show status updates during processing"
)
def __init__(self):
self.valves = self.Valves()
async def action(
self,
body: dict,
__user__: Optional[Dict[str, Any]] = None,
__event_emitter__: Optional[Any] = None,
__request__: Optional[Any] = None,
) -> Optional[dict]:
"""
Main action method triggered when user clicks the action button.
Args:
body: Message body containing conversation data
__user__: Current user information
__event_emitter__: For sending notifications and status updates
__request__: FastAPI request object
Returns:
Modified body dict or None
"""
# Send status update
if __event_emitter__ and self.valves.show_status:
await __event_emitter__({
"type": "status",
"data": {"description": "Processing...", "done": False}
})
# Your plugin logic here
messages = body.get("messages", [])
if messages:
last_message = messages[-1].get("content", "")
# Process the message...
# Complete status
if __event_emitter__ and self.valves.show_status:
await __event_emitter__({
"type": "status",
"data": {"description": "Done!", "done": True}
})
return body
```
For more details, check our [Plugin Development Guide](../../development/plugin-guide.md).

View File

@@ -0,0 +1,88 @@
# Knowledge Card
<span class="category-badge action">Action</span>
<span class="version-badge">v0.2.0</span>
Quickly generates beautiful learning memory cards, perfect for studying and quick memorization.
---
## Overview
The Knowledge Card plugin (also known as Flash Card / 闪记卡) transforms content into visually appealing flashcards that are perfect for learning and memorization. Whether you're studying for exams, learning new concepts, or reviewing key points, this plugin helps you create effective study materials.
## Features
- :material-card-text: **Beautiful Cards**: Modern, clean design for easy reading
- :material-animation-play: **Interactive**: Flip cards to reveal answers
- :material-export: **Exportable**: Save cards for offline study
- :material-palette: **Customizable**: Multiple themes and styles
- :material-translate: **Multi-language**: Supports various languages
---
## Installation
1. Download the plugin file: [`knowledge_card.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/knowledge-card)
2. Upload to OpenWebUI: **Admin Panel****Settings****Functions**
3. Enable the plugin
---
## Usage
1. Have a conversation about a topic you want to learn
2. Click the **Flash Card** button in the message action bar
3. The plugin will analyze the content and generate flashcards
4. Click on cards to flip and reveal answers
---
## Configuration
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `cards_per_message` | integer | `5` | Maximum cards to generate |
| `theme` | string | `"modern"` | Visual theme |
| `show_hints` | boolean | `true` | Include hints on cards |
---
## Example
=== "Question Side"
```
┌─────────────────────────────┐
│ │
│ What is the capital of │
│ France? │
│ │
│ [Click to flip] │
└─────────────────────────────┘
```
=== "Answer Side"
```
┌─────────────────────────────┐
│ │
│ Paris │
│ │
│ The city of lights, │
│ located on the Seine │
│ │
└─────────────────────────────┘
```
---
## Requirements
!!! note "Prerequisites"
- OpenWebUI v0.3.0 or later
- No additional Python packages required
---
## Source Code
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/knowledge-card){ .md-button }

View File

@@ -0,0 +1,91 @@
# Smart Mind Map
<span class="category-badge action">Action</span>
<span class="version-badge">v0.7.2</span>
Intelligently analyzes text content and generates interactive mind maps for better visualization and understanding.
---
## Overview
The Smart Mind Map plugin transforms text content into beautiful, interactive mind maps. It uses AI to analyze the structure of your content and creates a hierarchical visualization that makes complex information easier to understand.
## Features
- :material-brain: **AI-Powered Analysis**: Intelligently extracts key concepts and relationships
- :material-gesture-swipe: **Interactive Navigation**: Zoom, pan, and explore the mind map
- :material-palette: **Beautiful Styling**: Modern design with customizable colors
- :material-download: **Export Options**: Save as image or structured data
- :material-translate: **Multi-language Support**: Works with multiple languages
---
## Installation
1. Download the plugin file: [`smart_mind_map.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/smart-mind-map)
2. Upload to OpenWebUI: **Admin Panel****Settings****Functions**
3. Enable the plugin
---
## Usage
1. Start a conversation and get a response from the AI
2. Click the **Mind Map** button in the message action bar
3. Wait for the mind map to generate
4. Interact with the visualization:
- **Zoom**: Scroll to zoom in/out
- **Pan**: Click and drag to move around
- **Expand/Collapse**: Click nodes to show/hide children
---
## Configuration
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `show_status` | boolean | `true` | Show processing status updates |
| `max_depth` | integer | `5` | Maximum depth of the mind map |
| `theme` | string | `"default"` | Color theme for the visualization |
---
## Example Output
The plugin generates an interactive HTML mind map embedded in the chat:
```
📊 Mind Map Generated
├── Main Topic
│ ├── Subtopic 1
│ │ ├── Detail A
│ │ └── Detail B
│ ├── Subtopic 2
│ └── Subtopic 3
└── Related Concepts
```
---
## Requirements
!!! note "Prerequisites"
- OpenWebUI v0.3.0 or later
- No additional Python packages required
---
## Troubleshooting
??? question "Mind map is not displaying?"
Ensure your browser supports HTML5 Canvas and JavaScript is enabled.
??? question "Generation takes too long?"
For very long texts, the AI analysis may take more time. Consider breaking down the content into smaller sections.
---
## Source Code
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/smart-mind-map){ .md-button }

View File

@@ -0,0 +1,82 @@
# Summary
<span class="category-badge action">Action</span>
<span class="version-badge">v1.0.0</span>
Generate concise summaries of long text content with key points extraction.
---
## Overview
The Summary plugin helps you quickly understand long pieces of text by generating concise summaries with extracted key points. It's perfect for:
- Summarizing long articles or documents
- Extracting key points from conversations
- Creating quick overviews of complex topics
## Features
- :material-text-box-search: **Smart Summarization**: AI-powered content analysis
- :material-format-list-bulleted: **Key Points**: Extracted important highlights
- :material-content-copy: **Easy Copy**: One-click copying of summaries
- :material-tune: **Adjustable Length**: Control summary detail level
---
## Installation
1. Download the plugin file: [`summary.py`](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/summary)
2. Upload to OpenWebUI: **Admin Panel****Settings****Functions**
3. Enable the plugin
---
## Usage
1. Get a long response from the AI or paste long text
2. Click the **Summary** button in the message action bar
3. View the generated summary with key points
---
## Configuration
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `summary_length` | string | `"medium"` | Length of summary (short/medium/long) |
| `include_key_points` | boolean | `true` | Extract and list key points |
| `language` | string | `"auto"` | Output language |
---
## Example Output
```markdown
## Summary
This document discusses the implementation of a new feature
for the application, focusing on user experience improvements
and performance optimizations.
### Key Points
- ✅ New user interface design improves accessibility
- ✅ Backend optimizations reduce load times by 40%
- ✅ Mobile responsiveness enhanced
- ✅ Integration with third-party services simplified
```
---
## Requirements
!!! note "Prerequisites"
- OpenWebUI v0.3.0 or later
- Uses the active LLM model for summarization
---
## Source Code
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/awesome-openwebui/tree/main/plugins/actions/summary){ .md-button }