Compare commits

...

4 Commits

Author SHA1 Message Date
Tim Baek
14c301712a Merge pull request #828 from ndrsfel/fix-banner-object-properties
fix: banner object properties
2025-11-19 00:30:47 -05:00
Tim Baek
a749be6d9f Merge pull request #835 from silentoplayz/docs-tool-version-warning
docs: Add warning about tool package version conflicts
2025-11-19 00:30:26 -05:00
silentoplayz
7b723ceede docs: Add warning about tool package version conflicts
Adds a prominent warning to the tool development documentation regarding the potential for package version conflicts when multiple tools are installed with conflicting dependencies.

The warning recommends using OpenAPI tool servers as the robust solution to this problem, as it isolates tool dependencies.
2025-11-18 22:10:55 -05:00
Andreas Feldl
806ef331ff fix: banner object properties 2025-11-18 16:14:48 +00:00
2 changed files with 14 additions and 2 deletions

View File

@@ -62,10 +62,10 @@ Each banner object in the JSON list has the following properties:
- `id` (string, required): A unique identifier for the banner. This is used to track which banners a user has dismissed.
- `type` (string, required): The style of the banner. Must be one of `info`, `success`, `warning`, or `error`.
- `title` (string, required): The title text displayed on the banner.
- `title` (string, optional): The title text displayed on the banner.
- `content` (string, required): The main message of the banner.
- `dismissible` (boolean, required): Determines if the user can close the banner. `true` means it can be dismissed; `false` means it cannot.
- `timestamp` (integer, optional): **Note:** While this field is present in the configuration, it is not currently used by the frontend. The timestamp does not affect whether a banner is displayed or not.
- `timestamp` (integer, required): **Note:** While this field is present in the configuration, it is not currently used by the frontend. The timestamp does not affect whether a banner is displayed or not.
## Troubleshooting

View File

@@ -1627,6 +1627,18 @@ More info about the header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Re
In the Tools definition metadata you can specify custom packages. When you click `Save` the line will be parsed and `pip install` will be run on all requirements at once.
:::warning
**🚨 CRITICAL WARNING: Potential for Package Version Conflicts**
When multiple tools define different versions of the same package (e.g., Tool A requires `pandas==1.5.0` and Tool B requires `pandas==2.0.0`), Open WebUI installs them in a non-deterministic order. This can lead to unpredictable behavior and break one or more of your tools.
**The only robust solution to this problem is to use an OpenAPI tool server.**
We strongly recommend using an [OpenAPI tool server](/features/plugin/tools/openapi-servers/) to avoid these dependency conflicts.
:::
Keep in mind that as pip is used in the same process as Open WebUI, the UI will be completely unresponsive during the installation.
No measures are taken to handle package conflicts with Open WebUI's requirements. That means that specifying requirements can break Open WebUI if you're not careful. You might be able to work around this by specifying `open-webui` itself as a requirement.