mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-06 02:48:13 -05:00
[PR #23349] [CLOSED] feat: add upload_file_to_terminal builtin tool #27158
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/open-webui/open-webui/pull/23349
Author: @Classic298
Created: 4/2/2026
Status: ❌ Closed
Base:
dev← Head:upload-file-tool📝 Commits (10+)
8921a01feat: add upload_file_to_terminal builtin tool with file_id and acces… (#170)13c53b8. (#171)73db792Auth bypass fix2e20018Add direct server connection supportfebc4d5fix297369bfix: await has_connection_access to prevent authorization bypass4cbbe73fix: restrict uploads to admin-configured terminals, resolve before fetching file, accept 2xxb2b0702fix: guard JSON parsing on upload response for non-JSON success bodiesf165f7dfix: offload blocking storage and file reads to worker thread8416b9cfix: repair system_oauth path and stream file uploads to terminal📊 Changes
3 files changed (+194 additions, -0 deletions)
View changed files
📝
backend/open_webui/tools/builtin.py(+186 -0)📝
backend/open_webui/utils/middleware.py(+1 -0)📝
backend/open_webui/utils/tools.py(+7 -0)📄 Description
Addresses: https://github.com/open-webui/open-webui/issues/22528
Description
Adds a new builtin tool, upload_file_to_terminal, that allows an AI model to upload files to a connected Open Terminal server's working directory.
It can upload user uploaded files and files from knowledge bases the user has access to!
Changes
backend/open_webui/tools/builtin.py
backend/open_webui/utils/tools.py
backend/open_webui/utils/middleware.py
How It Works
When a user attaches a file to a chat and asks the model to upload it to the terminal:
Testing
Tested locally with Open Terminal. Verified:
Contributor License Agreement
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.