snaily
|
4af17ce55d
|
chore: 更新版本号至2.2.5
|
2025-08-18 17:27:42 +08:00 |
|
snaily
|
2001bfdcd9
|
fix(api): 统一错误日志时间戳并传递 request_datetime
- 统一 add_error_log 的 request_time:优先使用 request_datetime,
否则使用 datetime.now(),去除 timezone.utc,避免与请求日志时区不一致
- 在 Gemini/OpenAI/Vertex/Embedding 等服务的异常处理处补充传入
request_datetime,使错误日志与请求日志可一一对应
- stats: 移除失败记录的错误日志时间窗匹配与 error_log_id 附带,降低查询开销
与误关联风险;建议通过统一时间戳(key + request_time)或独立错误日志
查询接口完成关联
- 调整部分导入顺序与长行换行等代码风格,无功能改动
BREAKING CHANGE: 统计详情接口不再返回 error_log_id 字段。需要关联错误日志的
客户端请改为基于 key 与 request_time 在错误日志接口中检索。
|
2025-08-18 17:26:53 +08:00 |
|
snaily
|
669123f348
|
feat(ui): 支持值得注意的Key多选、全选与批量操作
为“值得注意的Key”列表新增可见复选框和全选开关,提供
批量验证/复制/删除操作,并优化选择逻辑与样式。
- attentionKeysList 每行新增可见复选框并设置 data-key
- 新增“全选”和批量操作栏,实时显示已选数量
- getSelectedKeys/updateBatchActions/toggleSelectAll
适配 attention 根节点,且仅作用于可见项
- initializeKeySelectionListeners 增加 attention 事件绑定
- fetchAndRenderAttentionKeys 阻止按钮冒泡、绑定复选框变更,
在加载成功/失败后刷新批量栏状态
- attention 列表不与 valid/invalid 主列表同步勾选,避免交叉影响
- CSS 仅隐藏有效/无效列表复选框,新增 attention 列表
hover/选中态样式
- 增强空值判断,避免批量栏或全选元素缺失时报错
|
2025-08-18 16:31:48 +08:00 |
|
snaily
|
fa6745454e
|
chore: 更新版本号至2.2.4
|
2025-08-18 09:11:49 +08:00 |
|
snaily
|
1aa3d267bb
|
feat(api,ui): 新增24h错误码最高Key统计与面板
- 新增 GET /api/stats/attention-keys 接口,统计最近24小时指定
状态码(默认429)错误次数最多的 Key,仅统计内存中的 Key,
支持 limit 与 status_code 参数
- StatsService 新增 get_attention_keys_last_24h,按 api_key 分组计数并
降序返回
- UI 新增“值得注意的Key”卡片:支持 429/403/400 快捷切换、自定义状态码
与数量限制,默认展示 429 前 10
- 列表项支持验证、查看 24h 详情、复制、删除等快捷操作
- 将 Chart.js 与页面脚本改为 defer,保证 DOM 就绪与执行顺序
- 修复:补充获取数量输入框引用,避免初始化未声明变量报错
- 其他:微调日志输出格式
|
2025-08-18 06:28:48 +08:00 |
|
snaily
|
e9601ca76c
|
feat(api,ui): 新增按Key调用详情与错误日志查找并联动前端
引入按密钥维度的请求详情及错误日志关联,新增错误日志精确
查找接口,并扩展统计时间维度,提升故障定位与可观测性。
- 新增 /api/logs/errors/lookup 接口:支持按 gemini_key / timestamp /
status_code 与时间窗口查找最接近的错误日志;ErrorLogDetailResponse
增加 error_code 字段
- Stats 接口增强:get_api_call_details 返回 status_code、latency_ms,
并在失败时尝试匹配 error_log_id;新增 /api/stats/key-details 获取指
定密钥调用详情;新增 8h 时间段
- DB 层:add_error_log 支持传入 request_datetime(默认使用 UTC);新增
find_error_log_by_info 封装按 key/时间窗口/状态码的查询
- 前端 keys_status:趋势图支持 8 小时区间;调用详情表新增状态码/耗时与
失败详情按钮;可按 key 查看期内调用详情并查看匹配错误日志;优化统计
摘要展示与模态层级(z-index)
- OpenAIChatService:错误记录携带请求时间;改进日志与健壮性处理
|
2025-08-18 05:19:29 +08:00 |
|
snaily
|
01312317a1
|
feat(ui): 添加 API 调用趋势图及时间区间切换
- 在 keys_status 页面引入 Chart.js(CDN),新增“调用趋势图”卡片
- 支持 1分钟/1小时/24小时切换,默认展示 1小时
- 前端从 /api/stats/details?period= 拉取数据,按时间桶聚合成功/失败并绘制
- 调整样式与布局:图表卡片跨列显示,固定容器高度并适配小屏
- 便于可视化监控调用成功/失败趋势,辅助排障与容量评估
|
2025-08-18 03:50:52 +08:00 |
|
snaily
|
7827283d0a
|
fix(ui): 移除 keys_status 自动刷新开关及相关逻辑
移除 keys_status 页面的自动刷新开关与定时器逻辑,删除模板中的
开关控件,并移除 initializeAutoRefreshControls 函数及其调用。周
期性刷新会重置分页和搜索状态,影响使用体验;保留手动刷新按钮以
在需要时更新数据。
|
2025-08-18 03:19:59 +08:00 |
|
snaily
|
96c4b4fa50
|
fix: 移除API密钥分页按钮的onclick事件
|
2025-08-18 00:55:51 +08:00 |
|
snaily
|
892392742d
|
chore: 更新版本号至2.2.3
|
2025-08-16 17:45:52 +08:00 |
|
snaily
|
380e6426ed
|
- 添加API密钥分页显示功能,每页显示20个密钥
- 实现分页控件和搜索功能的集成
- 优化API密钥的数据处理逻辑,从DOM操作改为数组操作
- 修改登录成功后重定向路径从/config改为/keys
- 重构routes.py的import语句,按字母顺序排列
- 改进代码格式和缩进风格
|
2025-08-16 17:42:16 +08:00 |
|
snaily
|
d2906d89a6
|
style(router): 优化错误日志路由代码格式
- 移除多余的空白行
- 简化删除所有错误日志的日志记录逻辑
- 统一代码缩进和空行格式
|
2025-08-16 03:43:36 +08:00 |
|
snaily
|
13e1db7d69
|
style(database,static): 优化代码格式并本地化静态资源
- 重新组织 database/services.py 的导入语句,按照标准顺序排列
- 统一代码格式,包括函数参数对齐和尾随逗号
- 优化 delete_all_error_logs 函数,移除不必要的计数查询以提高性能
- 添加本地字体文件 fonts.css,包含 Inter 字体的多种字重和语言支持
- 本地化 Tailwind CSS 脚本,减少外部依赖
- 更新 base.html 模板以使用本地静态资源
|
2025-08-16 03:41:42 +08:00 |
|
snaily
|
40c9689eae
|
Merge pull request #249 from sanjusss:fix_248
fix #248
|
2025-08-16 03:08:16 +08:00 |
|
snaily
|
548dcccf2f
|
Merge pull request #286 from 4Crusaders:fix/gemini-structured-output-tools-conflict
fix: 修复Gemini模型不支持同时使用tools和结构化输出的问题
|
2025-08-16 01:13:18 +08:00 |
|
snaily
|
b52092a72b
|
Merge pull request #300 from zenyanbo/main
|
2025-08-16 01:06:18 +08:00 |
|
snaily
|
67efd067c6
|
Merge pull request #270 from cxyfer/feature/gemini-embed-endpoints
|
2025-08-16 00:40:18 +08:00 |
|
snaily
|
a6558b4668
|
chore: 更新版本号至 2.2.2
|
2025-07-25 17:08:08 +08:00 |
|
snaily
|
6f714649a7
|
fix: 修复以第一个key获取模型列表,如果key失效将无法获取模型的问题
|
2025-07-25 17:07:15 +08:00 |
|
snaily
|
ae775760dd
|
feat(keys): 按错误码分组展示校验失败的密钥
- **功能增强 (密钥状态页面):**
- 在密钥校验结果弹窗中,将校验失败的密钥按照HTTP错误码进行分组展示。
- 每个错误码分组都是可折叠的,并显示该分组下的密钥数量。
- 为每个分组添加了独立的“复制”按钮,方便用户一键复制相同错误类型的所有密钥。
- 优化了错误详情的展示方式,使其在分组内切换,界面更整洁。
- 此项改动极大地改善了当大量密钥校验失败时的用户体验,能够更快速地定位和处理问题。
- **错误修复 (OpenAI服务):**
- 修复了 `openai_chat_service.py` 中一个正则表达式的错误。该正则是用于从错误日志中提取HTTP状态码,错误的 `\\d+` 已被修正为 `\d+`,确保能正确捕获状态码。
|
2025-07-25 16:44:27 +08:00 |
|
snaily
|
d475ccdece
|
refactor: 移除未使用的 Tuple 导入
|
2025-07-25 12:18:20 +08:00 |
|
snaily
|
4eed3a48db
|
Merge pull request #244 from icesixgod:feature/proxy-health-check
feat: 实现代理健康检查功能
|
2025-07-25 12:16:08 +08:00 |
|
snaily
|
26f3dbd12b
|
feat: 为无效密钥列表添加筛选和搜索功能
- 添加无效密钥的失败次数筛选控件
- 添加无效密钥的搜索框和每页显示数量选择器
- 实现无效密钥列表的筛选、搜索和分页功能
- 优化相关CSS样式以保持界面一致性
|
2025-07-25 01:08:41 +08:00 |
|
snaily
|
7af53de782
|
feat: 添加下拉菜单和批量操作功能
- 新增 /api/keys/all 端点获取所有密钥
- 添加下拉菜单界面,提供复制全部密钥和验证所有密钥选项
- 重构批量重置逻辑,改为逐个处理以提供更好的进度反馈
- 新增批量操作进度模态框,实时显示操作状态和日志
- 在验证模态框中添加批次大小配置选项
- 优化用户体验,提供更直观的批量操作界面
|
2025-07-25 00:35:56 +08:00 |
|
snaily
|
2270f6d998
|
refactor: 重构密钥状态页面为客户端动态加载
- 新增 key_routes.py 分离密钥相关路由逻辑
- 将密钥列表从服务器端渲染改为 JavaScript 动态加载
- 优化 keys_status 页面错误处理,提供默认数据结构
- 在 KeyManager 中添加 get_all_keys_with_fail_count 方法
- 移除服务器端模板中的静态密钥渲染代码
这次重构提升了页面加载性能和用户体验,同时改善了错误处理机制。
|
2025-07-24 23:23:11 +08:00 |
|
snaily
|
ccd4722a77
|
style(log): 整理导入语句
|
2025-07-24 16:54:25 +08:00 |
|
snaily
|
b25cf7d978
|
fix: 网址上下文功能默认设置为false
|
2025-07-20 21:18:30 +08:00 |
|
snaily
|
07481ca972
|
fix: 修复_build_payload函数中的条件逻辑,确保正确处理思考预算配置
|
2025-07-20 19:29:19 +08:00 |
|
snaily
|
9c285e38ef
|
chore: Enhance project description, add badges, and clarify licensing terms
|
2025-07-20 16:08:52 +08:00 |
|
snaily
|
ebfa1d247c
|
chore: 更新版本号至2.2.1
|
2025-07-20 13:43:18 +08:00 |
|
snaily
|
cdb85ef9b7
|
fix: 更新思考预算配置,使用_get_real_model函数获取真实模型
|
2025-07-20 13:42:36 +08:00 |
|
snaily
|
7006522c13
|
feat: 修复gemini-cli调用工具失败的问题
|
2025-07-20 13:19:59 +08:00 |
|
snaily
|
530c958afc
|
chore: 更新版本号至2.2.0
|
2025-07-20 01:47:35 +08:00 |
|
snaily
|
57d861b578
|
feat: 增加URL上下文理解功能
本次提交引入了一项新功能,允许模型在对话中理解所提供URL的上下文。
主要变更:
- **配置**:新增了 `URL_CONTEXT_ENABLED` 和 `URL_CONTEXT_MODELS` 两个配置项,用于控制此功能的开关和支持的模型列表。
- **后端服务**:在 `gemini_chat_service`、`openai_chat_service` 和 `vertex_express_chat_service` 中,为支持的模型动态添加 `urlContext` 工具。
- **前端界面**:在配置编辑器页面增加了相应的UI控件,方便用户启用/禁用该功能并管理支持的模型列表。
- **文档**:更新了 `.env.example`、`README.md` 和 `README_ZH.md`,包含了新配置项的说明。
|
2025-07-20 01:46:18 +08:00 |
|
snaily
|
99664298b9
|
fix: 更新思考配置,针对gemini-2.5-pro模型设置思考预算为128
|
2025-07-19 22:20:55 +08:00 |
|
snaily
|
a6fe5a7022
|
fix: 更新思考模型预算说明,使用-1表示自动预算
|
2025-07-19 22:11:36 +08:00 |
|
snaily
|
1918dad602
|
chore: 更新版本号至2.1.13
|
2025-07-19 15:24:36 +08:00 |
|
snaily
|
69399c291e
|
fix: 在密钥验证成功时重置失败计数
|
2025-07-19 10:49:09 +08:00 |
|
snaily
|
9ec33ce320
|
fix: 为API_KEYS和ALLOWED_TOKENS添加默认值
|
2025-07-19 09:31:59 +08:00 |
|
snaily
|
c35d3aff7d
|
chore: 更新版本号至2.1.12
|
2025-07-19 01:39:32 +08:00 |
|
snaily
|
2a5744d1c4
|
fix: 移除请求payload构建中的by_alias参数
|
2025-07-19 01:38:48 +08:00 |
|
snaily
|
825511506b
|
chore: 更新版本号至2.1.11
|
2025-07-19 00:41:08 +08:00 |
|
snaily
|
5a98a701cb
|
fix: 修复生成配置字段名称以符合API要求
|
2025-07-19 00:40:44 +08:00 |
|
snaily
|
dd1fa35c73
|
chore: 更新版本号至2.1.10
|
2025-07-18 22:34:46 +08:00 |
|
snaily
|
fb572fa849
|
chore: 移除不必要的json导入
|
2025-07-18 22:33:46 +08:00 |
|
snaily
|
c0a473ed19
|
Merge branch 'pr/hewenyu/220'
|
2025-07-18 16:47:22 +08:00 |
|
snaily
|
030641adc6
|
chore: 移除不必要的环境变量配置
|
2025-07-18 16:39:23 +08:00 |
|
snaily
|
32d4c60541
|
fix: 修正Callirhoe拼写错误为Callirrhoe
refactor: 优化常量格式,提升可读性
|
2025-07-17 22:07:18 +08:00 |
|
snaily
|
23f865be07
|
Merge branch 'pr/cxyfer/200'
|
2025-07-17 21:30:35 +08:00 |
|
snaily
|
0b837c3f80
|
chore: 更新版本号至 2.1.9
|
2025-07-10 21:33:54 +08:00 |
|
snaily
|
a6cfc12443
|
feat: 更新响应处理逻辑以支持推理内容
- 修改了 response_handler.py 中的 _handle_openai_stream_response 和 _handle_openai_normal_response 方法,增加了对推理内容 (reasoning_content) 的支持。
- 更新了 _extract_result 方法的返回值,确保能够提取推理内容。
- 在 gemini_chat_service.py 和 openai_chat_service.py 中,调整了生成配置以包含思考过程的选项。
- 在 vertex_express_chat_service.py 中,增强了对客户端思考配置的处理逻辑,确保优先使用客户端提供的配置。
|
2025-07-10 21:21:55 +08:00 |
|
snaily
|
f6d64dd850
|
feat: 添加 TTS 语音名称常量并更新 TTS 服务逻辑
- 在 constants.py 中新增 TTS_VOICE_NAMES 列表,包含多个语音名称。
- 更新 tts_service.py 中的语音配置逻辑,确保使用请求中的语音名称(如果有效),否则回退到默认配置。
|
2025-07-10 01:03:20 +08:00 |
|
snaily
|
eed62caa78
|
refactor: 移除 ApiClient 中的 count_tokens 抽象方法
- 从 ApiClient 类中删除了 count_tokens 方法的抽象定义,以简化接口。
|
2025-07-10 00:53:06 +08:00 |
|
snaily
|
b3da021803
|
refactor: 优化配置解析逻辑,增强对泛型类型的支持
- 在 config.py 中引入 get_args 和 get_origin 函数,以更好地处理 List 和 Dict 类型的解析。
- 更新了对 List[str] 和 List[Dict[str, str]] 的解析逻辑,增加了错误处理和日志记录。
- 在 keys_status.js 中将 filterValidKeys 函数替换为 filterAndSearchValidKeys,保留旧函数以避免破坏潜在的遗留调用。
- 在 keys_status.html 中新增选项以支持更多项目选择。
|
2025-07-08 16:35:56 +08:00 |
|
snaily
|
d234f826f4
|
chore: 更新 Vertex API 相关注释和正则表达式为 Vertex Express API,确保一致性和准确性。修改了多个文件中的相关描述和提示信息,以反映 API 名称的变化。
|
2025-07-08 15:27:16 +08:00 |
|
snaily
|
231b69ecf8
|
feat: 添加自定义 Headers 功能
- 在配置中添加 `CUSTOM_HEADERS` 选项,允许用户定义全局请求头。
- 更新 API 客户端,将自定义 `header` 应用于所有出站请求。
- 在配置页面上为 `CUSTOM_HEADERS` 添加了完整的前端编辑功能。
|
2025-07-08 13:58:05 +08:00 |
|
snaily
|
0a08913677
|
Merge pull request #183 from liucong2013/feature/count-tokens-compatibility
|
2025-07-07 17:24:45 +08:00 |
|
snaily
|
49d32813ea
|
chore: 更新 GitHub Actions 工作流以生成发布说明
- 修改了版本标签的引号格式
- 添加了生成发布说明的步骤
- 更新了创建发布的步骤以包含发布说明
- 调整了步骤的顺序和注释
|
2025-07-07 14:45:07 +08:00 |
|
snaily
|
c5d57e97b1
|
chore: 更新版本号至2.1.8
|
2025-07-07 14:21:41 +08:00 |
|
snaily
|
0e8a943d7f
|
chore:更新 README 和 README_ZH 文件,调整徽章的 HTML 结构,使其居中显示。
|
2025-07-05 16:49:57 +08:00 |
|
snaily
|
4f62658440
|
Update README.md
|
2025-07-05 16:39:18 +08:00 |
|
snaily
|
6e7c3d5f6a
|
Update README.md
|
2025-07-05 16:38:35 +08:00 |
|
snaily
|
d5062db9b6
|
Update README_ZH.md
|
2025-07-05 16:27:20 +08:00 |
|
snaily
|
a6ad006a49
|
Update README.md
|
2025-07-05 16:26:59 +08:00 |
|
snaily
|
57d593fa17
|
chore: 更新版本号至2.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 |
|
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 |
|
snaily
|
ef1e38aba1
|
fix: 在智能路由中间件中添加对请求体的JSON解析异常处理,确保在提取模型时的稳定性
|
2025-07-03 00:56:57 +08:00 |
|
snaily
|
60b2d59e25
|
fix:修正Gemini路径模式,移除末尾的斜杠以确保路径匹配的一致性
|
2025-07-03 00:45:11 +08:00 |
|
snaily
|
c3b3d34127
|
Merge branch 'pr/stevessr/160'
|
2025-06-30 23:54:42 +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
|
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 |
|
snaily
|
2d73503b00
|
chore: 更新版本号至2.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 |
|
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 |
|
snaily
|
df9c980ca1
|
Merge pull request #141 from happy-game/main
Fix: 修复使用 docker 运行时环境变量的错误解析
|
2025-06-01 19:13:52 +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 |
|
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 |
|
snaily
|
67f87989db
|
更新版本号至 2.1.4
本次提交将版本号从 2.1.3 更新至 2.1.4,以反映最新的代码更改和功能增强。这是一个常规的版本更新,未涉及其他功能或修复。
|
2025-05-12 00:40:55 +08:00 |
|
snaily
|
17738b39a7
|
更新Telegram交流群链接至README和底部导航
本次提交更新了项目的Telegram交流群链接,具体变更包括:
- **README.md**:
- 修改了Telegram交流群徽章的链接,确保用户能够访问最新的交流群。
- **base.html**:
- 更新了底部导航中的Telegram交流群链接,提升了用户获取支持的便利性。
这些更改旨在确保用户能够顺利访问交流群,增强社区互动。
|
2025-05-12 00:39:00 +08:00 |
|
snaily
|
1e5312f96b
|
feat: 添加Telegram交流群链接至README和底部导航
本次提交在项目的README文件和底部导航中添加了Telegram交流群的链接,旨在为用户提供更便捷的交流渠道。具体变更包括:
- **README.md**:
- 新增Telegram交流群徽章和链接,方便用户访问。
- **base.html**:
- 在底部导航中添加了Telegram交流群的链接,提升了用户获取支持的便利性。
这些更改旨在增强用户社区的互动性,促进用户之间的交流与支持。
|
2025-05-12 00:29:02 +08:00 |
|
snaily
|
90161a1f47
|
feat(ui): 更新密钥状态页面样式和API调用详情
本次提交对密钥状态页面的样式进行了调整,主要变更包括:
- **位置调整**:
- 将某些元素的位置从右上角移动至右下角,以改善布局。
- **API调用详情表格样式**:
- 移除API调用详情模态框表格最后一行单元格的边框。
- 恢复成功/失败状态颜色和图标颜色,确保在API调用详情表格中状态信息的清晰可见。
这些更改旨在提升用户界面的可用性和视觉效果,改善用户体验。
|
2025-05-10 12:27:35 +08:00 |
|
snaily
|
9ea3452b17
|
chore: 更新版本号至 2.1.3
本次提交将版本号从 2.1.2 更新至 2.1.3,以反映最新的代码更改和功能增强。这是一个常规的版本更新,未涉及其他功能或修复。
|
2025-05-09 19:09:13 +08:00 |
|
snaily
|
11e45fca37
|
feat: 增强流式响应处理,支持使用元数据
本次提交对流式响应处理进行了增强,主要变更包括:
- **参数更新**:
- 在 `_handle_openai_stream_response` 方法中新增 `usage_metadata` 参数,以支持传递使用情况的元数据。
- **数据结构调整**:
- 在返回的响应中,若提供了 `usage_metadata`,则将其包含在返回的 JSON 结构中,确保更全面的响应信息。
- **伪流式逻辑更新**:
- 在 `OpenAIChatService` 中的多个方法中,更新了对流式响应的调用,确保在处理响应时也能传递和使用元数据。
这些更改旨在提升流式响应的灵活性和信息丰富性,改善用户体验。
|
2025-05-09 18:57:10 +08:00 |
|
snaily
|
c85fe979e5
|
feat(ui): 更新底部版权信息布局和样式
本次提交对底部版权信息的HTML结构和样式进行了重构,旨在提升用户界面的可读性和视觉效果。主要变更包括:
- **布局调整**:
- 将版权信息分为两行,使用Flexbox布局,使内容更加整齐。
- **样式优化**:
- 更新了链接和图标的样式,增强了悬停效果,提升了用户交互体验。
这些更改旨在改善用户体验,使底部信息更加清晰和美观。
|
2025-05-09 15:17:50 +08:00 |
|