IanShaw027
|
8d0767352b
|
fix(ops): 修复ops handler逻辑
|
2026-01-14 14:30:41 +08:00 |
|
IanShaw027
|
918a253851
|
feat(frontend): 完善ops监控面板和组件功能
|
2026-01-14 14:30:18 +08:00 |
|
IanShaw027
|
63711067e6
|
refactor(ops): 完善gateway服务ops集成
|
2026-01-14 14:30:00 +08:00 |
|
IanShaw027
|
7158b38897
|
refactor(ops): 优化ops repository数据访问层
|
2026-01-14 14:29:39 +08:00 |
|
IanShaw027
|
7f317b9093
|
feat(ops): 增强ops核心服务功能和重试机制
|
2026-01-14 14:29:19 +08:00 |
|
IanShaw027
|
7c4309ea24
|
feat(ops): 添加ops handler和路由配置
|
2026-01-14 14:29:01 +08:00 |
|
IanShaw027
|
5013290486
|
feat(frontend): 优化ops监控UI组件
|
2026-01-14 12:41:24 +08:00 |
|
IanShaw027
|
8cf3e9a620
|
feat(frontend): 更新ops API接口和国际化文案
|
2026-01-14 12:41:05 +08:00 |
|
IanShaw027
|
060699c3b8
|
refactor(ops): 更新gateway服务集成ops功能
|
2026-01-14 12:40:49 +08:00 |
|
IanShaw027
|
2ca6c631ac
|
refactor(ops): 重构ops handler和repository层
|
2026-01-14 12:40:34 +08:00 |
|
IanShaw027
|
967e25878f
|
refactor(ops): 重构ops核心服务层代码
|
2026-01-14 12:40:12 +08:00 |
|
IanShaw027
|
182683814b
|
refactor(ops): 移除duration相关告警指标,简化监控配置
主要改动:
- 移除 p95_latency_ms 和 p99_latency_ms 告警指标类型
- 移除配置中的 latency_p99_ms_max 阈值设置
- 简化健康分数计算(移除latency权重,重新归一化SLA和错误率)
- 移除duration相关的诊断规则和阈值检查
- 统一术语:延迟 → 请求时长
- 保留duration数据展示,但不再用于告警判断
- 聚焦TTFT作为主要的响应速度告警指标
影响范围:
- Backend: handler, service, models, tests
- Frontend: API types, i18n, components
|
2026-01-14 10:52:56 +08:00 |
|
IanShaw027
|
33f58d583d
|
fix(ops): 修复告警状态验证和错误处理逻辑
- 增强告警事件状态验证,添加合法状态值检查
- 移除重试逻辑中的遗留字段赋值
- 修正仓库不可用时的错误类型
- 格式化测试文件代码
|
2026-01-14 09:39:18 +08:00 |
|
IanShaw027
|
1e169685f4
|
feat(i18n): 添加ops新功能的国际化文案
- 新增告警静默相关的中英文翻译
- 补充错误分类和重试状态的文案
- 完善ops管理界面的提示信息
|
2026-01-14 09:04:09 +08:00 |
|
IanShaw027
|
f38a3e7585
|
feat(ui): 优化ops监控面板和组件功能
- 增强告警事件卡片的交互和静默功能
- 完善错误详情弹窗的展示和操作
- 优化错误日志表格的筛选和排序
- 新增重试和解决状态的UI支持
|
2026-01-14 09:03:59 +08:00 |
|
IanShaw027
|
b8da5d45ce
|
feat(api): 扩展前端ops API接口
- 新增告警静默相关API调用
- 增强错误日志查询和过滤接口
- 添加重试和解决状态管理接口
|
2026-01-14 09:03:45 +08:00 |
|
IanShaw027
|
659df6e220
|
feat(handler): 新增ops管理接口和路由
- 添加告警静默管理接口
- 扩展错误日志查询和操作接口
- 新增重试和解决状态相关端点
- 完善错误日志记录功能
|
2026-01-14 09:03:35 +08:00 |
|
IanShaw027
|
d601768016
|
feat(service): 增强ops业务逻辑和告警功能
- 实现告警静默功能的业务逻辑
- 优化错误分类和重试机制
- 扩展告警评估和通知功能
- 完善错误解决和重试结果处理
|
2026-01-14 09:03:16 +08:00 |
|
IanShaw027
|
16ddc6a83b
|
feat(repository): 扩展ops数据访问层功能
- 新增告警静默相关数据库操作
- 增强错误日志查询和统计功能
- 优化重试结果和解决状态的存储
|
2026-01-14 09:03:01 +08:00 |
|
IanShaw027
|
340dc9cadb
|
feat(db): 添加ops告警静默和错误分类优化迁移
- 添加ops告警静默功能的数据库结构
- 优化错误分类和重试结果字段标准化
|
2026-01-14 09:02:45 +08:00 |
|
shaw
|
93db889a10
|
fix: Gemini OpenCode 教程 baseURL 改为 v1beta
|
2026-01-13 09:52:37 +08:00 |
|
Wesley Liddick
|
0df7385c4e
|
Merge pull request #226 from xilu0/main
feat(gateway): 优化 Antigravity/Gemini 思考块处理 此提交解决了思考块 (thinking blocks) 在转发过程中的兼容性问题
|
2026-01-13 09:39:43 +08:00 |
|
Wesley Liddick
|
1a3fa6411c
|
Merge pull request #260 from IanShaw027/fix/sync-openai-gpt5-models
fix: 同步 OpenAI GPT-5 模型列表并完善参数处理
|
2026-01-13 09:31:00 +08:00 |
|
Wesley Liddick
|
64614756d1
|
Merge pull request #259 from cyhhao/main
fix: adjust OpenCode OpenAI example store placement
|
2026-01-13 09:30:26 +08:00 |
|
Wesley Liddick
|
bb1fd54d4d
|
Merge pull request #257 from Edric-Li/feat/ops-fullscreen-scrollbar
feat(ops): 添加运维监控全屏模式 & 优化滚动条
|
2026-01-13 09:29:25 +08:00 |
|
ianshaw
|
d85288a6c0
|
Revert "fix(gateway): 修复 base_url 包含 /chat/completions 时路径拼接错误"
This reverts commit 7fdc25df3c.
|
2026-01-12 13:29:04 -08:00 |
|
ianshaw
|
3402acb606
|
feat(gateway): 对所有请求(包括 Codex CLI)应用模型映射
- 移除 Codex CLI 的模型映射跳过逻辑
- 添加详细的模型映射日志,包含账号名称和请求类型
- 确保所有 OpenAI 请求都能正确应用账号配置的模型映射
|
2026-01-12 13:23:05 -08:00 |
|
ianshaw
|
7fdc25df3c
|
fix(gateway): 修复 base_url 包含 /chat/completions 时路径拼接错误
问题:
- 当账号的 base_url 配置为 https://example.com/v1/chat/completions 时
- 代码直接追加 /responses,导致路径变成 /v1/chat/completions/responses
- 上游返回 404 错误
修复:
- 在追加 /responses 前,先移除 base_url 中的 /chat/completions 后缀
- 确保最终路径为 https://example.com/v1/responses
影响范围:
- OpenAI API Key 账号的测试接口
- OpenAI API Key 账号的实际网关请求
Related-to: #231
|
2026-01-12 11:39:45 -08:00 |
|
ianshaw
|
ea699cbdc2
|
docs(frontend): 完善 OpenCode 配置说明
更新 API 密钥页面 OpenCode 配置提示信息:
- 补充支持 opencode.jsonc 后缀名
- 说明可使用默认 provider(openai/anthropic/google)或自定义 provider_id
- 说明 API Key 支持直接配置或通过 /connect 命令配置
- 保留"示例仅供参考,模型与选项可按需调整"的提示
配置文件路径:~/.config/opencode/opencode.json(或 opencode.jsonc)
|
2026-01-12 11:17:47 -08:00 |
|
ianshaw
|
fe6a3f4267
|
fix(gateway): 完善 max_output_tokens 参数处理逻辑
根据不同平台和账号类型处理 max_output_tokens 参数:
- OpenAI OAuth (Responses API): 保留 max_output_tokens(支持)
- OpenAI API Key: 删除 max_output_tokens(不支持)
- Anthropic (Claude): 转换 max_output_tokens 为 max_tokens
- Gemini: 删除 max_output_tokens(由 Gemini 专用转换处理)
- 其他平台: 删除(安全起见)
同时处理 max_completion_tokens 参数,仅在 OpenAI OAuth 时保留。
修复客户端(如 OpenCode)发送不支持参数导致上游返回 400 错误的问题。
Related-to: #231
|
2026-01-12 11:08:28 -08:00 |
|
ianshaw
|
fe8198c8cd
|
fix(frontend): 同步 OpenAI GPT-5 系列模型列表
修复编辑账号页面 GPT-5 模型只显示 3 个的问题:
- 原来只有: gpt-5, gpt-5-mini, gpt-5-nano
- 现在添加完整的 22 个模型,包括:
* GPT-5 系列: gpt-5, gpt-5-codex, gpt-5-chat, gpt-5-pro, gpt-5-mini, gpt-5-nano 及各时间戳版本
* GPT-5.1 系列: gpt-5.1, gpt-5.1-codex, gpt-5.1-codex-max, gpt-5.1-codex-mini 及各版本
* GPT-5.2 系列: gpt-5.2, gpt-5.2-codex, gpt-5.2-pro 及各版本
- 更新快捷预设按钮,新增 GPT-5.1, GPT-5.2, GPT-5.1 Codex 选项
与后端定价文件 (model_prices_and_context_window.json) 保持一致。
Fixes issue introduced in fb86002 (feat: 添加模型白名单选择器组件)
Related-to: fb86002ef9
|
2026-01-12 10:14:50 -08:00 |
|
cyhhao
|
675e61385f
|
Merge branch 'main' of github.com:Wei-Shaw/sub2api
|
2026-01-12 22:36:14 +08:00 |
|
cyhhao
|
67acac1082
|
fix: adjust OpenCode OpenAI example store placement
|
2026-01-12 22:31:43 +08:00 |
|
Edric Li
|
d02e1db018
|
style: 优化滚动条自动隐藏效果
- 默认隐藏滚动条,悬停时显示
- 支持 Webkit (Chrome/Safari/Edge) 和 Firefox
- 滚动条样式与暗色主题适配
|
2026-01-12 22:10:59 +08:00 |
|
Edric Li
|
0da515071b
|
feat(ops): 添加运维监控全屏模式
- 支持通过 URL 参数 ?fullscreen=1 进入全屏模式
- 全屏模式下隐藏非必要 UI 元素(选择器、按钮、提示等)
- 增大健康评分圆环和字体以提升可读性
- 支持 ESC 键退出全屏
- 添加全屏按钮的 i18n 翻译
|
2026-01-12 22:10:59 +08:00 |
|
xiluo
|
524d80ae1c
|
feat(gateway): 优化 Antigravity/Gemini 思考块处理
此提交解决了思考块 (thinking blocks) 在转发过程中的兼容性问题。
主要变更:
1. **思考块优化 (Thinking Blocks)**:
- 在 AntigravityGatewayService 中增加了 sanitizeThinkingBlocks 处理,强制移除思考块中不支持的 cache_control 字段(避免 Anthropic/Vertex AI 报错)
- 实现历史思考块展平 (Flattening):将非最后一条消息中的思考块转换为普通文本块,以绕过上游对历史思考块签名的严格校验
- 增加 cleanCacheControlFromGeminiJSON 作为最后一道防线,确保转换后的 Gemini 请求中不残留非法的 cache_control
2. **GatewayService 缓存控制优化**:
- 更新缓存控制逻辑,跳过 thinking 块(thinking 块不支持 cache_control 字段)
- 增加 removeCacheControlFromThinkingBlocks 函数强制清理
关联 Issue: #225
|
2026-01-12 13:36:59 +00:00 |
|
shaw
|
3b71bc3df1
|
feat: OpenCode 配置提示添加配置文件路径说明
|
2026-01-12 20:49:54 +08:00 |
|
shaw
|
22ef9534e0
|
fix: 修复反向代理下客户端 IP 获取错误
|
2026-01-12 20:44:38 +08:00 |
|
Wesley Liddick
|
c206d12d5c
|
Merge pull request #254 from IanShaw027/feat/ops-count-tokens-filter-and-auto-refresh
feat(ops): count_tokens 错误过滤和自动刷新功能
|
2026-01-12 17:31:54 +08:00 |
|
IanShaw027
|
6ad29a470c
|
style(ops): 移除未使用的 isAutoRefreshActive 变量
|
2026-01-12 17:28:25 +08:00 |
|
IanShaw027
|
2d45e61a9b
|
style(ops): 修复代码格式问题以通过 golangci-lint
|
2026-01-12 17:18:49 +08:00 |
|
IanShaw027
|
b98fb013ae
|
feat(ops): 添加自动刷新配置功能
功能特性:
- 支持配置启用/禁用自动刷新
- 可配置刷新间隔(15秒/30秒/60秒)
- 实时倒计时显示,用户可见下次刷新时间
- 手动刷新自动重置倒计时
- 页面卸载时自动清理定时器
用户体验:
- 默认禁用,用户可根据需求开启
- 与现有 OpsConcurrencyCard 5秒刷新保持一致
- 倒计时带旋转动画,视觉反馈清晰
- 配置修改后立即生效,无需刷新页面
技术实现:
- ops.ts: 添加 auto_refresh_enabled 和 auto_refresh_interval_seconds 配置
- OpsSettingsDialog.vue: 添加自动刷新配置界面
- OpsDashboard.vue: 实现主刷新逻辑和双定时器设计
- OpsDashboardHeader.vue: 倒计时显示组件
配置说明:
- auto_refresh_enabled: 是否启用(默认 false)
- auto_refresh_interval_seconds: 刷新间隔(默认 30 秒,范围 15-300 秒)
|
2026-01-12 17:07:07 +08:00 |
|
IanShaw027
|
345a965fa3
|
feat(ops): 添加 count_tokens 错误过滤功能
功能特性:
- 自动识别并标记 count_tokens 请求的错误
- 支持配置是否在统计中忽略 count_tokens 错误
- 错误数据完整保留,仅在统计时动态过滤
技术实现:
- ops_error_logger.go: 自动标记 count_tokens 请求
- ops_repo.go: INSERT 语句添加 is_count_tokens 字段
- ops_repo_dashboard.go: buildErrorWhere 核心过滤函数
- ops_repo_preagg.go: 预聚合统计中添加过滤
- ops_repo_trends.go: 趋势统计查询添加过滤(2 处)
- ops_settings_models.go: 添加 ignore_count_tokens_errors 配置
- ops_settings.go: 配置验证和默认值设置
- ops_port.go: 错误日志模型添加 IsCountTokens 字段
业务价值:
- count_tokens 是探测性请求,其错误不影响真实业务 SLA
- 用户可根据需求灵活控制是否计入统计
- 提升错误率、告警等运维指标的准确性
影响范围:
- Dashboard 概览统计
- 错误趋势图表
- 告警规则评估
- 预聚合指标(hourly/daily)
- 健康分数计算
|
2026-01-12 17:06:12 +08:00 |
|
IanShaw027
|
c02c120579
|
feat(ops): 添加 count_tokens 错误标记数据库迁移
- 新增 is_count_tokens 布尔字段到 ops_error_logs 表
- 默认值为 false
- 支持后续动态过滤统计
|
2026-01-12 17:06:12 +08:00 |
|
shaw
|
4da681f58a
|
Merge branch 'mt21625457/main'
|
2026-01-12 16:20:55 +08:00 |
|
shaw
|
68ba866c38
|
fix(frontend): 修复账号管理页面分组显示和 Cookie 授权问题
- 新增 AccountGroupsCell 组件优化分组列显示(最多4个+折叠)
- 修复 Cookie 自动授权时 group_ids/notes/expires_at 字段丢失
- 修复 SettingsView 流超时配置前后端字段不一致问题
|
2026-01-12 16:08:44 +08:00 |
|
yangjianbo
|
9622347faa
|
fix(调度): 修复 outbox 空载写入并稳固回放测试
将 outbox payload 为空时写入 NULL
避免事务因 JSON 解析错误中断
调整回放测试为预置缓存后验证 last_used 更新
测试: go test -tags=integration ./internal/repository
|
2026-01-12 15:46:55 +08:00 |
|
shaw
|
8363663ea8
|
fix(gateway): 修复 usage_logs 记录 IP 不正确的问题
在 nginx 反向代理场景下,使用 ip.GetClientIP() 替代 c.ClientIP()
以正确获取客户端真实 IP 地址
|
2026-01-12 15:37:45 +08:00 |
|
Wesley Liddick
|
b588ea194c
|
Merge pull request #251 from IanShaw027/fix/ops-bugs
feat(ops): 运维看板功能增强 - 实时流量监控与指标阈值配置
|
2026-01-12 15:26:26 +08:00 |
|
Wesley Liddick
|
465ba76788
|
Merge pull request #250 from IanShaw027/fix/custom-error-codes-disable-scheduling
fix(gateway): 自定义错误码触发停止调度
|
2026-01-12 15:26:14 +08:00 |
|