mirror of
https://github.com/open-webui/docs.git
synced 2026-01-02 17:59:41 +07:00
82 lines
2.3 KiB
Plaintext
82 lines
2.3 KiB
Plaintext
---
|
|
sidebar_position: 3
|
|
title: "🎬 Action Function"
|
|
---
|
|
|
|
Action functions allow you to write custom buttons to the message toolbar for end users to interact
|
|
with. This feature enables more interactive messaging, enabling users to grant permission before a
|
|
task is performed, generate visualizations of structured data, download an audio snippet of chats,
|
|
and many other use cases.
|
|
|
|
A scaffold of Action code can be found [in the community section](https://openwebui.com/f/hub/custom_action/).
|
|
|
|
An example of a graph visualization Action can be seen in the video below.
|
|
|
|
<p align="center">
|
|
<a href="#">
|
|
<img
|
|
src="/images/pipelines/graph-viz-action.gif"
|
|
alt="Graph Visualization Action"
|
|
/>
|
|
</a>
|
|
</p>
|
|
|
|
### Action
|
|
|
|
Actions are used to create a button in the Message UI (the small buttons found directly underneath individual chat messages).
|
|
|
|
Actions have a single main component called an action function. This component takes an object defining the type of action and the data being processed.
|
|
|
|
<details>
|
|
<summary>Example</summary>
|
|
|
|
```python
|
|
async def action(
|
|
self,
|
|
body: dict,
|
|
__user__=None,
|
|
__event_emitter__=None,
|
|
__event_call__=None,
|
|
) -> Optional[dict]:
|
|
print(f"action:{__name__}")
|
|
|
|
response = await __event_call__(
|
|
{
|
|
"type": "input",
|
|
"data": {
|
|
"title": "write a message",
|
|
"message": "here write a message to append",
|
|
"placeholder": "enter your message",
|
|
},
|
|
}
|
|
)
|
|
print(response)
|
|
```
|
|
|
|
</details>
|
|
|
|
### Example - Specifying Action Frontmatter
|
|
|
|
Each Action function can include a docstring at the top to define metadata for the button. This helps customize the display and behavior of your Action in Open WebUI.
|
|
|
|
Example of supported frontmatter fields:
|
|
|
|
- `title`: Display name of the Action.
|
|
- `author`: Name of the creator.
|
|
- `version`: Version number of the Action.
|
|
- `required_open_webui_version`: Minimum compatible version of Open WebUI.
|
|
- `icon_url (optional)`: URL or Base64 string for a custom icon.
|
|
|
|
**Base64-Encoded Example:**
|
|
|
|
```python
|
|
"""
|
|
title: Summarize Text
|
|
author: @you
|
|
version: 1.0.0
|
|
required_open_webui_version: 0.5.0
|
|
icon_url: data:image/svg+xml;base64,<IMAGE STRING>...
|
|
"""
|
|
|
|
```
|