CassiopeiaCode commited on
Commit
a5bfe39
·
1 Parent(s): 1bdfa3a

docs: 更新README文档

Browse files

- 添加统计监控功能说明
- 添加HTTP代理配置说明
- 更新环境变量表格
- 更新数据库结构说明
- 补充账号自动禁用机制说明

Files changed (1) hide show
  1. README.md +21 -2
README.md CHANGED
@@ -6,10 +6,12 @@
6
 
7
  - **OpenAI 兼容接口** - 完全兼容 OpenAI Chat Completions API(`/v1/chat/completions`)
8
  - **账号管理系统** - 支持多账号管理,启用/禁用控制,自动令牌刷新
 
9
  - **设备授权登录** - 通过 URL 快速登录并自动创建账号(5分钟超时)
10
  - **智能负载均衡** - 从启用的账号中随机选择,实现简单的负载分配
 
11
  - **API Key 白名单** - 可选的访问控制,支持开发模式
12
- - **现代化前端** - 美观的 Web 控制台,支持账号管理和 Chat 测试
13
  - **自动重试机制** - Token 过期时自动刷新并重试请求
14
 
15
  ## 🚀 快速开始
@@ -37,12 +39,16 @@ cp .env.example .env
37
 
38
  # 编辑 .env 文件
39
  # OPENAI_KEYS="key1,key2,key3" # 可选,留空则为开发模式
 
 
40
  ```
41
 
42
  **配置说明:**
43
  - `OPENAI_KEYS` 为空或未设置:开发模式,不校验 Authorization
44
  - `OPENAI_KEYS` 设置后:仅白名单中的 key 可访问 API
45
  - API Key 仅用于访问控制,不映射到特定账号
 
 
46
 
47
  ### 3. 启动服务
48
 
@@ -235,6 +241,8 @@ print(response.choices[0].message.content)
235
  | 变量 | 说明 | 默认值 |
236
  |------|------|--------|
237
  | `OPENAI_KEYS` | API Key 白名单(逗号分隔) | 空(开发模式) |
 
 
238
 
239
  ### 数据库结构
240
 
@@ -251,10 +259,21 @@ CREATE TABLE accounts (
251
  last_refresh_status TEXT,
252
  created_at TEXT,
253
  updated_at TEXT,
254
- enabled INTEGER DEFAULT 1 -- 1=启用, 0=禁用
 
 
255
  );
256
  ```
257
 
 
 
 
 
 
 
 
 
 
258
  ## 🐛 故障排查
259
 
260
  ### 401 Unauthorized
 
6
 
7
  - **OpenAI 兼容接口** - 完全兼容 OpenAI Chat Completions API(`/v1/chat/completions`)
8
  - **账号管理系统** - 支持多账号管理,启用/禁用控制,自动令牌刷新
9
+ - **智能统计监控** - 自动统计成功/失败次数,错误超阈值自动禁用账号
10
  - **设备授权登录** - 通过 URL 快速登录并自动创建账号(5分钟超时)
11
  - **智能负载均衡** - 从启用的账号中随机选择,实现简单的负载分配
12
+ - **HTTP 代理支持** - 可配置代理服务器,支持所有 HTTP 请求
13
  - **API Key 白名单** - 可选的访问控制,支持开发模式
14
+ - **现代化前端** - 美观的 Web 控制台,标签页布局,支持账号管理和 Chat 测试
15
  - **自动重试机制** - Token 过期时自动刷新并重试请求
16
 
17
  ## 🚀 快速开始
 
39
 
40
  # 编辑 .env 文件
41
  # OPENAI_KEYS="key1,key2,key3" # 可选,留空则为开发模式
42
+ # MAX_ERROR_COUNT=100 # 错误次数阈值
43
+ # HTTP_PROXY="http://127.0.0.1:7890" # HTTP代理(可选)
44
  ```
45
 
46
  **配置说明:**
47
  - `OPENAI_KEYS` 为空或未设置:开发模式,不校验 Authorization
48
  - `OPENAI_KEYS` 设置后:仅白名单中的 key 可访问 API
49
  - API Key 仅用于访问控制,不映射到特定账号
50
+ - `MAX_ERROR_COUNT`:账号连续失败次数超过此值将自动禁用(默认100)
51
+ - `HTTP_PROXY`:HTTP代理地址,留空则不使用代理
52
 
53
  ### 3. 启动服务
54
 
 
241
  | 变量 | 说明 | 默认值 |
242
  |------|------|--------|
243
  | `OPENAI_KEYS` | API Key 白名单(逗号分隔) | 空(开发模式) |
244
+ | `MAX_ERROR_COUNT` | 错误次数阈值,超过自动禁用账号 | 100 |
245
+ | `HTTP_PROXY` | HTTP代理地址(如 http://127.0.0.1:7890) | 空(不使用代理) |
246
 
247
  ### 数据库结构
248
 
 
259
  last_refresh_status TEXT,
260
  created_at TEXT,
261
  updated_at TEXT,
262
+ enabled INTEGER DEFAULT 1, -- 1=启用, 0=禁用
263
+ error_count INTEGER DEFAULT 0, -- 连续错误次数
264
+ success_count INTEGER DEFAULT 0 -- 成功请求次数
265
  );
266
  ```
267
 
268
+ ### 账号统计与自动禁用
269
+
270
+ 系统会自动统计每个账号的请求结果:
271
+ - **成功**:返回至少1个有效字符,`success_count+1`,`error_count`重置为0
272
+ - **失败**:未返回有效字符或出错,`error_count+1`
273
+ - **自动禁用**:当`error_count >= MAX_ERROR_COUNT`时,账号自动设置为`enabled=0`
274
+
275
+ 这确保了有问题的账号不会持续影响服务质量。
276
+
277
  ## 🐛 故障排查
278
 
279
  ### 401 Unauthorized