feat(pipes): enforce ANTI-INLINE HTML generation rule
This commit is contained in:
7
docs/plugins/tools/index.md
Normal file
7
docs/plugins/tools/index.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Tools
|
||||
|
||||
OpenWebUI native Tool plugins that can be used across models.
|
||||
|
||||
## Available Tool Plugins
|
||||
|
||||
- [OpenWebUI Skills Manager Tool](openwebui-skills-manager-tool.md) (v0.2.0) - Simple native skill management (`list/show/install/create/update/delete`).
|
||||
7
docs/plugins/tools/index.zh.md
Normal file
7
docs/plugins/tools/index.zh.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Tools(工具)
|
||||
|
||||
可跨模型使用的 OpenWebUI 原生 Tool 插件。
|
||||
|
||||
## 可用 Tool 插件
|
||||
|
||||
- [OpenWebUI Skills 管理工具](openwebui-skills-manager-tool.zh.md) (v0.2.0) - 简化技能管理(`list/show/install/create/update/delete`)。
|
||||
27
docs/plugins/tools/openwebui-skills-manager-tool.md
Normal file
27
docs/plugins/tools/openwebui-skills-manager-tool.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# OpenWebUI Skills Manager Tool
|
||||
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie/openwebui-extensions) | **Version:** 0.2.0 | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
A standalone OpenWebUI Tool plugin for managing native Workspace Skills across models.
|
||||
|
||||
## Key Features
|
||||
|
||||
- Native skill management
|
||||
- User-scoped list/show/install/create/update/delete operations
|
||||
- Status-bar feedback for each operation
|
||||
|
||||
## Methods
|
||||
|
||||
- `list_skills`
|
||||
- `show_skill`
|
||||
- `install_skill`
|
||||
- `create_skill`
|
||||
- `update_skill`
|
||||
- `delete_skill`
|
||||
|
||||
## Installation
|
||||
|
||||
1. Open OpenWebUI → Workspace → Tools
|
||||
2. Create Tool and paste:
|
||||
- `plugins/tools/openwebui-skills-manager/openwebui_skills_manager.py`
|
||||
3. Save and enable for your chat/model
|
||||
27
docs/plugins/tools/openwebui-skills-manager-tool.zh.md
Normal file
27
docs/plugins/tools/openwebui-skills-manager-tool.zh.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# OpenWebUI Skills 管理工具
|
||||
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie/openwebui-extensions) | **Version:** 0.2.0 | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
一个可跨模型使用的 OpenWebUI 原生 Tool 插件,用于管理 Workspace Skills。
|
||||
|
||||
## 核心特性
|
||||
|
||||
- 原生技能管理
|
||||
- 用户范围内的 list/show/install/create/update/delete
|
||||
- 每步操作提供状态栏反馈
|
||||
|
||||
## 方法
|
||||
|
||||
- `list_skills`
|
||||
- `show_skill`
|
||||
- `install_skill`
|
||||
- `create_skill`
|
||||
- `update_skill`
|
||||
- `delete_skill`
|
||||
|
||||
## 安装方式
|
||||
|
||||
1. 打开 OpenWebUI → Workspace → Tools
|
||||
2. 新建 Tool 并粘贴:
|
||||
- `plugins/tools/openwebui-skills-manager/openwebui_skills_manager.py`
|
||||
3. 保存并在模型/聊天中启用
|
||||
@@ -153,6 +153,7 @@ BASE_GUIDELINES = (
|
||||
"3. **Interactive Artifacts (HTML)**: **Premium Delivery Protocol**: For web applications, you MUST perform two actions:\n"
|
||||
" - 1. **Persist**: Create the file in the workspace (e.g., `index.html`) for project structure.\n"
|
||||
" - 2. **Publish & Embed**: Call `publish_file_from_workspace(filename='your_file.html')`. This will automatically trigger the **Premium Experience** by directly embedding the interactive component using the action-style return.\n"
|
||||
" - **CRITICAL ANTI-INLINE RULE**: Never output your own raw HTML code blocks directly in your chat response when creating a web app, dashboard, or visual artifact. YOU MUST ALWAYS persist the HTML to a file and call `publish_file_from_workspace` to deliver it.\n"
|
||||
" - **CRITICAL**: When using this protocol in **Rich UI mode** (`embed_type='richui'`), **DO NOT** output the raw HTML code in a code block. Provide ONLY the **[Preview]** and **[Download]** links returned by the tool. The interactive embed will appear automatically after your message finishes.\n"
|
||||
" - **Artifacts mode** (`embed_type='artifacts'`): You MUST provide the **[Preview]** and **[Download]** links, AND then you MUST output the provided `html_embed` (the iframe) wrapped within a ```html code block to enable the interactive preview.\n"
|
||||
" - **Process Visibility**: While raw code is often replaced by links/frames, you SHOULD provide a **very brief Markdown summary** of the component's structure or key features (e.g., 'Generated login form with validation') before publishing. This keeps the user informed of the 'processing' progress.\n"
|
||||
|
||||
10
plugins/tools/README.md
Normal file
10
plugins/tools/README.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# Tools
|
||||
|
||||
This directory contains OpenWebUI native Tool plugins.
|
||||
|
||||
- Tool plugins can be enabled for any model that supports OpenWebUI Tools.
|
||||
- Each tool plugin follows single-file implementation with bilingual docs.
|
||||
|
||||
## Available Tools
|
||||
|
||||
- [OpenWebUI Skills Manager Tool](./openwebui-skills-manager/README.md)
|
||||
10
plugins/tools/README_CN.md
Normal file
10
plugins/tools/README_CN.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# Tools(工具)
|
||||
|
||||
此目录包含 OpenWebUI 原生 Tool 插件。
|
||||
|
||||
- Tool 插件可用于任何启用了 OpenWebUI Tools 的模型。
|
||||
- 每个 Tool 插件采用单文件实现并提供中英文文档。
|
||||
|
||||
## 可用工具
|
||||
|
||||
- [OpenWebUI Skills 管理工具](./openwebui-skills-manager/README_CN.md)
|
||||
56
plugins/tools/openwebui-skills-manager/README.md
Normal file
56
plugins/tools/openwebui-skills-manager/README.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# 🧰 OpenWebUI Skills Manager Tool
|
||||
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** 0.2.0 | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
A standalone OpenWebUI Tool plugin to manage native **Workspace > Skills** for any model.
|
||||
|
||||
## Key Features
|
||||
|
||||
- **🌐 Model-agnostic**: Can be enabled for any model that supports OpenWebUI Tools.
|
||||
- **🛠️ Simple Skill Management**: Directly manage OpenWebUI skill records.
|
||||
- **🔐 User-scoped Safety**: Operates on current user's accessible skills.
|
||||
- **📡 Friendly Status Feedback**: Emits status bubbles for each operation.
|
||||
|
||||
## How to Use
|
||||
|
||||
1. Open OpenWebUI and go to **Workspace > Tools**.
|
||||
2. Create a new Tool and paste `openwebui_skills_manager.py`.
|
||||
3. Enable this tool for your model/chat.
|
||||
4. Ask the model to call tool operations, for example:
|
||||
- "List my skills"
|
||||
- "Show skill named docs-writer"
|
||||
- "Create a skill named meeting-notes with content ..."
|
||||
- "Update skill ..."
|
||||
- "Delete skill ..."
|
||||
|
||||
## Configuration (Valves)
|
||||
|
||||
| Parameter | Default | Description |
|
||||
|---|---:|---|
|
||||
| `SHOW_STATUS` | `True` | Show operation status updates in OpenWebUI status bar. |
|
||||
| `ALLOW_OVERWRITE_ON_CREATE` | `False` | Allow `create_skill`/`install_skill` to overwrite same-name skill by default. |
|
||||
| `INSTALL_FETCH_TIMEOUT` | `12.0` | URL fetch timeout in seconds for skill installation. |
|
||||
|
||||
## Supported Tool Methods
|
||||
|
||||
| Method | Purpose |
|
||||
|---|---|
|
||||
| `list_skills` | List current user's skills. |
|
||||
| `show_skill` | Show one skill by `skill_id` or `name`. |
|
||||
| `install_skill` | Install skill from URL into OpenWebUI native skills. |
|
||||
| `create_skill` | Create a new skill (or overwrite when allowed). |
|
||||
| `update_skill` | Update skill fields (`new_name`, `description`, `content`, `is_active`). |
|
||||
| `delete_skill` | Delete a skill by `skill_id` or `name`. |
|
||||
|
||||
## Support
|
||||
|
||||
If this plugin has been useful, a star on [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) is a big motivation for me. Thank you for the support.
|
||||
|
||||
## Others
|
||||
|
||||
- This tool manages OpenWebUI native skill records and supports direct URL installation.
|
||||
- For advanced orchestration, combine with other Pipe/Tool workflows.
|
||||
|
||||
## Changelog
|
||||
|
||||
See full history in the GitHub repository releases and commits.
|
||||
56
plugins/tools/openwebui-skills-manager/README_CN.md
Normal file
56
plugins/tools/openwebui-skills-manager/README_CN.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# 🧰 OpenWebUI Skills 管理工具
|
||||
|
||||
**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** 0.2.0 | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions)
|
||||
|
||||
一个 OpenWebUI 原生 Tool 插件,用于让任意模型直接管理 **Workspace > Skills**。
|
||||
|
||||
## 核心特性
|
||||
|
||||
- **🌐 全模型可用**:只要模型启用了 OpenWebUI Tools,即可调用。
|
||||
- **🛠️ 简化技能管理**:直接管理 OpenWebUI Skills 记录。
|
||||
- **🔐 用户范围安全**:仅操作当前用户可访问的技能。
|
||||
- **📡 友好状态反馈**:每一步操作都有状态栏提示。
|
||||
|
||||
## 使用方法
|
||||
|
||||
1. 打开 OpenWebUI,进入 **Workspace > Tools**。
|
||||
2. 新建 Tool,粘贴 `openwebui_skills_manager.py`。
|
||||
3. 为当前模型/聊天启用该工具。
|
||||
4. 在对话中让模型调用,例如:
|
||||
- “列出我的 skills”
|
||||
- “显示名为 docs-writer 的 skill”
|
||||
- “创建一个 meeting-notes 技能,内容是 ...”
|
||||
- “更新某个 skill ...”
|
||||
- “删除某个 skill ...”
|
||||
|
||||
## 配置参数(Valves)
|
||||
|
||||
| 参数 | 默认值 | 说明 |
|
||||
|---|---:|---|
|
||||
| `SHOW_STATUS` | `True` | 是否在 OpenWebUI 状态栏显示操作状态。 |
|
||||
| `ALLOW_OVERWRITE_ON_CREATE` | `False` | 是否允许 `create_skill`/`install_skill` 默认覆盖同名技能。 |
|
||||
| `INSTALL_FETCH_TIMEOUT` | `12.0` | 从 URL 安装技能时的请求超时时间(秒)。 |
|
||||
|
||||
## 支持的方法
|
||||
|
||||
| 方法 | 用途 |
|
||||
|---|---|
|
||||
| `list_skills` | 列出当前用户的技能。 |
|
||||
| `show_skill` | 通过 `skill_id` 或 `name` 查看单个技能。 |
|
||||
| `install_skill` | 通过 URL 安装技能到 OpenWebUI 原生 Skills。 |
|
||||
| `create_skill` | 创建新技能(或在允许时覆盖同名技能)。 |
|
||||
| `update_skill` | 更新技能字段(`new_name`、`description`、`content`、`is_active`)。 |
|
||||
| `delete_skill` | 通过 `skill_id` 或 `name` 删除技能。 |
|
||||
|
||||
## 支持
|
||||
|
||||
如果这个插件对你有帮助,欢迎到 [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) 点个 Star,这将是我持续改进的动力,感谢支持。
|
||||
|
||||
## 其他说明
|
||||
|
||||
- 本工具管理 OpenWebUI 原生 Skills 记录,并支持通过 URL 直接安装。
|
||||
- 如需更复杂的工作流编排,可结合其他 Pipe/Tool 方案使用。
|
||||
|
||||
## 更新记录
|
||||
|
||||
完整历史请查看 GitHub 仓库的 commits 与 releases。
|
||||
1241
plugins/tools/openwebui-skills-manager/openwebui_skills_manager.py
Normal file
1241
plugins/tools/openwebui-skills-manager/openwebui_skills_manager.py
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user