2025-12-29 10:03:23 +00:00
# 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.
2026-01-14 23:31:58 +08:00
**Version: ** 0.9.1
2025-12-29 10:03:23 +00:00
[:octicons-arrow-right-24: Documentation ](smart-mind-map.md )
2025-12-29 11:47:54 +00:00
- :material-chart-bar:{ .lg .middle } **Smart Infographic **
---
Transform text into professional infographics using AntV visualization engine with various templates.
2026-01-12 00:01:28 +08:00
**Version: ** 1.4.9
2025-12-29 11:47:54 +00:00
[:octicons-arrow-right-24: Documentation ](smart-infographic.md )
2026-01-14 23:31:58 +08:00
- :material-card-text:{ .lg .middle } **Flash Card **
2025-12-29 10:03:23 +00:00
---
2026-01-14 23:31:58 +08:00
Quickly generates beautiful flashcards from text, extracting key points and categories.
2025-12-29 10:03:23 +00:00
2026-01-14 23:31:58 +08:00
**Version: ** 0.2.4
2025-12-29 10:03:23 +00:00
2026-01-14 23:31:58 +08:00
[:octicons-arrow-right-24: Documentation ](flash-card.md )
2025-12-29 10:03:23 +00:00
- :material-file-excel:{ .lg .middle } **Export to Excel **
---
Export chat conversations to Excel spreadsheet format for analysis and archiving.
2026-01-03 18:43:22 +08:00
**Version: ** 0.3.7
2025-12-29 10:03:23 +00:00
[:octicons-arrow-right-24: Documentation ](export-to-excel.md )
2026-01-04 02:24:46 +08:00
- :material-file-word-box:{ .lg .middle } **Export to Word (Enhanced Formatting) **
2025-12-30 07:25:12 +00:00
---
2026-01-04 02:40:46 +08:00
Export the current conversation to a formatted Word doc with **syntax highlighting ** , **native math equations ** , **Mermaid diagrams ** , **citations ** , and **enhanced table formatting ** .
2026-01-07 20:59:33 +08:00
**Version: ** 0.4.2
2025-12-30 07:25:12 +00:00
[:octicons-arrow-right-24: Documentation ](export-to-word.md )
2026-01-08 08:37:11 +08:00
- :material-brain:{ .lg .middle } **Deep Dive **
2025-12-29 10:03:23 +00:00
---
2026-01-08 08:37:11 +08:00
A comprehensive thinking lens that dives deep into any content - Context → Logic → Insight → Path. Supports theme auto-adaptation.
2025-12-29 10:03:23 +00:00
2026-01-08 08:37:11 +08:00
**Version: ** 1.0.0
2025-12-29 10:03:23 +00:00
2026-01-08 08:37:11 +08:00
[:octicons-arrow-right-24: Documentation ](deep-dive.md )
2025-12-29 10:03:23 +00:00
2026-01-05 17:29:52 +08:00
2025-12-29 10:03:23 +00:00
</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 ).