Spaces:
Sleeping
Sleeping
File size: 5,695 Bytes
4c2a557 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | <div align="center">

# OpenWebUI Monitor
[English](../../../README.md) / **简体中文**
</div>
专为 OpenWebUI 设计的用量监控和用户余额管理面板。只需要向 OpenWebUI 添加一个简单的[函数](https://github.com/VariantConst/OpenWebUI-Monitor/blob/main/resources/functions/openwebui_monitor.py),就能在一个面板统一查看用户使用情况和余额。
> **注意**:如果你使用的是 OpenWebUI 0.5.8 及以上版本,请确保将[函数](https://github.com/VariantConst/OpenWebUI-Monitor/blob/main/resources/functions/openwebui_monitor.py)更新到最新版本。
## 特性
- 为 OpenWebUI 中的每个模型设置价格;
- 为每个用户设置余额,根据对话消耗 tokens 和模型价格扣除,并在每条聊天末尾提示;
- 查看用户使用数据和可视化。
- 一键测试所有模型的可用性。
## 部署
支持 Vercel 一键部署 [](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FVariantConst%2FOpenWebUI-Monitor&project-name=openwebui-monitor&repository-name=openwebui-monitor&env=OPENWEBUI_DOMAIN,OPENWEBUI_API_KEY,ACCESS_TOKEN,API_KEY) 和 Docker 部署。**详见 [部署指南](https://github.com/VariantConst/OpenWebUI-Monitor/blob/main/resources/tutorials/zh-cn/deployment_guide_zh.md)。详见 [部署指南](https://github.com/VariantConst/OpenWebUI-Monitor/blob/main/resources/tutorials/zh-cn/deployment_guide_zh.md)。详见 [部署指南](https://github.com/VariantConst/OpenWebUI-Monitor/blob/main/resources/tutorials/zh-cn/deployment_guide_zh.md)。**
## 更新
对于 Vercel,同步 fork 并重新部署项目。对于 Docker,拉取最新镜像后重启容器即可:
```bash
sudo docker compose pull
sudo docker compose up -d
```
## 环境变量
### 必填
| 变量名 | 说明 | 示例 |
| ----------------- | ------------------------------------------------------------- | -------------------------- |
| OPENWEBUI_DOMAIN | OpenWebUI 的域名 | `https://chat.example.com` |
| OPENWEBUI_API_KEY | OpenWebUI 的 API Key,在 `个人设置 -> 账号 -> API密钥` 中获取 | `sk-xxxxxxxxxxxxxxxx` |
| API_KEY | 用于 API 请求验证 (必须少于 56 个字符) | `your-api-key-here` |
| ACCESS_TOKEN | 用于页面访问验证 | `your-access-token-here` |
### 可选
| 变量名 | 说明 | 默认值 |
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ------ |
| DEFAULT_MODEL_INPUT_PRICE | 默认模型输入价格,单位为元/百万 tokens | `60` |
| DEFAULT_MODEL_OUTPUT_PRICE | 默认模型输出价格,单位为元/百万 tokens | `60` |
| DEFAULT_MODEL_PER_MSG_PRICE | 模型默认每条消息价格,设为负数将按 token 计费 | `-1` |
| INIT_BALANCE | 用户初始余额 | `0` |
| COST_ON_INLET | inlet 时的预扣费金额。可以是所有模型统一的固定数字(如 `0.1`),也可以是针对不同模型的配置(如 `gpt-4:0.32,gpt-3.5:0.01`) | `0` |
## 函数变量配置
| 变量名 | 说明 |
| ------------ | ------------------------------------------------------------------------ |
| Api Endpoint | 填你部署的 OpenWebUI Monitor 后端域名或 OpenWebUI 容器内可访问的 ip 地址 |
| Api Key | 填后端部署的 `API_KEY` 环境变量 |
| Language | 消息显示语言 (en/zh) |
## 常见问题
### 1. `OPENWEBUI_DOMAIN` 环境变量怎么填写?
填写原则是在 OpenWebUI Monitor 的容器内能访问到这个地址。
- 推荐填写 OpenWebUI 的公网域名,例如 `https://chat.example.com`。
- 假如你的 OpenWebUI Monitor 部署在同一台机器,则这个环境变量也可以填 `http://[Docker容器宿主机的本地ip]:[OpenWebUI后端服务端口]`。可以通过 `ifconfig | grep "inet "` 获取宿主机的本地 ip。
- **不可以**填 `http://127.0.0.1:port` 或省略 `http://`。
### 2. `Api Endpoint` 函数参数怎么填写?
填你部署的 OpenWebUI Monitor 后端域名或 OpenWebUI 容器内可访问的 ip 地址。例如 `http://[宿主机的本地ip]:7878`,其中 `7878` 是 OpenWebUI Monitor 的默认端口。
### 3. 为什么用户管理页面看不见用户?
只有用户首次进行聊天请求后,OpenWebUI Monitor 才会开始追踪该用户的信息。
<h2>Gallery</h2>

## Star History
[](https://star-history.com/#VariantConst/OpenWebUI-Monitor&Date)
|