Skip to content
Merged

Dev #248

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
192 commits
Select commit Hold shift + click to select a range
c86fcb7
chore
tjbck Dec 3, 2025
85b1e21
Update translation.json (pt-BR) (#19700)
joaoback Dec 3, 2025
964333e
i18n: improve Chinese translation (#19703)
ShirasawaSama Dec 3, 2025
b560775
fix: do not display the move button when no folders (#19705)
ShirasawaSama Dec 3, 2025
133618a
fix: UI scale buttons (- and +) (#19699)
silentoplayz Dec 3, 2025
54b7ec5
enh/refac: channels message lazy load data
tjbck Dec 3, 2025
39f778c
refac
tjbck Dec 3, 2025
22f1b76
refac/perf: channel image upload behaviour
tjbck Dec 4, 2025
7b126b2
enh: channels video file upload behaviour
tjbck Dec 4, 2025
6fe737b
refac
tjbck Dec 4, 2025
f1232c2
refactor(settings): add validation for Redis and SMTP configuration
OrenZhang Dec 4, 2025
00693a7
Merge pull request #237 from OVINC-CN/refactor_settings
OrenZhang Dec 4, 2025
5c2df97
fix: user channels issue
tjbck Dec 4, 2025
d27e019
chore: update qdrant dependency to fix Startup Warning (#19757)
Classic298 Dec 4, 2025
1779090
fix: add missing env var parameter pass through for enable async embe…
Classic298 Dec 4, 2025
01284b9
Update catalan translation.json (#19741)
aleixdorca Dec 4, 2025
2f68ac3
chore: remove very outdated kubernetes configs (#19731)
westbrook-ai Dec 4, 2025
d90d036
UPD: i18n es-ES Translation v.0.6.41 (#19745)
rgaricano Dec 4, 2025
2a8a2f1
refac
tjbck Dec 5, 2025
508fde7
fix: temp chat perm
tjbck Dec 6, 2025
cdd75ad
BREAKING/CAUTION: chore: chromadb dep bump - needs testing (#19780)
Classic298 Dec 6, 2025
dcdbafa
chore: bump pymilvus (#19773)
Classic298 Dec 6, 2025
7e6b8a9
refac/fix: docling auth
tjbck Dec 6, 2025
0617ede
Upgrade Playwright image and command to v1.56.0 (#19774)
Classic298 Dec 6, 2025
492c8ba
feat: new OAUTH_AUDIENCE config (#19768)
bitsofinfo Dec 6, 2025
aa9c038
refac
tjbck Dec 7, 2025
4d4ed74
fix: styling
tjbck Dec 7, 2025
3c8f1cf
fix: source citations user message display issue
tjbck Dec 8, 2025
ce945a9
refac
tjbck Dec 8, 2025
8cea0cf
FIX: Pipeline save settings - Handle undefined valves property (#19791)
rgaricano Dec 8, 2025
bcd50ed
refac
tjbck Dec 8, 2025
b02397e
feat: WEB_LOADER_TIMEOUT
tjbck Dec 8, 2025
ba158d3
feat: REDIS_SOCKET_CONNECT_TIMEOUT
tjbck Dec 8, 2025
f5fbbaf
refac: redis config log
tjbck Dec 8, 2025
2b1a29d
enh: display user groups in user preview
tjbck Dec 8, 2025
44e4180
chore: dep bump across many dependencies (#19850)
Classic298 Dec 9, 2025
c24b120
fix: fixed missing text in the explanation feature (#19829)
ShirasawaSama Dec 9, 2025
1ea555a
i18n: improve Chinese translation (#19830)
ShirasawaSama Dec 9, 2025
9b24cdd
enh/refac: notes
tjbck Dec 9, 2025
307b37d
refac
tjbck Dec 9, 2025
4363df1
enh: read only notes
tjbck Dec 9, 2025
103ff0c
refac
tjbck Dec 9, 2025
a4fe823
refac: styling
tjbck Dec 10, 2025
65d4b22
refac
tjbck Dec 10, 2025
00c2b6c
feat/enh: create note from input
tjbck Dec 10, 2025
02df867
refac
tjbck Dec 10, 2025
b29e7fd
refac/fix: styling
tjbck Dec 10, 2025
6e0badd
refac: styling
tjbck Dec 10, 2025
3af96c9
refac: styling
tjbck Dec 10, 2025
205c711
enh: expand input
tjbck Dec 10, 2025
6a75620
refac: styling
tjbck Dec 10, 2025
0eafc09
refac: styling
tjbck Dec 10, 2025
49d54c5
refac
tjbck Dec 10, 2025
7b0b16e
refac
tjbck Dec 10, 2025
94a8439
feat/enh: kb file pagination
tjbck Dec 10, 2025
4ecacda
refac
tjbck Dec 10, 2025
ed2db0d
refac
tjbck Dec 10, 2025
a934dc9
refac: drop legacy kb support
tjbck Dec 10, 2025
cf6a130
enh: experimental chat usage stats endpoint
tjbck Dec 10, 2025
ae47101
refac
tjbck Dec 10, 2025
a7993f6
refac
tjbck Dec 10, 2025
f31ca75
Fix typo in user permission environment variables (#19860)
ndrsfel Dec 10, 2025
c152016
refac: kb files
tjbck Dec 10, 2025
2bccf83
enh: channel files
tjbck Dec 10, 2025
d1d4212
refac/fix: channel files
tjbck Dec 10, 2025
79cfe29
refac: channel_file and knowledge table migration
tjbck Dec 10, 2025
a6ef82c
refac: styling
tjbck Dec 10, 2025
693636d
enh/refac: show read only kbs
tjbck Dec 10, 2025
d098c57
refac
tjbck Dec 10, 2025
d7467a8
refac
tjbck Dec 10, 2025
6068e23
refac
tjbck Dec 10, 2025
68219d8
refac
tjbck Dec 10, 2025
3ed1df2
refac: search notes db query
tjbck Dec 11, 2025
ceae3d4
enh/refac: kb pagination
tjbck Dec 11, 2025
6812d3b
refac
tjbck Dec 11, 2025
0addc1e
refac
tjbck Dec 11, 2025
a2a9a9b
refac
tjbck Dec 11, 2025
6e99b10
refac
tjbck Dec 11, 2025
258caae
fix: resolve layout shift in knowledge items with long names (#19832)
silentoplayz Dec 11, 2025
b9676cf
refac: styling
tjbck Dec 11, 2025
b364cf4
feat: resizable sidebar
tjbck Dec 11, 2025
282c541
refac
tjbck Dec 11, 2025
99c820d
fix: fixed the issue of mismatched spaces in audio MIME types (#17771)
ShirasawaSama Dec 11, 2025
db95e96
chore: dep
tjbck Dec 11, 2025
4b42412
refac: styling
tjbck Dec 11, 2025
4d9a51b
refac
tjbck Dec 11, 2025
3b3e12b
refac
tjbck Dec 11, 2025
3418f53
Updated Danish translations (#19881)
jekuaitk Dec 11, 2025
7364b67
fix: regenerate response shortcut (#19875)
Zyfax Dec 11, 2025
4c4b9d1
refac: dockerfile PYTHONUNBUFFERED
tjbck Dec 11, 2025
379f888
enh/refac: ldap handle multiple usernames
tjbck Dec 11, 2025
8e661a4
Fix: Use SCAN instead of KEYS for Redis cluster compatibility (#19871)
jolow99 Dec 11, 2025
18e6cfb
fix: add null checks to chat iterators in ArchivedChats and FolderPla…
silentoplayz Dec 12, 2025
90209a3
fix: respect RTL text direction in file attachment containers (#19891)
broskees Dec 12, 2025
64dbc71
fix: reload ollama models list after model deletion (#19912)
Zyfax Dec 12, 2025
67290e1
i18n(de): Optimize and standardize German translations (#19911)
michi-onl Dec 12, 2025
1c62be4
chore: dep bump (#19937)
Classic298 Dec 13, 2025
a1bde74
fix(prompt): preserve non-ASCII characters in tool specs serializatio…
ascodeasice Dec 14, 2025
e11c6dc
fix(model-editor): add null safety for tools, functions, and file inp…
silentoplayz Dec 14, 2025
06038cd
fix: resolve NPE in Node.svelte when model is undefined (#19935)
silentoplayz Dec 14, 2025
8f7f5db
Update fi-FI translation.json (#19926)
Kylapaallikko Dec 14, 2025
07d28ad
fix: enable COMFYUI_WORKFLOW_NODES and IMAGES_EDIT_COMFYUI_WORKFLOW_N…
silentoplayz Dec 14, 2025
195801f
ensure from config (#19902)
taylorwilsdon Dec 14, 2025
bc681f8
feat : new environment variable SEARXNG_LANGUAGE , in the persistent …
borisboc Dec 14, 2025
0413c97
fix: add functional null safety checks and boolean casting to Chat.sv…
silentoplayz Dec 14, 2025
dce52f3
chore: small dep bump (#19972)
Classic298 Dec 15, 2025
cad4c61
refac: readme
tjbck Dec 16, 2025
7bd43f0
refac: channel name styling
tjbck Dec 16, 2025
59d6eb2
refac
tjbck Dec 16, 2025
0eb33e8
refac: logit bias handling
tjbck Dec 16, 2025
f509f55
refac: channel name
tjbck Dec 16, 2025
05a3aae
fix: preserve access_control when cloning prompts (#19960)
silentoplayz Dec 16, 2025
07777c9
feat(credit): no cost when empty response
OrenZhang Dec 17, 2025
db66f81
Merge branch 'refs/heads/main' into feat_empty_content
OrenZhang Dec 17, 2025
43303b8
chore(package-lock): update picomatch to version 4.0.3
OrenZhang Dec 17, 2025
5feacc3
Merge pull request #240 from OVINC-CN/feat_empty_content
OrenZhang Dec 17, 2025
b79acf0
docs(readme): update project description and features overview
OrenZhang Dec 18, 2025
d16691a
docs(readme): improve formatting and clarity of feature descriptions
OrenZhang Dec 18, 2025
39a09da
feat(credit): add user filtering to credit statistics
OrenZhang Dec 19, 2025
1d47efb
Merge pull request #242 from OVINC-CN/feat_statistic_filter
OrenZhang Dec 19, 2025
c63f1d0
feat(credit): improve date handling and search placeholder text
OrenZhang Dec 19, 2025
8438d9e
Merge pull request #243 from OVINC-CN/refactor_credit_log
OrenZhang Dec 19, 2025
ffbd774
I18n: improve Chinese translation (#20055)
ShirasawaSama Dec 20, 2025
ed8bb02
improve Korean translation (#20021)
Cyp9715 Dec 20, 2025
149bb9d
feat/perf: Add ENABLE_PUBLIC_ACTIVE_USERS_COUNT environment variable …
Classic298 Dec 20, 2025
3d5aaa9
feat: Align conditional fetching with conditional rendering for API K…
Classic298 Dec 20, 2025
cd17073
chore: dep bump (#20012)
Classic298 Dec 20, 2025
e61724d
feat: Enhanced File Viewer Modal (Excel, CSV, Markdown & Code) (#20035)
silentoplayz Dec 20, 2025
d651162
fix: enforce global ENABLE_CHANNELS check on all channel endpoints (#…
silentoplayz Dec 20, 2025
823b9a6
chore/perf: Remove old SRC level log env vars with no impact (#20045)
Classic298 Dec 20, 2025
b5bd870
fix: bocha filter list
tjbck Dec 20, 2025
8890555
Fix: Make meta optional in FileMetadataResponse to prevent batch add …
silentoplayz Dec 20, 2025
afaa404
enh: mineru api timeout
tjbck Dec 20, 2025
b0d8372
refac
tjbck Dec 20, 2025
2e7c7d6
fix: prevent ExternalReranker from blocking event loop during RAG que…
Classic298 Dec 20, 2025
37085ed
chore: update langchain 1.2.0 (#19991)
okamototk Dec 20, 2025
d4bd938
refac: ollama web
tjbck Dec 20, 2025
4c2e5c9
refac: gpt-image support
tjbck Dec 20, 2025
fe653a1
refac
tjbck Dec 20, 2025
84b97a0
feat(smtp): add SMTP configuration options for signup verification
OrenZhang Dec 21, 2025
b5d4ce8
Merge pull request #245 from OVINC-CN/feat_smtp_sent_from
OrenZhang Dec 21, 2025
15157fd
docs(branding): update branding guidelines and add custom logo support
OrenZhang Dec 21, 2025
2d20ff0
docs(branding): update branding guidelines and add custom logo support
OrenZhang Dec 21, 2025
bcc9c9c
fix(channel): channel msg format failed
OrenZhang Dec 21, 2025
6b50647
fix(message): handle missing user profile image
OrenZhang Dec 21, 2025
95168a0
chore(changelog): update version to 0.6.41.8
OrenZhang Dec 21, 2025
372976f
Merge pull request #246 from OVINC-CN/fix_none_content
OrenZhang Dec 21, 2025
bc18b89
refactor(migration): move migration logic to separate module
OrenZhang Dec 21, 2025
2f20676
Merge pull request #247 from OVINC-CN/chore_db
OrenZhang Dec 21, 2025
90c0c5d
refac: PASSWORD_VALIDATION_REGEX_PATTERN
tjbck Dec 21, 2025
0b0962a
fix: Show DefaultFiltersSelector for global toggleable filters (#123)…
Classic298 Dec 21, 2025
28b2fca
refac
tjbck Dec 21, 2025
8eddff8
fix(utils): add safety check for attributes.result in processDetails …
silentoplayz Dec 21, 2025
0eeda79
fix: user group pagination reset and model image caching (#19959)
silentoplayz Dec 21, 2025
360289d
refac: file item modal
tjbck Dec 21, 2025
6993b0b
enh: temp chat docx file support
tjbck Dec 21, 2025
7e4848e
refac: usage in model editor
tjbck Dec 21, 2025
870e29e
fix: multimodel messages
tjbck Dec 21, 2025
53c1ca6
enh: feedback ids endpoint
tjbck Dec 21, 2025
0dd2cfe
enh: models endpoint optimization
tjbck Dec 21, 2025
5077676
refac
tjbck Dec 21, 2025
48ccb1e
fix: consolidate psql cleanup logic and fix web add with cleanup (#20…
Classic298 Dec 21, 2025
ae203d8
refac
tjbck Dec 21, 2025
4fd790f
feat: Apply WEB_SEARCH_CONCURRENT_REQUESTS to all search engines usin…
Classic298 Dec 21, 2025
7746e9f
refac
tjbck Dec 21, 2025
c96549e
refac
tjbck Dec 21, 2025
b3904b6
fix: Fix handling of absolute paths for SQLCipher databases (#20074)
Classic298 Dec 21, 2025
f826d3e
refac/enh: sidebar section expand behaviour
tjbck Dec 21, 2025
ef43e81
fix: MCP OAuth 2.1 token exchange and multi-node propagation (#20076)
Classic298 Dec 21, 2025
60c93b4
chore: dep bump (#20077)
Classic298 Dec 21, 2025
b35aeb8
feat: custom model base model fallback
tjbck Dec 21, 2025
fa92494
refac
tjbck Dec 21, 2025
a1155df
refac
tjbck Dec 21, 2025
96ec66a
refac
tjbck Dec 21, 2025
a3458f4
fix/refac: note editor file upload behaviour
tjbck Dec 21, 2025
f1bf4f2
feat: chat_file table
tjbck Dec 21, 2025
bd7f186
refac
tjbck Dec 21, 2025
45e3237
fix/refac: shared chat files behaviour
tjbck Dec 21, 2025
01e88c6
chore: format
tjbck Dec 21, 2025
446cc0a
refac
tjbck Dec 21, 2025
f7d5750
Update translation.json (#20083)
Classic298 Dec 21, 2025
baf0f51
doc: demo image
tjbck Dec 21, 2025
67fd2ec
doc: banner
tjbck Dec 21, 2025
837f702
doc
tjbck Dec 21, 2025
a8bb000
chore: CHANGELOG: 0.6.42 (#19827)
Classic298 Dec 21, 2025
cfa8b3a
chore: format
tjbck Dec 21, 2025
088f62f
refac: hf github action
tjbck Dec 21, 2025
f0a0442
refac
tjbck Dec 21, 2025
de97f79
refac
tjbck Dec 21, 2025
d95f533
Merge pull request #19729 from open-webui/dev
tjbck Dec 21, 2025
27a81eb
Merge branch 'oui_main' into dev
OrenZhang Dec 22, 2025
bb40b68
chore(repo): merge from remote
OrenZhang Dec 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ pnpm-lock.yaml
package-lock.json
yarn.lock

kubernetes/

# Copy of .gitignore
.DS_Store
node_modules
Expand Down
104 changes: 104 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

19 changes: 19 additions & 0 deletions CHANGELOG_EXTRA.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,25 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.6.42.1] - 2025.12.22

### Added

- 支持空响应时不计费 (管理员面板-设置-积分)
- 积分统计面板支持通过用户名模糊筛选 (管理员面板-用户-积分统计)
- 支持配置邮件发送邮箱 (管理员面板-设置-通用)

### Changed

- 对部分配置增加额外的校验和提示
- 优化积分统计面板、积分日志、兑换码管理的加载性能
- 合并官方 0.6.42 改动

### Fixed

- 修复部分场景频道消息加载失败的问题
- 修复并发执行 DB 初始化的问题

## [0.6.41.1] - 2025.12.03

### Changed
Expand Down
3 changes: 3 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ ARG USE_RERANKING_MODEL
ARG UID
ARG GID

# Python settings
ENV PYTHONUNBUFFERED=1

## Basis ##
ENV ENV=prod \
PORT=8080 \
Expand Down
35 changes: 0 additions & 35 deletions INSTALLATION.md

This file was deleted.

2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2023-2025 Timothy Jaeryang Baek (Open WebUI)
Copyright (c) 2023- Open WebUI Inc. [Created by Timothy Jaeryang Baek]
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
161 changes: 87 additions & 74 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,116 +1,129 @@
> 注意:此仓库的 `dev` 分支是开发分支,可能包含不稳定或未发布的功能。强烈建议用户在部署和生产环境中使用无预发布标签的正式版本。
> 该项目是社区驱动的开源 AI 平台 [Open WebUI](https://github.com/open-webui/open-webui) 的定制分支。此版本与 Open WebUI 官方团队没有任何关联,亦非由其维护。
<div align="center">
<a href="https://github.com/open-webui/open-webui">
<img src="./static/favicon.png" alt="Logo" width="100" height="100">
</a>

# Open WebUI 👋
<h1 align="center">Open WebUI (OVINC-CN)</h1>

官方文档: [Open WebUI Documentation](https://docs.openwebui.com/).
官方更新日志: [CHANGELOG.md](./CHANGELOG.md)
<p align="center">
<strong>基于 Open WebUI 的增强版:集成计费、支付与企业级用户管理</strong>
</p>

## 部署方式
<p align="center">
<a href="https://github.com/ovinc-cn/openwebui/releases">
<img src="https://img.shields.io/github/v/release/ovinc-cn/openwebui?style=flat-square" alt="Release">
</a>
<a href="https://github.com/open-webui/open-webui/blob/main/LICENSE">
<img src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square" alt="License">
</a>
<a href="https://github.com/ovinc-cn/openwebui/pkgs/container/openwebui">
<img src="https://img.shields.io/badge/container-ghcr.io-blue?style=flat-square&logo=github" alt="GHCR">
</a>
</p>

部署二开版本只需要替换镜像和版本,其他的部署与官方版本没有差别,版本号请在 [Release](https://github.com/ovinc-cn/openwebui/releases/latest) 中查看
<br />
</div>

```
ghcr.io/ovinc-cn/openwebui:<版本号>
```
> ⚠️ **注意**:此仓库的 `dev` 分支是开发分支,可能包含不稳定功能。生产环境请务必使用 [Release](https://github.com/ovinc-cn/openwebui/releases) 中的正式版本。
> 本项目是 [Open WebUI](https://github.com/open-webui/open-webui) 的定制分支,与官方团队无关联。

## 拓展特性
## 📖 简介

完整特性请看更新日志 [CHANGELOG_EXTRA.md](./CHANGELOG_EXTRA.md)
这是一个社区驱动的 Open WebUI 增强版本,旨在为个人开发者和中小团队提供开箱即用的**运营化解决方案**。我们在原版强大的对话功能基础上,补充了计费、支付、用户验证等商业化闭环所需的关键特性。

### 积分报表
## ✨ 核心特性

![usage panel](./docs/usage_panel.png)
| 功能模块 | 说明 |
| :------------------------ | :------------------------------------------------------------------- |
| 💰 **灵活计费** | 支持按 **Token** 或 **请求次数** 计费,实时扣费并在对话中显示详情。 |
| 💳 **支付集成** | 原生支持**易支付**和**支付宝**(当面付/订单码),轻松实现自助充值。 |
| 📊 **数据报表** | 内置全局积分报表与用户消费记录,运营数据一目了然。 |
| 🔐 **用户管理** | 支持**邮箱验证**注册与**兑换码**系统,有效控制用户准入与权益分发。 |
| ⚙️ **自定义定价** | 支持对特定模型、搜索工具等进行精细化的自定义倍率或额外收费配置。 |
| 🎨 **自定义 LOGO & 名称** | 支持自定义 LOGO 和名称,详情参考 [BRANDING.md](./docs/BRANDING.md)。 |

### 全局积分设置
完整特性列表请参阅 [CHANGELOG_EXTRA.md](./CHANGELOG_EXTRA.md)。

![credit config](./docs/credit_config.png)
## 📸 功能预览

### 用户积分管理与充值
<details>
<summary>点击展开查看更多截图</summary>

![user credit](./docs/user_credit.png)
### 积分报表与全局设置

### 按照 Token 或请求次数计费,并在对话 Usage 中显示扣费详情
| 积分报表 | 全局设置 |
| :------------------------------------: | :----------------------------------------: |
| ![usage panel](./docs/usage_panel.png) | ![credit config](./docs/credit_config.png) |

![usage](./docs/usage.png)
### 用户充值与计费详情

### 兑换码
| 用户充值 | 计费详情 |
| :------------------------------------: | :------------------------: |
| ![user credit](./docs/user_credit.png) | ![usage](./docs/usage.png) |

![redemption code](./docs/redemption.png)
### 兑换码与注册验证

### 支持注册邮箱验证
| 兑换码 | 邮箱验证 |
| :---------------------------------------: | :-----------------------------------: |
| ![redemption code](./docs/redemption.png) | ![email](./docs/sign_verify_user.png) |

![email](./docs/sign_verify_user.png)
</details>

## 拓展配置
## 🚀 快速部署

### 支付宝当面付/订单码支付
部署本版本非常简单,只需替换官方镜像即可。

推荐使用 [“订单码支付”](https://open.alipay.com/api/detail?code=I1080300001000068149&index=0) 功能,[“当面付”](https://open.alipay.com/api/detail?code=I1080300001000041016&index=0) 处于产品调整中,后续支付宝可能会下线这个支付方式
```bash
# 拉取最新镜像(请将 <版本号> 替换为具体版本,如 v0.3.0)
docker pull ghcr.io/ovinc-cn/openwebui:<版本号>

配置网关地址和授权回调地址为 `https://example.com/api/v1/credit/callback/alipay` 其中 `example.com` 替换为你的 WebUI 地址
# 启动容器 (示例)
docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/ovinc-cn/openwebui:<版本号>
```

使用支付宝密钥工具生成的私钥无法直接使用,需要通过 “格式转换” 转换为 PKCS1 格式,转换后工具会提示 “已转换为 PKCS1 格式”
查看最新版本:[Releases](https://github.com/ovinc-cn/openwebui/releases/latest)

![alipay_private_key](docs/alipay_private_key.png)
## ⚙️ 进阶配置

### 兑换码功能
### 1. 支付宝支付配置

需要使用 Redis 避免被多次兑换
推荐使用 [“订单码支付”](https://open.alipay.com/api/detail?code=I1080300001000068149&index=0)。

```
REDIS_URL=redis://:<password>@<host>:6379/0
```
1. **回调地址配置**:
在支付宝后台配置网关地址和授权回调地址为:
`https://your-domain.com/api/v1/credit/callback/alipay`
_(将 `your-domain.com` 替换为你的实际域名)_

### 自定义价格配置
2. **私钥格式转换**:
支付宝工具生成的私钥需转换为 **PKCS1** 格式。

可以对请求 Body 中的任何匹配的内容额外计费,例如 OpenAI 和 Gemini 原生网页搜索
此部分配置较为复杂,如有需要可以提 ISSUE 单获取支持,或者使用 LLM 生成,Prompt 为 "参考这个例子,生成一个 XXX 的配置",并提供下面的例子
### 2. 自定义价格配置

(管理员面板 - 设置- 积分 - 自定义价格配置)
支持对请求 Body 内容进行正则匹配计费(如对 Web Search 额外收费)。

```json
[
{
"name": "web_search", // 计费名称,使用纯英文和下划线
"path": "$.tools[*].type", // python jsonpath_ng 兼容的解析路径
"exists": false, // 是否检测到 path 就计费,优先级高于 value 匹配
"value": "web_search_preview", // 匹配的值
"cost": 1000000 // 1M 次请求的价格
"name": "web_search", // 计费项名称
"path": "$.tools[*].type", // JSONPath 路径
"exists": false, // 是否仅检测存在性
"value": "web_search_preview", // 匹配值
"cost": 1000000 // 价格 (1M 次请求)
}
]
```

### HTTP Client Read Buffer Size
### 3. 性能调优

当有遇到 `Chunk too big` 报错时,可以适当调节这里的大小
如果遇到 `Chunk too big` 错误,可调整 HTTP Client Read Buffer:

```
# 默认是 64KB
```env
# 默认 64KB,可根据需要增加
AIOHTTP_CLIENT_READ_BUFFER_SIZE=65536
```

### 注册邮箱验证

![verify email](./docs/signup_verify.png)

请在管理端打开注册邮箱验证,配置 WebUI URL,同时配置如下环境变量

```
# 缓存
REDIS_URL=redis://:<password>@<host>:6379/0

# 邮件相关
SMTP_HOST=smtp.email.qq.com
SMTP_PORT=465
SMTP_USERNAME=example@qq.com
SMTP_PASSWORD=password
```

### 品牌/LOGO定制能力说明

本项目尊重并遵守 [Open WebUI License](https://docs.openwebui.com/license) 的品牌保护条款;我们鼓励社区用户尽量保留原有 Open WebUI 品牌,支持开源生态!

如需自定义品牌标识(如 LOGO、名称等):

- 请务必确保您的实际部署满足 License 所要求的用户规模、授权条件等(详见 [官方说明#9](https://docs.openwebui.com/license#9-what-about-forks-can-i-start-one-and-remove-all-open-webui-mentions))。
- 未经授权的商用或大规模去除品牌属于违规,由使用者自行承担法律风险。
- 具体自定义方法见 [docs/BRANDING.md](./docs/BRANDING.md)。
Loading
Loading