feat(pipes): enforce ANTI-INLINE HTML generation rule

This commit is contained in:
fujie
2026-02-28 12:16:19 +08:00
parent 6b6e62398a
commit d0eb72467d
10 changed files with 1442 additions and 0 deletions

View 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`).

View 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`)。

View 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

View 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. 保存并在模型/聊天中启用

View File

@@ -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
View 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)

View File

@@ -0,0 +1,10 @@
# Tools工具
此目录包含 OpenWebUI 原生 Tool 插件。
- Tool 插件可用于任何启用了 OpenWebUI Tools 的模型。
- 每个 Tool 插件采用单文件实现并提供中英文文档。
## 可用工具
- [OpenWebUI Skills 管理工具](./openwebui-skills-manager/README_CN.md)

View 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.

View 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。

File diff suppressed because it is too large Load Diff