0-don
|
8ff40f52e0
|
fix: remove unsupported parameters from Codex model requests
|
2026-02-17 00:06:32 +01:00 |
|
yangjianbo
|
6577f2ef03
|
fix(gateway): 避免SSE delta将缓存创建明细重置为0
- 仅在 delta 中 5m/1h 值大于0时覆盖 usage 明细
- 新增回归测试覆盖 delta 默认 0 不应覆盖 message_start 非零值
- 迁移 054 在删除 legacy 字段前追加一次回填,避免升级实例丢失历史写入
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-16 13:23:12 +08:00 |
|
yangjianbo
|
41d0383fb7
|
merge(test): 合并 main 并解决前端筛选器冲突
|
2026-02-15 22:04:06 +08:00 |
|
程序猿MT
|
1cf51b14f7
|
Merge branch 'Wei-Shaw:main' into main
|
2026-02-15 20:49:14 +08:00 |
|
yangjianbo
|
372e04f69a
|
fix(docker): 默认从cmd/server/VERSION读取版本号
|
2026-02-14 23:28:33 +08:00 |
|
yangjianbo
|
e2107ce45e
|
fix(build): Docker 构建注入版本号并同步 aicodex 镜像脚本
|
2026-02-14 21:16:21 +08:00 |
|
shaw
|
a817cafe3d
|
feat: 区分 Anthropic 5m/1h 缓存创建 token 的差异化计费
Anthropic API 的 cache_creation 对象区分了 ephemeral_5m 和 ephemeral_1h
两种缓存创建 token,1h 单价远高于 5m(如 claude-3-5-haiku: 5m=$1/MTok,
1h=$6/MTok)。此前系统统一按 5m 单价计费,导致计费偏低。
后端:
- pricing_service: 加载 LiteLLM 的 cache_creation_input_token_cost_above_1hr
- billing_service: GetModelPricing 启用分类计费(安全守卫 1h>5m),
CalculateCost 按 5m/1h 分别计费,无明细时回退到 5m 单价
- gateway_service: parseSSEUsage/handleNonStreamingResponse 用 gjson
提取嵌套 cache_creation 对象的 ephemeral_5m/1h_input_tokens
- antigravity_gateway_service: extractSSEUsage/extractClaudeUsage 同步提取
- usage_log: 修复 GORM column tag 确保写入正确的数据库列
- 新增迁移 054: 删除 GORM 自动生成的重复列
前端:
- 使用记录 tooltip 展示 5m/1h 缓存创建明细(带彩色 badge 区分)
- 表格单元格缓存写入数值旁显示 1h 标识
|
2026-02-14 18:15:35 +08:00 |
|
Kortan
|
ab14df043a
|
fix: accept openai x-stainless-* header to fix CORS error
|
2026-02-14 16:52:07 +08:00 |
|
yangjianbo
|
5feff6b1e5
|
feat: 0.1.74.9
|
2026-02-14 13:23:26 +08:00 |
|
yangjianbo
|
06b0f62e79
|
feat(accounts): 自动刷新改为ETag增量同步并优化单账号更新体验
- 前端自动刷新改为 ETag/304 增量合并,减少全量重刷
- 单账号更新后增加静默窗口,避免刚更新即被自动刷新覆盖
- 列表筛选移除时改为待同步提示,不再立即触发全量补页
- 后端账号列表支持 If-None-Match,命中返回 304
- 单账号接口统一补充运行时容量字段并暴露 ETag 头
|
2026-02-14 13:22:51 +08:00 |
|
yangjianbo
|
40d110efe4
|
chore(logging): 删除过时的日志审计文档
|
2026-02-14 12:36:42 +08:00 |
|
yangjianbo
|
f23318fbcf
|
fix(frontend): 同步账号本地移除后的分页状态
|
2026-02-14 12:35:35 +08:00 |
|
yangjianbo
|
cbab49d65f
|
feat: 0.1.74.8
|
2026-02-14 12:10:20 +08:00 |
|
yangjianbo
|
b5a3b3db66
|
Merge branch 'test' into release
|
2026-02-14 12:07:19 +08:00 |
|
yangjianbo
|
9cafa46dd3
|
fix(accounts): 账号管理改为单行增量更新并避免全量刷新
- 将编辑与重新授权成功事件改为回传更新后的账号对象
- 在账号列表页按 id 就地补丁更新单行数据并保留运行时容量字段
- 单账号操作(刷新凭证/清错/清限流/临时不可调度重置)改为单行更新
- 后端增强 clear-rate-limit 接口,返回更新后的账号对象
- 同步前端 clearRateLimit API 类型定义
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-14 12:06:17 +08:00 |
|
yangjianbo
|
f6bff97d26
|
fix(frontend): 修复前端审计问题并补充回归测试
|
2026-02-14 11:56:08 +08:00 |
|
yangjianbo
|
d04b47b3ca
|
feat(backend): 提交后端审计修复与配套测试改动
|
2026-02-14 11:23:10 +08:00 |
|
yangjianbo
|
862199143e
|
fix(ops): 修复错误日志查询 q 过滤列名二义性
|
2026-02-14 11:21:30 +08:00 |
|
yangjianbo
|
57e8abcb63
|
fix(openai): 自动透传预检 instructions 并本地 403 拦截
|
2026-02-14 10:49:01 +08:00 |
|
yangjianbo
|
ed31c54961
|
fix(openai): 拒绝日志记录原始 User-Agent 便于攻击研判
|
2026-02-14 09:59:19 +08:00 |
|
yangjianbo
|
4bfa69bffa
|
fix(openai): 仅记录 codex_cli_only 拒绝日志并输出详细 User-Agent
|
2026-02-14 09:53:17 +08:00 |
|
Wesley Liddick
|
2857fa2ef7
|
Merge pull request #577 from qwIvan/patch-1
docker-compose.yml add PGDATA env
|
2026-02-14 00:24:23 +08:00 |
|
shaw
|
e681431454
|
fix: Anthropic 429 限流使用精确的窗口重置时间而非聚合最大值
当账号仅触发 5h 窗口限流时,旧逻辑从聚合头
anthropic-ratelimit-unified-reset 读取重置时间,该值为所有窗口的
最大值(即 7d 重置时间),导致账号被标记为不可调度约 6 天。
新增 calculateAnthropic429ResetTime 函数,解析 Anthropic 的
per-window 头(5h-utilization/reset、7d-utilization/reset、
surpassed-threshold),判断实际触发的窗口并使用对应的重置时间:
- 仅 5h 超标 → 使用 5h-reset(约 5 小时)
- 仅 7d 超标 → 使用 7d-reset
- 两者均超标 → 使用 7d-reset(较长冷却)
- per-window 头不存在 → 回退到聚合头(向后兼容)
|
2026-02-14 00:21:56 +08:00 |
|
yang chanfa
|
5b568aa9d4
|
docker-compose.yml add PGDATA env
`docker-compose.yml` also have to define the `PGDATA` env
|
2026-02-13 23:47:52 +08:00 |
|
Wesley Liddick
|
471943269c
|
Merge pull request #573 from wucm667/fix/stat-card-value-overflow
修复:StatCard 数值溢出问题
|
2026-02-13 20:29:12 +08:00 |
|
Wesley Liddick
|
28a5e2f0e6
|
Merge pull request #570 from wucm667/fix/sidebar-logo-load-flicker
fix: 修复侧边栏 Logo 加载时的闪烁问题
|
2026-02-13 20:29:01 +08:00 |
|
Wesley Liddick
|
b4c22ce6ce
|
Merge pull request #561 from james-6-23/main
feat(admin): Add group filtering for account listings
|
2026-02-13 20:23:56 +08:00 |
|
shaw
|
5248097f90
|
fix: 修复 gosec 配置文件格式错误导致 CI 失败
gosec -conf 只支持 JSON 格式,将 .gosec.yaml 转换为 .gosec.json
|
2026-02-13 20:12:50 +08:00 |
|
Wesley Liddick
|
8e2c22d0bd
|
Merge pull request #571 from wucm667/chore/configure-gosec-exclusions
chore: 配置 gosec 排除规则
|
2026-02-13 20:05:02 +08:00 |
|
yangjianbo
|
888f2936ad
|
feat: version 0.1.74.7
|
2026-02-13 19:28:12 +08:00 |
|
yangjianbo
|
4e894bac1f
|
Merge branch 'test' into release
|
2026-02-13 19:27:35 +08:00 |
|
yangjianbo
|
f96acf6e27
|
fix(ops): 修复日志级别过滤并增强OpenAI错误诊断日志
- 移除 warn 级别下 access info 的强制入库补写,确保运行时日志级别真实生效
- 将 OpenAI fallback matched 与 passthrough 断流提示按需求降级为 info
- 为 codex_cli_only 与 instructions required 场景补充请求诊断字段(含 User-Agent)
- 出于安全考虑移除请求体预览,仅保留 request_body_size 与白名单头信息
- 新增/更新回归测试,覆盖 Forward 入口到日志落库链路
|
2026-02-13 19:27:07 +08:00 |
|
wucm667
|
be56a282f2
|
修复:StatCard 数值溢出问题
- 添加 title 属性,鼠标悬停时显示完整数值
- 添加 truncate 类防止数值溢出
- 优化长数值的显示效果
|
2026-02-13 15:59:30 +08:00 |
|
yangjianbo
|
2459eafb71
|
feat: 完善日志
|
2026-02-13 13:35:47 +08:00 |
|
yangjianbo
|
ed681d0830
|
feat: 整理
|
2026-02-13 12:49:08 +08:00 |
|
wucm667
|
5f4eb9f9d0
|
chore: 配置 gosec 排除规则
- 新增 backend/.gosec.yaml 配置文件,排除 G704 (SSRF) 检查
- 更新 security-scan.yml workflow,使用 gosec 配置文件
- 原因:作为 API 网关平台,需要代理请求到配置的上游服务,所有上游 URL 来自管理员配置而非用户输入
|
2026-02-13 10:48:33 +08:00 |
|
wucm667
|
d1cd5c0a73
|
Update frontend/src/components/layout/AppSidebar.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
2026-02-13 10:29:26 +08:00 |
|
wucm667
|
5429c74c10
|
fix: 修复侧边栏 Logo 加载时的闪烁问题
- 添加 settingsLoaded 条件判断,确保公共设置加载完成后再显示 Logo
- 避免在设置未加载时显示默认 Logo 造成的闪烁效果
|
2026-02-13 10:21:17 +08:00 |
|
yangjianbo
|
3734abed4c
|
feat(openai): 支持 gpt-5.3-codex-spark 并统一 gpt-5.3 到 codex 计费
|
2026-02-13 09:28:07 +08:00 |
|
yangjianbo
|
abf5de69fb
|
Merge branch 'main' into test
|
2026-02-12 23:43:47 +08:00 |
|
yangjianbo
|
7582dc53d2
|
fix(openai): 修复关闭 codex_cli_only 无法持久化问题
在编辑 OpenAI OAuth 账号时,若 codex_cli_only 从开启切换为关闭,
现改为显式写入 false,避免 extra 为空时后端忽略更新导致旧值残留。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-12 23:15:41 +08:00 |
|
程序猿MT
|
174d7c774d
|
Merge branch 'Wei-Shaw:main' into main
|
2026-02-12 23:12:41 +08:00 |
|
yangjianbo
|
a9518cc5be
|
feat(openai): 增加 OAuth 账号 Codex 官方客户端限制开关
新增 codex_cli_only 开关并默认关闭,关闭时完全绕过限制逻辑。
在 OpenAI 网关引入统一检测入口,集中判定账号类型、开关与客户端族。
开启后仅放行 codex_cli_rs、codex_vscode、codex_app 客户端家族。
补充后端判定与网关分支测试,并在前端创建/编辑页增加开关配置与回显。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-12 22:32:59 +08:00 |
|
yangjianbo
|
2f190d812a
|
fix(openai): 透传OAuth强制store/stream并修复Codex识别
|
2026-02-12 21:02:52 +08:00 |
|
yangjianbo
|
d411cf4472
|
fix(openai): 收敛自动透传请求头并增强 OAuth 安全兜底
|
2026-02-12 20:12:15 +08:00 |
|
yangjianbo
|
1ae49b9ead
|
feat: version 0.1.74.5
|
2026-02-12 19:32:13 +08:00 |
|
yangjianbo
|
0bf162f64a
|
Merge branch 'dev' into release
|
2026-02-12 19:23:54 +08:00 |
|
yangjianbo
|
6423636177
|
Merge branch 'test' into dev
|
2026-02-12 19:23:35 +08:00 |
|
yangjianbo
|
b6aaee01ce
|
fix(logging): 修复 warn 级别下系统日志空白问题
- 新增 logger.WriteSinkEvent,支持旁路写入 sink,不受全局级别门控影响\n- 在 http.access 中间件中,当 info 被门控时补写 sink,保障 Ops 系统日志可索引\n- 增加 level=warn 场景回归测试,验证访问日志仍可入库
|
2026-02-12 19:19:11 +08:00 |
|
yangjianbo
|
3511376c2c
|
chore(logging): 默认使用 console 普通日志输出
- 将配置默认 log.format 从 json 调整为 console\n- 将 logger 初始化兜底默认格式调整为 console\n- 同步更新 deploy 配置示例
|
2026-02-12 19:07:16 +08:00 |
|