mirror of
https://github.com/snailyp/gemini-balance.git
synced 2026-05-11 18:09:55 +08:00
主要变更:
1. **API 请求重试机制:**
* 在配置 (`.env.example`, `config.py`, `constants.py`) 中添加 `MAX_RETRIES` 设置,用于控制 API 请求失败后的最大重试次数 (默认为 3)。
* 更新 `RetryHandler` (`retry_handler.py`) 以使用此配置。
* 将 `RetryHandler` 应用于 Gemini 和 OpenAI 的内容生成路由 (`gemini_routes.py`, `openai_routes.py`),使其能够根据配置进行重试。
* 在配置编辑器页面 (`config_editor.html`) 添加 `MAX_RETRIES` 的输入字段。
2. **密钥状态页面 (Keys Status) UI/UX 改进:**
* 默认隐藏 API 密钥的完整内容,仅显示部分字符 (`keys_status.html`),提高安全性。
* 添加了切换按钮和相应的 JavaScript (`keys_status.js`) 及 CSS (`keys_status.css`),允许用户点击查看或隐藏完整的密钥。
* 更新了“复制密钥”功能 (`keys_status.js`),确保复制的是完整的密钥而非掩码后的部分。
3. **错误日志页面 (Error Logs) 重构与改进:**
* 重构了 HTML 结构 (`error_logs.html`),使用更一致和语义化的 class(如 `config-section`, `controls-container`, `styled-table`, `status-indicator`),并移除了 Bootstrap 依赖。
* 更新了 CSS (`error_logs.css`) 以匹配新的 HTML 结构,改进了页面布局和视觉样式。
* 改进了 JavaScript (`error_logs.js`),优化了加载、无数据、错误状态的显示逻辑,改进了分页功能,并添加了通用的通知显示函数 (`showNotification`)。
* 在错误日志表格和详情弹窗中添加了“错误类型”列/字段。
4. **其他:**
* 对聊天服务 (`gemini_chat_service.py`, `openai_chat_service.py`) 和密钥管理器 (`key_manager.py`) 进行了相关更新
43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
"""
|
|
常量定义模块
|
|
"""
|
|
|
|
# API相关常量
|
|
API_VERSION = "v1beta"
|
|
DEFAULT_TIMEOUT = 300 # 秒
|
|
MAX_RETRIES = 3 # 最大重试次数
|
|
|
|
# 模型相关常量
|
|
SUPPORTED_ROLES = ["user", "model", "system"]
|
|
DEFAULT_MODEL = "gemini-1.5-flash"
|
|
DEFAULT_TEMPERATURE = 0.7
|
|
DEFAULT_MAX_TOKENS = 8192
|
|
DEFAULT_TOP_P = 0.9
|
|
DEFAULT_TOP_K = 40
|
|
DEFAULT_FILTER_MODELS = [
|
|
"gemini-1.0-pro-vision-latest",
|
|
"gemini-pro-vision",
|
|
"chat-bison-001",
|
|
"text-bison-001",
|
|
"embedding-gecko-001"
|
|
]
|
|
DEFAULT_CREATE_IMAGE_MODEL = "imagen-3.0-generate-002"
|
|
|
|
# 图像生成相关常量
|
|
VALID_IMAGE_RATIOS = ["1:1", "3:4", "4:3", "9:16", "16:9"]
|
|
|
|
# 上传提供商
|
|
UPLOAD_PROVIDERS = ["smms", "picgo", "cloudflare_imgbed"]
|
|
DEFAULT_UPLOAD_PROVIDER = "smms"
|
|
|
|
# 流式输出相关常量
|
|
DEFAULT_STREAM_MIN_DELAY = 0.016
|
|
DEFAULT_STREAM_MAX_DELAY = 0.024
|
|
DEFAULT_STREAM_SHORT_TEXT_THRESHOLD = 10
|
|
DEFAULT_STREAM_LONG_TEXT_THRESHOLD = 50
|
|
DEFAULT_STREAM_CHUNK_SIZE = 5
|
|
|
|
# 正则表达式模式
|
|
IMAGE_URL_PATTERN = r'!\[(.*?)\]\((.*?)\)'
|
|
DATA_URL_PATTERN = r'data:([^;]+);base64,(.+)'
|