299 Commits

Author SHA1 Message Date
snaily
57d593fa17 chore: 更新版本号至2.1.7 v2.1.7 2025-07-05 00:48:50 +08:00
snaily
f38b5ae870 feat: 添加TTS相关配置和功能
- 在.env.example中添加TTS模型、语音名称和语速的配置选项
- 更新README文件,增加TTS相关配置的说明
- 在配置类中添加TTS相关设置
- 新增TTS请求模型以支持文本转语音功能
- 更新智能路由中间件以支持音频请求
- 在路由中添加处理TTS请求的API接口
- 更新前端配置编辑器以支持TTS配置选项
2025-07-05 00:47:55 +08:00
snaily
418b3ca13c Merge branch 'pr/BigLiao/172' 2025-07-03 23:44:02 +08:00
jesonliao
09bfa85e69 fix: 修复api中对role的校验
官方给的demo是不传role的
2025-07-03 23:08:31 +08:00
jesonliao
62b132208b fix: 修复数据库密码中包含特殊字符串时的问题 2025-07-03 22:23:47 +08:00
snaily
fc28f4f74e Merge branch 'pr/chinrain/167' 2025-07-03 17:28:58 +08:00
snaily
f79a52f839 fix:优化智能路由中间件,增强URL处理逻辑
- 增加对新路径模式的支持,包括对`v1beta/models`的处理
- 统一日志记录格式,提升调试信息的可读性
- 规范化代码风格,确保一致性和可维护性
- 修复了请求体和查询参数的模型名称提取逻辑
2025-07-03 17:25:50 +08:00
chinrain
94d1041961 Merge branch 'feat/AutoRoute' of https://github.com/chinrain/gemini-balance into feat/AutoRoute 2025-07-03 03:05:39 +08:00
chinrain
ada32d526a refactor: 简化智能路由中间件,优化混合格式URL处理
- 重构智能路由逻辑,在保证聊天的同时尽量简化
- 只会修改常见错误,其余的透传(方便以后维护或者不用维护)
- 常见错误都能正常聊天
- 统一前端样式
2025-07-03 03:01:10 +08:00
snaily
ef1e38aba1 fix: 在智能路由中间件中添加对请求体的JSON解析异常处理,确保在提取模型时的稳定性 2025-07-03 00:56:57 +08:00
snaily
60b2d59e25 fix:修正Gemini路径模式,移除末尾的斜杠以确保路径匹配的一致性 2025-07-03 00:45:11 +08:00
chinrain
e18aa73456 添加gemini前缀模型列表 2025-07-02 23:52:03 +08:00
chinrain
24747a5f09 移除重复配置 2025-07-02 23:41:48 +08:00
chinrain
621dac22dc Merge remote-tracking branch 'origin/main' into feat/AutoRoute 2025-07-01 02:41:18 +08:00
chinrain
23d7004b60 - 增加vertex-express支持
- 移除了不必要的判断流式请求的方法
2025-07-01 02:25:32 +08:00
snaily
c3b3d34127 Merge branch 'pr/stevessr/160' 2025-06-30 23:54:42 +08:00
chchchchc1023
18a166afb0 feat: 添加智能路由中间件,支持API路径自动规范化
- 新增SmartRoutingMiddleware智能路由中间件
- 支持OpenAI/HF/Gemini/默认格式的自动检测和转换
- 修复错误URL路径格式,提升API兼容性
- 添加URL_NORMALIZATION_ENABLED配置开关,默认关闭
- 智能路由功能默认关闭,需手动启用
2025-06-30 22:58:58 +08:00
stevessr
a41447a96d fix: 更新 thinkingBudget 的最大值限制至32767 , 最小值为 -1 2025-06-30 20:43:27 +08:00
Wangnov
df8d543539 删除ruff导致的格式化换行 2025-06-30 17:52:10 +08:00
Wangnov
5ecce8e0fe fix: 使用Union替代类型注解中的管道符号,使python3.9版本不报错 2025-06-30 17:37:02 +08:00
snaily
00f423a622 Update README.md 2025-06-28 00:00:22 +08:00
snaily
05ce04de69 Update README.md 2025-06-27 23:49:05 +08:00
snaily
cd5549e1aa chore: 更新版本号至2.1.6 v2.1.6 2025-06-26 17:13:22 +08:00
snaily
f573c0255a Update README.md 2025-06-18 23:59:48 +08:00
snaily
060d7fffe6 docs: 在README中添加对支持者的感谢,并新增DigitalOcean的logo文件 2025-06-18 22:49:18 +08:00
snaily
38dbcd1643 fix: 更新API请求URL,增加pageSize参数以支持更大模型列表的获取 2025-06-17 23:30:36 +08:00
snaily
241d97027c Update README.md 2025-06-15 18:29:18 +08:00
snaily
d18689fe9f Merge pull request #151 from sk163/main 2025-06-14 15:12:33 +08:00
sk163
b72298fef4 feat: 增加了代理列表使用策略选项,对于同一个API_KEY可以使用固定代理 2025-06-14 14:36:11 +08:00
snaily
2d73503b00 chore: 更新版本号至2.1.5 v2.1.5 2025-06-07 21:08:55 +08:00
snaily
fb106cd975 Merge branch 'pr/coulsontl/148' 2025-06-07 15:12:36 +08:00
snaily
5f74aacfdf Merge branch 'pr/coulsontl/147' 2025-06-07 14:47:59 +08:00
coulsontl
d9729a8a89 chore: 修改批量验证结果弹窗错误信息的样式 2025-06-07 08:58:12 +08:00
snaily
0665d5227d Update README.md 2025-06-07 01:32:38 +08:00
snaily
85a89669ff Update README.md 2025-06-07 01:28:21 +08:00
coulsontl
a2a77e607c chore: 优化UI为更耐看的浅色系主题 2025-06-06 20:03:55 +08:00
coulsontl
258df26399 feat(response_handler): 更新_extract_result函数以返回思考内容 2025-06-06 19:56:04 +08:00
snaily
df9c980ca1 Merge pull request #141 from happy-game/main
Fix: 修复使用 docker 运行时环境变量的错误解析
2025-06-01 19:13:52 +08:00
happy game
117f327e7b fix(config): Fix SAFETY_SETTINGS parsing by removing quotes 2025-05-31 21:53:08 +08:00
happy game
d599ba6be3 fix(config): Move inline .env comments to prevent parsing errors 2025-05-31 21:48:29 +08:00
snaily
8484651fdd Merge branch 'pr/coulsontl/135' 2025-05-26 01:24:16 +08:00
snaily
aab38648f8 Merge branch 'pr/Inblac/132' 2025-05-25 02:39:03 +08:00
snaily
9d4b45cf35 Merge pull request #131 from TroyMitchell911/main
Fix wrong commands in README
2025-05-24 17:03:34 +08:00
coulsontl
484e5cdc42 feat: 添加环境变量加载和思考配置处理 2025-05-24 09:26:20 +08:00
Nalvick
e37e11bf57 feat: 在OpenAI chat服务中,适配googleSearch内置工具调用支持 2025-05-23 23:45:03 +08:00
Troy
7661b71fcc Fix wrong commands in README
In the readme, the parameters for mounting the sqlite volume are wrong, which does not match the comments
2025-05-23 21:58:14 +08:00
snaily
b3a4306332 chore: Add Chinese README for Gemini Balance project with detailed features and setup instructions 2025-05-19 16:29:58 +08:00
snaily
6aab140ec2 feat(vertex): 集成 Vertex AI Express API 支持
本次更新引入了对 Google Vertex AI Express API 的支持,允许用户配置和使用 Vertex AI 模型。

主要变更包括:

后端:
- 新增 `VERTEX_API_KEYS` 和 `VERTEX_EXPRESS_BASE_URL` 至系统配置 ([`.env.example`](.env.example:13), [`app/config/config.py:62`](app/config/config.py:62), [`app/database/models.py`](app/database/models.py), [`app/database/services.py`](app/database/services.py))。
- 实现 `VertexExpressChatService` ([`app/service/chat/vertex_express_chat_service.py`](app/service/chat/vertex_express_chat_service.py)) 用于处理与 Vertex AI Express API 的交互。
- 添加 `vertex_express_routes` ([`app/router/vertex_express_routes.py`](app/router/vertex_express_routes.py)) 来暴露 Vertex AI 相关的 API 端点,并集成到主应用 ([`app/core/application.py:36`](app/core/application.py:36), [`app/router/routes.py:15`](app/router/routes.py:15))。
- 更新密钥管理器 ([`app/service/key/key_manager.py`](app/service/key/key_manager.py)) 以支持 Vertex API 密钥的获取、检查和轮换。

前端 (配置编辑器):
- 在配置页面 ([`app/templates/config_editor.html:463`](app/templates/config_editor.html:463)) 添加了 Vertex API 密钥列表和 Vertex Express API 基础 URL 的表单字段。
- 实现了批量添加和删除 Vertex API 密钥的功能,包括相应的模态框和操作逻辑 ([`app/static/js/config_editor.js:550`](app/static/js/config_editor.js:550), [`app/static/js/config_editor.js:1097`](app/static/js/config_editor.js:1097), [`app/templates/config_editor.html:1657`](app/templates/config_editor.html:1657))。
- 确保新的配置项在初始化 ([`app/static/js/config_editor.js:598`](app/static/js/config_editor.js:598)) 和表单填充 ([`app/static/js/config_editor.js:671`](app/static/js/config_editor.js:671)) 时得到正确处理。
- 更新了数组项添加逻辑以识别 `VERTEX_API_KEYS` 为敏感字段 ([`app/static/js/config_editor.js:1235`](app/static/js/config_editor.js:1235))。

此功能扩展了应用支持的 AI 服务范围,为用户提供了更多模型选择。
2025-05-17 00:13:49 +08:00
snaily
e260ad02bf feat(error_log): 添加清空所有错误日志的功能
主要变更:
- 在数据库服务层 ([`app/database/services.py:364`](app/database/services.py:364)) 添加了 `delete_all_error_logs` 函数。
- 在错误日志路由 ([`app/router/error_log_routes.py:186`](app/router/error_log_routes.py:186)) 中添加了新的 `DELETE /api/logs/errors/all` API 端点。
- 在前端 ([`app/static/js/error_logs.js`](app/static/js/error_logs.js)) 添加了“清空全部”按钮和相应的处理逻辑,并重构了删除确认模态框以支持此新功能。
- 将 [`app/core/application.py:42`](app/core/application.py:42) 中的 `initialize_database()` 调用从异步更改为同步。
2025-05-15 00:23:53 +08:00
snaily
4becc8d4d4 feat: 改进错误日志功能并优化应用初始化流程
本次提交主要包含以下更新:

- **错误日志页面增强**:
    - 重构了 [`app/static/js/error_logs.js`](app/static/js/error_logs.js) 中的分页逻辑,将样式控制移至 CSS,简化了 JavaScript 代码。
    - 更新了 [`app/templates/error_logs.html`](app/templates/error_logs.html) 中的分页样式,使其与 `keys_status.html` 保持一致,提升了视觉统一性。
    - 在错误日志页面新增了“清空全部”按钮,方便用户一键清除所有错误记录。
    - 调整了错误日志表格头部的文本颜色为白色,以改善深色主题下的可读性。

- **应用初始化与配置优化**:
    - 调整了 [`app/config/config.py`](app/config/config.py) 中日志记录器的获取方式,确保在配置加载早期即可用。
    - 在 [`app/core/application.py`](app/core/application.py) 中引入了更明确的数据库连接管理(连接、断开、初始化)逻辑。
    - 优化了 [`app/utils/helpers.py`](app/utils/helpers.py) 中项目路径和版本文件路径的定义方式,使其在模块级别初始化。

- **依赖清理**:
    - 从 [`requirements.txt`](requirements.txt) 中移除了不必要的注释。

这些更改旨在提升错误日志模块的用户体验和功能性,并优化应用程序的启动和配置管理流程。
2025-05-14 14:25:04 +08:00