mirror of
https://github.com/open-webui/docs.git
synced 2026-11-05 01:38:13 +00:00
[PR #1405] [MERGED] docs: correct the filter function page against filter.py, middleware.py and the admin UI #1370
Labels
No labels
bug
documentation
documentation
duplicate
enhancement
enhancement
good first issue
good first issue
good first issue
help wanted
help wanted
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
open-webui/docs#1370
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
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/docs/pull/1405
Author: @silentoplayz
Created: 9/18/2026
Status: ✅ Merged
Merged: 9/18/2026
Merged by: @Classic298
Base:
main← Head:docs/filter-page📝 Commits (1)
c1644c6docs: correct the filter function page against filter.py, middleware.py and the admin UI📊 Changes
1 file changed (+38 additions, -39 deletions)
View changed files
📝
docs/features/extensibility/plugin/functions/filter.mdx(+38 -39)📄 Description
Summary
I compared the Filter Function page with
utils/filter.py,utils/middleware.py,utils/chat.py,utils/plugin.pyand the admin function menu ondev.file_handleris read from theFilterinstance, not the module. The page said the opposite and told authors a module-level assignment is required, which is the form that is ignored. The example, the warning and the caveat are corrected.inletand the firstrequestabort the turn, a laterrequesthop ends the tool loop,streamdrops one event in the WebUI but ends a direct API stream, andoutletis ignored except through/api/chat/completed.outlet()on API calls is stale. Inline outlet for API callers shipped in v0.10.0. The table and the note now describe one behavior./api/chat/completedexample omittedidand markedchat_idandsession_idoptional. The endpoint rejects a body withoutidand reads both keys.__metadata__correlation betweeninlet()andoutlet()does not hold through/api/chat/completed, which builds a fresh metadata dict.variables,regeneration_promptandparamsare popped beforeinlet, not after. The workspace model's System Prompt is added afterrequest()returns.__features__is only injected on the firstrequest()of a turn.outlet()never receives__chat_id__,__message_id__or__oauth_token__.__event_emitter__isNoneinstream()andoutlet()for API callers, not merely inert.__event_call__,__message_id__,__oauth_token__,__id__and__body__, and__user__is the full user record.Related issue or discussion
None.
Checklist
Notes for reviewers
Every statement traces to a line on
dev, chieflyprocess_filter_functionsandget_filter_paramsinutils/filter.py, the inlet, outlet, stream and tool-loop call sites inutils/middleware.py,chat_completedinutils/chat.py, the system prompt application inrouters/openai.py, andFunctionMenu.svelte. The v0.10.0 date comes from the CHANGELOG entry for the outlet hook on API requests.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.