| open_webui/__init__.py |
|
35% |
54 |
35 |
0 |
|
8% |
12 |
1 |
|
30% |
| open_webui/config.py |
|
80% |
1172 |
230 |
0 |
|
39% |
172 |
61 |
|
75% |
| open_webui/constants.py |
|
99% |
93 |
1 |
0 |
|
100% |
6 |
0 |
|
99% |
| open_webui/env.py |
|
69% |
620 |
192 |
0 |
|
42% |
128 |
46 |
|
64% |
| open_webui/events.py |
|
77% |
529 |
122 |
0 |
|
42% |
132 |
26 |
|
70% |
| open_webui/functions.py |
|
17% |
209 |
173 |
0 |
|
3% |
86 |
7 |
|
13% |
| open_webui/internal/db.py |
|
62% |
252 |
97 |
0 |
|
30% |
98 |
23 |
|
53% |
| open_webui/main.py |
|
46% |
1155 |
625 |
0 |
|
19% |
384 |
69 |
|
39% |
| open_webui/models/access_grants.py |
|
45% |
278 |
153 |
0 |
|
22% |
116 |
7 |
|
38% |
| open_webui/models/auths.py |
|
71% |
123 |
36 |
0 |
|
39% |
18 |
1 |
|
67% |
| open_webui/models/automations.py |
|
58% |
223 |
94 |
0 |
|
30% |
30 |
5 |
|
55% |
| open_webui/models/calendar.py |
|
55% |
432 |
195 |
0 |
|
1% |
84 |
1 |
|
46% |
| open_webui/models/channels.py |
|
40% |
471 |
283 |
0 |
|
4% |
52 |
0 |
|
36% |
| open_webui/models/chat_messages.py |
|
70% |
489 |
148 |
0 |
|
50% |
186 |
23 |
|
64% |
| open_webui/models/chats.py |
|
59% |
1409 |
574 |
0 |
|
42% |
396 |
67 |
|
56% |
| open_webui/models/config.py |
|
51% |
240 |
117 |
0 |
|
22% |
98 |
12 |
|
43% |
| open_webui/models/feedbacks.py |
|
62% |
338 |
130 |
0 |
|
24% |
86 |
7 |
|
54% |
| open_webui/models/files.py |
|
62% |
270 |
102 |
0 |
|
29% |
34 |
8 |
|
59% |
| open_webui/models/folders.py |
|
51% |
292 |
143 |
0 |
|
6% |
62 |
4 |
|
43% |
| open_webui/models/functions.py |
|
55% |
264 |
119 |
0 |
|
16% |
32 |
5 |
|
51% |
| open_webui/models/groups.py |
|
47% |
319 |
168 |
0 |
|
9% |
56 |
3 |
|
42% |
| open_webui/models/knowledge.py |
|
43% |
527 |
300 |
0 |
|
19% |
110 |
7 |
|
39% |
| open_webui/models/memories.py |
|
52% |
166 |
80 |
0 |
|
16% |
38 |
4 |
|
45% |
| open_webui/models/messages.py |
|
37% |
276 |
173 |
0 |
|
0% |
46 |
0 |
|
32% |
| open_webui/models/models.py |
|
71% |
392 |
113 |
0 |
|
46% |
106 |
17 |
|
66% |
| open_webui/models/notes.py |
|
75% |
249 |
63 |
0 |
|
39% |
62 |
6 |
|
68% |
| open_webui/models/oauth_sessions.py |
|
37% |
183 |
116 |
0 |
|
12% |
16 |
2 |
|
35% |
| open_webui/models/prompt_history.py |
|
61% |
95 |
37 |
0 |
|
0% |
10 |
0 |
|
55% |
| open_webui/models/prompts.py |
|
58% |
381 |
159 |
0 |
|
30% |
104 |
11 |
|
52% |
| open_webui/models/shared_chats.py |
|
67% |
126 |
42 |
0 |
|
38% |
26 |
2 |
|
62% |
| open_webui/models/skills.py |
|
76% |
204 |
48 |
0 |
|
42% |
38 |
8 |
|
71% |
| open_webui/models/tags.py |
|
67% |
89 |
29 |
0 |
|
67% |
6 |
0 |
|
67% |
| open_webui/models/tools.py |
|
47% |
186 |
99 |
0 |
|
5% |
22 |
1 |
|
42% |
| open_webui/models/users.py |
|
65% |
561 |
196 |
0 |
|
17% |
106 |
14 |
|
57% |
| open_webui/retrieval/external.py |
|
12% |
182 |
160 |
0 |
|
0% |
50 |
0 |
|
9% |
| open_webui/retrieval/loaders/datalab_marker.py |
|
12% |
118 |
104 |
0 |
|
0% |
30 |
0 |
|
9% |
| open_webui/retrieval/loaders/external_document.py |
|
22% |
55 |
43 |
0 |
|
0% |
18 |
0 |
|
16% |
| open_webui/retrieval/loaders/external_web.py |
|
35% |
26 |
17 |
0 |
|
0% |
6 |
0 |
|
28% |
| open_webui/retrieval/loaders/local.py |
|
32% |
69 |
47 |
0 |
|
0% |
10 |
0 |
|
28% |
| open_webui/retrieval/loaders/main.py |
|
26% |
366 |
270 |
0 |
|
18% |
144 |
26 |
|
24% |
| open_webui/retrieval/loaders/microsoft_web_iq.py |
|
23% |
65 |
50 |
0 |
|
0% |
14 |
0 |
|
19% |
| open_webui/retrieval/loaders/mineru.py |
|
7% |
255 |
236 |
0 |
|
0% |
60 |
0 |
|
6% |
| open_webui/retrieval/loaders/mistral.py |
|
13% |
193 |
168 |
0 |
|
0% |
42 |
0 |
|
11% |
| open_webui/retrieval/loaders/paddleocr_vl.py |
|
25% |
61 |
46 |
0 |
|
0% |
14 |
0 |
|
20% |
| open_webui/retrieval/loaders/pdf.py |
|
16% |
82 |
69 |
0 |
|
0% |
32 |
0 |
|
11% |
| open_webui/retrieval/loaders/tavily.py |
|
23% |
43 |
33 |
0 |
|
0% |
12 |
0 |
|
18% |
| open_webui/retrieval/loaders/youtube.py |
|
15% |
103 |
88 |
0 |
|
0% |
32 |
0 |
|
11% |
| open_webui/retrieval/utils.py |
|
21% |
810 |
640 |
0 |
|
5% |
368 |
9 |
|
16% |
| open_webui/retrieval/vector/async_client.py |
|
83% |
35 |
6 |
0 |
|
100% |
0 |
0 |
|
83% |
| open_webui/retrieval/vector/dbs/chroma.py |
|
60% |
87 |
35 |
0 |
|
18% |
22 |
4 |
|
51% |
| open_webui/retrieval/vector/factory.py |
|
37% |
76 |
48 |
0 |
|
32% |
38 |
12 |
|
35% |
| open_webui/retrieval/vector/main.py |
|
77% |
44 |
10 |
0 |
|
100% |
0 |
0 |
|
77% |
| open_webui/retrieval/vector/type.py |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/retrieval/vector/utils.py |
|
30% |
86 |
60 |
0 |
|
21% |
48 |
6 |
|
27% |
| open_webui/retrieval/web/azure.py |
|
19% |
32 |
26 |
0 |
|
0% |
8 |
0 |
|
15% |
| open_webui/retrieval/web/bing.py |
|
33% |
33 |
22 |
0 |
|
0% |
2 |
0 |
|
31% |
| open_webui/retrieval/web/bocha.py |
|
32% |
25 |
17 |
0 |
|
0% |
8 |
0 |
|
24% |
| open_webui/retrieval/web/brave.py |
|
32% |
25 |
17 |
0 |
|
0% |
4 |
0 |
|
28% |
| open_webui/retrieval/web/brave_llm_context.py |
|
33% |
21 |
14 |
0 |
|
0% |
4 |
0 |
|
28% |
| open_webui/retrieval/web/duckduckgo.py |
|
37% |
19 |
12 |
0 |
|
0% |
6 |
0 |
|
28% |
| open_webui/retrieval/web/exa.py |
|
32% |
19 |
13 |
0 |
|
100% |
0 |
0 |
|
32% |
| open_webui/retrieval/web/external.py |
|
35% |
26 |
17 |
0 |
|
0% |
4 |
0 |
|
30% |
| open_webui/retrieval/web/firecrawl.py |
|
19% |
109 |
88 |
0 |
|
3% |
34 |
1 |
|
15% |
| open_webui/retrieval/web/google_pse.py |
|
21% |
29 |
23 |
0 |
|
0% |
8 |
0 |
|
16% |
| open_webui/retrieval/web/jina_search.py |
|
39% |
18 |
11 |
0 |
|
0% |
2 |
0 |
|
35% |
| open_webui/retrieval/web/kagi.py |
|
33% |
18 |
12 |
0 |
|
0% |
2 |
0 |
|
30% |
| open_webui/retrieval/web/linkup.py |
|
26% |
27 |
20 |
0 |
|
0% |
4 |
0 |
|
23% |
| open_webui/retrieval/web/main.py |
|
31% |
35 |
24 |
0 |
|
0% |
12 |
0 |
|
23% |
| open_webui/retrieval/web/microsoft_web_iq.py |
|
36% |
22 |
14 |
0 |
|
0% |
4 |
0 |
|
31% |
| open_webui/retrieval/web/mojeek.py |
|
35% |
17 |
11 |
0 |
|
0% |
2 |
0 |
|
32% |
| open_webui/retrieval/web/ollama.py |
|
32% |
22 |
15 |
0 |
|
0% |
2 |
0 |
|
29% |
| open_webui/retrieval/web/openserp.py |
|
35% |
17 |
11 |
0 |
|
0% |
2 |
0 |
|
32% |
| open_webui/retrieval/web/perplexity.py |
|
29% |
31 |
22 |
0 |
|
0% |
8 |
0 |
|
23% |
| open_webui/retrieval/web/perplexity_search.py |
|
35% |
23 |
15 |
0 |
|
0% |
2 |
0 |
|
32% |
| open_webui/retrieval/web/searchapi.py |
|
33% |
21 |
14 |
0 |
|
0% |
4 |
0 |
|
28% |
| open_webui/retrieval/web/searxng.py |
|
41% |
29 |
17 |
0 |
|
0% |
6 |
0 |
|
34% |
| open_webui/retrieval/web/serpapi.py |
|
39% |
18 |
11 |
0 |
|
0% |
2 |
0 |
|
35% |
| open_webui/retrieval/web/serper.py |
|
41% |
17 |
10 |
0 |
|
0% |
2 |
0 |
|
37% |
| open_webui/retrieval/web/serphouse.py |
|
31% |
13 |
9 |
0 |
|
0% |
2 |
0 |
|
27% |
| open_webui/retrieval/web/serply.py |
|
35% |
20 |
13 |
0 |
|
0% |
2 |
0 |
|
32% |
| open_webui/retrieval/web/serpstack.py |
|
35% |
17 |
11 |
0 |
|
0% |
2 |
0 |
|
32% |
| open_webui/retrieval/web/sougou.py |
|
22% |
27 |
21 |
0 |
|
0% |
2 |
0 |
|
21% |
| open_webui/retrieval/web/staan.py |
|
25% |
20 |
15 |
0 |
|
0% |
4 |
0 |
|
21% |
| open_webui/retrieval/web/tavily.py |
|
41% |
17 |
10 |
0 |
|
0% |
2 |
0 |
|
37% |
| open_webui/retrieval/web/utils.py |
|
15% |
668 |
565 |
0 |
|
1% |
250 |
2 |
|
11% |
| open_webui/retrieval/web/yacy.py |
|
32% |
22 |
15 |
0 |
|
0% |
6 |
0 |
|
25% |
| open_webui/retrieval/web/yandex.py |
|
27% |
64 |
47 |
0 |
|
5% |
22 |
1 |
|
21% |
| open_webui/retrieval/web/ydc.py |
|
28% |
25 |
18 |
0 |
|
0% |
6 |
0 |
|
23% |
| open_webui/routers/analytics.py |
|
93% |
164 |
12 |
0 |
|
71% |
34 |
4 |
|
89% |
| open_webui/routers/audio.py |
|
22% |
806 |
630 |
0 |
|
9% |
226 |
15 |
|
19% |
| open_webui/routers/auths.py |
|
45% |
766 |
422 |
0 |
|
18% |
278 |
31 |
|
38% |
| open_webui/routers/automations.py |
|
59% |
152 |
63 |
0 |
|
22% |
40 |
5 |
|
51% |
| open_webui/routers/calendar.py |
|
61% |
200 |
78 |
0 |
|
36% |
64 |
15 |
|
55% |
| open_webui/routers/channels.py |
|
21% |
799 |
631 |
0 |
|
1% |
350 |
4 |
|
15% |
| open_webui/routers/chats.py |
|
85% |
881 |
136 |
0 |
|
66% |
344 |
76 |
|
79% |
| open_webui/routers/configs.py |
|
77% |
426 |
100 |
0 |
|
45% |
84 |
8 |
|
71% |
| open_webui/routers/evaluations.py |
|
80% |
216 |
43 |
0 |
|
71% |
58 |
11 |
|
78% |
| open_webui/routers/files.py |
|
61% |
431 |
167 |
0 |
|
44% |
154 |
32 |
|
57% |
| open_webui/routers/folders.py |
|
66% |
313 |
106 |
0 |
|
44% |
118 |
20 |
|
60% |
| open_webui/routers/functions.py |
|
56% |
262 |
114 |
0 |
|
34% |
68 |
19 |
|
52% |
| open_webui/routers/groups.py |
|
80% |
138 |
27 |
0 |
|
79% |
24 |
3 |
|
80% |
| open_webui/routers/images.py |
|
43% |
559 |
319 |
0 |
|
22% |
210 |
31 |
|
37% |
| open_webui/routers/knowledge.py |
|
42% |
918 |
534 |
0 |
|
15% |
340 |
36 |
|
35% |
| open_webui/routers/memories.py |
|
80% |
241 |
47 |
0 |
|
58% |
60 |
11 |
|
76% |
| open_webui/routers/models.py |
|
54% |
457 |
208 |
0 |
|
36% |
218 |
36 |
|
48% |
| open_webui/routers/notes.py |
|
81% |
264 |
49 |
0 |
|
69% |
108 |
30 |
|
78% |
| open_webui/routers/notifications.py |
|
63% |
65 |
24 |
0 |
|
17% |
6 |
1 |
|
59% |
| open_webui/routers/ollama.py |
|
60% |
864 |
342 |
0 |
|
40% |
250 |
39 |
|
56% |
| open_webui/routers/openai.py |
|
35% |
1029 |
673 |
0 |
|
14% |
410 |
33 |
|
29% |
| open_webui/routers/pipelines.py |
|
39% |
293 |
178 |
0 |
|
15% |
54 |
6 |
|
35% |
| open_webui/routers/prompts.py |
|
85% |
208 |
31 |
0 |
|
68% |
94 |
22 |
|
80% |
| open_webui/routers/retrieval.py |
|
62% |
1268 |
478 |
0 |
|
26% |
386 |
45 |
|
54% |
| open_webui/routers/scim.py |
|
33% |
490 |
329 |
0 |
|
0% |
190 |
0 |
|
24% |
| open_webui/routers/skills.py |
|
88% |
143 |
17 |
0 |
|
77% |
52 |
12 |
|
85% |
| open_webui/routers/tasks.py |
|
38% |
284 |
176 |
0 |
|
28% |
72 |
12 |
|
36% |
| open_webui/routers/terminals.py |
|
16% |
263 |
221 |
0 |
|
1% |
98 |
1 |
|
12% |
| open_webui/routers/tools.py |
|
48% |
318 |
165 |
0 |
|
31% |
100 |
25 |
|
44% |
| open_webui/routers/users.py |
|
81% |
498 |
95 |
0 |
|
43% |
118 |
21 |
|
74% |
| open_webui/routers/utils.py |
|
89% |
44 |
5 |
0 |
|
62% |
8 |
3 |
|
85% |
| open_webui/socket/main.py |
|
26% |
656 |
484 |
0 |
|
12% |
242 |
23 |
|
22% |
| open_webui/socket/utils.py |
|
24% |
255 |
193 |
0 |
|
0% |
90 |
0 |
|
18% |
| open_webui/storage/provider.py |
|
39% |
216 |
132 |
0 |
|
24% |
42 |
6 |
|
36% |
| open_webui/tasks.py |
|
27% |
184 |
135 |
0 |
|
8% |
72 |
6 |
|
21% |
| open_webui/tools/__init__.py |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| open_webui/tools/builtin.py |
|
6% |
1844 |
1735 |
0 |
|
0% |
828 |
0 |
|
4% |
| open_webui/tools/knowledge_fs.py |
|
8% |
681 |
624 |
0 |
|
0% |
350 |
0 |
|
6% |
| open_webui/utils/access_control/__init__.py |
|
29% |
140 |
99 |
0 |
|
16% |
90 |
8 |
|
24% |
| open_webui/utils/access_control/files.py |
|
21% |
80 |
63 |
0 |
|
0% |
50 |
0 |
|
13% |
| open_webui/utils/access_control/folders.py |
|
44% |
18 |
10 |
0 |
|
12% |
8 |
1 |
|
35% |
| open_webui/utils/actions.py |
|
30% |
73 |
51 |
0 |
|
12% |
34 |
2 |
|
24% |
| open_webui/utils/anthropic.py |
|
8% |
485 |
444 |
0 |
|
5% |
300 |
12 |
|
7% |
| open_webui/utils/asgi_middleware.py |
|
58% |
129 |
54 |
0 |
|
39% |
46 |
14 |
|
53% |
| open_webui/utils/ask_user.py |
|
8% |
72 |
66 |
0 |
|
0% |
40 |
0 |
|
5% |
| open_webui/utils/audit.py |
|
35% |
144 |
94 |
0 |
|
2% |
44 |
1 |
|
27% |
| open_webui/utils/auth.py |
|
36% |
375 |
240 |
0 |
|
19% |
154 |
19 |
|
31% |
| open_webui/utils/automations.py |
|
41% |
216 |
128 |
0 |
|
17% |
52 |
9 |
|
36% |
| open_webui/utils/calendar.py |
|
18% |
45 |
37 |
0 |
|
0% |
12 |
0 |
|
14% |
| open_webui/utils/channels.py |
|
23% |
13 |
10 |
0 |
|
100% |
0 |
0 |
|
23% |
| open_webui/utils/chat.py |
|
21% |
169 |
133 |
0 |
|
4% |
68 |
3 |
|
16% |
| open_webui/utils/chat_fork.py |
|
93% |
30 |
2 |
0 |
|
83% |
12 |
2 |
|
90% |
| open_webui/utils/chat_id.py |
|
87% |
15 |
2 |
0 |
|
75% |
4 |
1 |
|
84% |
| open_webui/utils/chat_variables.py |
|
19% |
195 |
158 |
0 |
|
10% |
92 |
5 |
|
16% |
| open_webui/utils/code_interpreter.py |
|
22% |
115 |
90 |
0 |
|
0% |
32 |
0 |
|
17% |
| open_webui/utils/context_compaction.py |
|
23% |
236 |
181 |
0 |
|
8% |
100 |
4 |
|
19% |
| open_webui/utils/embeddings.py |
|
62% |
37 |
14 |
0 |
|
25% |
16 |
4 |
|
51% |
| open_webui/utils/files.py |
|
22% |
133 |
104 |
0 |
|
0% |
42 |
0 |
|
17% |
| open_webui/utils/filter.py |
|
16% |
146 |
122 |
0 |
|
0% |
50 |
0 |
|
12% |
| open_webui/utils/groups.py |
|
56% |
9 |
4 |
0 |
|
50% |
2 |
1 |
|
55% |
| open_webui/utils/headers.py |
|
63% |
73 |
27 |
0 |
|
50% |
22 |
5 |
|
60% |
| open_webui/utils/images/comfyui.py |
|
26% |
178 |
132 |
0 |
|
0% |
68 |
0 |
|
19% |
| open_webui/utils/json_codec.py |
|
21% |
39 |
31 |
0 |
|
12% |
8 |
1 |
|
19% |
| open_webui/utils/json_response.py |
|
36% |
25 |
16 |
0 |
|
25% |
4 |
1 |
|
34% |
| open_webui/utils/logger.py |
|
52% |
87 |
42 |
0 |
|
46% |
26 |
6 |
|
50% |
| open_webui/utils/mcp/client.py |
|
21% |
117 |
92 |
0 |
|
0% |
32 |
0 |
|
17% |
| open_webui/utils/memory.py |
|
45% |
341 |
189 |
0 |
|
35% |
170 |
12 |
|
41% |
| open_webui/utils/middleware.py |
|
4% |
2896 |
2774 |
0 |
|
0% |
1506 |
0 |
|
3% |
| open_webui/utils/misc.py |
|
27% |
695 |
509 |
0 |
|
13% |
378 |
19 |
|
22% |
| open_webui/utils/model_ids.py |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| open_webui/utils/models.py |
|
20% |
308 |
245 |
0 |
|
6% |
152 |
7 |
|
16% |
| open_webui/utils/notifications.py |
|
19% |
242 |
195 |
0 |
|
1% |
102 |
3 |
|
14% |
| open_webui/utils/oauth.py |
|
19% |
1208 |
981 |
0 |
|
5% |
492 |
15 |
|
15% |
| open_webui/utils/payload.py |
|
8% |
223 |
205 |
0 |
|
0% |
130 |
0 |
|
5% |
| open_webui/utils/plugin.py |
|
41% |
270 |
158 |
0 |
|
18% |
116 |
17 |
|
34% |
| open_webui/utils/rate_limit.py |
|
53% |
68 |
32 |
0 |
|
33% |
12 |
2 |
|
50% |
| open_webui/utils/recurrence.py |
|
31% |
108 |
75 |
0 |
|
5% |
38 |
2 |
|
24% |
| open_webui/utils/redis.py |
|
24% |
164 |
125 |
0 |
|
3% |
58 |
2 |
|
18% |
| open_webui/utils/response.py |
|
14% |
121 |
104 |
0 |
|
0% |
50 |
0 |
|
10% |
| open_webui/utils/sanitize.py |
|
38% |
13 |
8 |
0 |
|
100% |
0 |
0 |
|
38% |
| open_webui/utils/security_headers.py |
|
30% |
81 |
57 |
0 |
|
11% |
28 |
1 |
|
25% |
| open_webui/utils/session_pool.py |
|
65% |
49 |
17 |
0 |
|
29% |
24 |
5 |
|
53% |
| open_webui/utils/skills.py |
|
25% |
61 |
46 |
0 |
|
0% |
32 |
0 |
|
16% |
| open_webui/utils/task.py |
|
10% |
253 |
227 |
0 |
|
0% |
88 |
0 |
|
8% |
| open_webui/utils/terminals.py |
|
20% |
186 |
148 |
0 |
|
6% |
78 |
1 |
|
16% |
| open_webui/utils/timers.py |
|
25% |
208 |
155 |
0 |
|
3% |
66 |
4 |
|
20% |
| open_webui/utils/tool_approval.py |
|
33% |
79 |
53 |
0 |
|
17% |
36 |
2 |
|
28% |
| open_webui/utils/tools.py |
|
16% |
877 |
733 |
0 |
|
6% |
464 |
10 |
|
13% |
| open_webui/utils/validate.py |
|
53% |
47 |
22 |
0 |
|
41% |
22 |
3 |
|
49% |
| open_webui/utils/valves.py |
|
39% |
31 |
19 |
0 |
|
0% |
10 |
0 |
|
29% |
| open_webui/utils/webhook.py |
|
17% |
52 |
43 |
0 |
|
0% |
16 |
0 |
|
13% |