Cita
03bebae17f
fix oauth route unit delete rollback ( #450 )
2026-04-09 11:15:57 +08:00
puyujian
569a15e14c
feat: enhance API key management and fix routing logic
...
* ```
feat(accounts): 支持批量添加API密钥连接
- 添加accessTokens字段到账户创建载荷模式,允许传递多个API密钥
- 实现批量API密钥解析功能,支持换行符、空格和逗号分隔
- 重构账户创建逻辑以支持单个和批量API密钥处理
- 在前端界面中添加批量API密钥输入检测和处理
- 添加批量创建结果返回和错误处理
- 更新验证流程以支持批量模式下的逐条验证
- 添加详细的批量API密钥测试用例
该更改允许用户一次提交多个API密钥,系统将为每个密钥创建独立的连接并参与负载均衡。
```
* ```
fix(tokenRouter): 调整路由匹配优先级以优先匹配显示名称别名
当精确路由和显式组显示名称冲突时,现在优先选择显式组显示名称
而不是精确路由模式。这修正了路由决策逻辑,使显式组路由能够正
确覆盖精确模型匹配。
相关的测试用例已更新以反映新的匹配行为,确保显式组路由在冲
突情况下获得更高优先级。
```
* ```
fix(accounts): 修复API密钥验证错误消息显示逻辑
当凭证模式不为apikey时显示会话令牌提示信息,否则显示API密钥验证失败信息
feat(accounts): 更新API密钥输入界面提示文本
将批量添加说明从输入框占位符移至独立提示文本,
使界面更清晰易懂
```
* ```
feat(workflow): 在CI/CD工作流中使用动态Docker Hub镜像名称
- 在ci.yml和release.yml工作流中添加DOCKERHUB_IMAGE环境变量
- 将硬编码的Docker Hub用户名替换为从secrets.DOCKERHUB_USERNAME动态获取
- 更新docker.metadata-action配置以使用环境变量中的镜像名称
- 添加测试用例验证Docker Hub镜像名称的正确配置
```
* fix(accounts): 修复批量创建回归并下沉创建流程
2026-04-07 14:28:25 +08:00
cita-777
63c435c901
fix update center release tests for 1.3.0
2026-04-06 15:45:58 +08:00
Cita
42f9049aff
[codex] align antigravity special-model non-stream path with CPA ( #444 )
...
* align antigravity special-model non-stream path with cpa
* fix antigravity tail aggregation review feedback
* fix antigravity fallback aggregation review feedback
2026-04-06 15:03:55 +08:00
Cita
2f0e63a1e0
[codex] add oauth route pools and proxy save flow ( #440 )
...
* feat: add oauth route pools and proxy save flow
* fix: align oauth route pool schema and rate limits
* fix: harden oauth route pool review fixes
* fix: address oauth ci regressions
* fix: close oauth codeql alerts
* fix: harden oauth route unit recovery
* fix: split oauth route limiters for codeql
* fix: address remaining oauth review comments
2026-04-06 11:55:20 +08:00
Cita
3edeb6e245
feat: refine OAuth proxy controls and quota UI ( #433 )
...
* feat: refine oauth management proxy controls
* fix: preserve oauth refresh state and tighten oauth rate limiting
* fix: satisfy codeql oauth rate limiting
* fix: address oauth review comments
* fix: move oauth sensitive limits into prehandlers
* fix: cap oauth quota refresh batch size
2026-04-06 08:50:19 +08:00
Cita
287c5aafd6
fix: localize downstream key trend timestamps ( #432 )
...
* fix: localize downstream key trend timestamps
* fix: keep downstream trend metadata on empty responses
* fix: cursor paginate downstream key trend reads
* fix: normalize empty downstream trend timezones
* fix: localize windowed downstream trend buckets
2026-04-06 08:46:40 +08:00
Cita
3e8d69bed6
fix codex compact non-stream accept header ( #439 )
2026-04-06 08:46:27 +08:00
Cita
38721cb890
[codex] support downstream key site and credential exclusions ( #431 )
...
* support downstream key site and credential exclusions
* skip electron binary download in non-desktop ci
* fix migrate partial-journal test for 0020
2026-04-05 23:43:07 +08:00
Cita
6feda0e7ba
[codex] fix downstream client detection boundaries ( #429 )
...
* fix downstream client detection boundaries
* address downstream client detection review comments
2026-04-05 22:38:00 +08:00
Cita
193f3e7181
[codex] fix proxy log usage source metadata ( #428 )
...
* fix proxy log usage source metadata
* fix ci follow-up comment regressions
2026-04-05 21:57:08 +08:00
Cita
d5560fb036
[codex] normalize primary site URL handling ( #424 )
...
* normalize primary site url handling
* fix site create redirect test selector
* fix sub2api gemini model discovery and site detect race
* fix sub2api antigravity fallback and test selectors
* fix site modal wording test
* guard blur detect against manual platform changes
2026-04-05 20:09:34 +08:00
Cita
df75a80bf9
Fix responses compact fallback handling ( #426 )
...
* fix route drag overlay alignment
* fix(web): address route drag review comments
* fix route card review follow-up
* Fix responses compact fallback handling
* Fix compact endpoint candidate typing
* Tighten compact fallback matcher
2026-04-05 19:41:09 +08:00
Cita
ef1962d10b
[codex] rename site API request wording ( #423 )
...
* rename site api request wording
* replace real site example domains
2026-04-05 19:16:08 +08:00
Cita
5b005d8412
fix: tighten generic upstream passthrough headers ( #422 )
...
* fix: tighten generic upstream passthrough headers
* fix: preserve codex passthrough version headers
2026-04-05 18:11:42 +08:00
Cita
afbbc4c79a
fix failed expired api-key recovery route preservation ( #421 )
2026-04-05 17:41:35 +08:00
Cita
af5b62fd8b
[codex] fix codex responses continuation across channel drift ( #404 )
...
* fix codex responses continuation across channel drift
* fix: clear codex responses continuation fallback on scoped reset
* fix: harden codex continuation store keying
2026-04-03 11:00:53 +08:00
Cita
6ad9ec6911
[codex] strip codex responses max_output_tokens ( #399 )
...
* strip codex responses max_output_tokens
* address codex responses review comments
2026-04-02 17:28:38 +08:00
Cita
2be0603e6f
[codex] fix expired connection health recovery ( #393 )
...
* fix expired connection health recovery
* address review comments and test regressions
2026-04-02 17:27:42 +08:00
Cita
082891a217
[codex] fix runtime settings restart hydration ( #392 )
...
* fix runtime settings restart hydration
* fix review followups for settings hydration
* dedupe log cleanup day normalization
2026-04-02 17:27:25 +08:00
Cita
52c6ff5e5c
[daily] route codex websocket through site api endpoints ( #386 )
...
* fix: route codex websocket through site api endpoints
* fix: preserve websocket endpoint exhaustion errors
* test: align proxy route mocks with first-byte timeout helpers
2026-04-02 11:18:30 +08:00
Cita
180d17adfc
feat: add proxy first-byte timeout and log badges ( #383 )
...
* add proxy first-byte timeout and log badges
* fix first-byte timeout review feedback
2026-04-02 10:00:11 +08:00
Cita
bcd758edac
test: harden background task completion waits ( #382 )
2026-04-02 09:49:50 +08:00
Cita
ace5ddd52b
fix edit payload clearing boundaries ( #381 )
2026-04-02 09:49:39 +08:00
Bainily
596d1b93cb
feat(server): add proactive channel probes and load-aware stable routing / 服务端新增主动探活与负载感知稳定路由 ( #330 )
...
* wip: preserve local changes before upstream merge
* Improve proxy routing stability and add stable-first strategy
* Sync explicit-group routing strategy to eligible source routes
* Fix proxy retry and runtime health review issues
* fix: make proxy channel retry attempts configurable
* fix: harden proxy retry recovery and bookkeeping
* fix: address pr 257 review comments
* feat(proxy): add sticky session channel coordination
* feat(server): add proactive channel probes and load-aware stable routing
* test(server): stabilize session load routing selection assertion
* fix(proxy): harden codex forwarding stability
* fix(router): rotate stable-first channels by healthy order
* fix(server): address probe review feedback
* fix(server): address probe review follow-ups
* fix(ci): address CodeQL and core test failures
* feat(server): refine stable-first routing recovery and observation
* Finish PR 330 settings and review fixes
* Fix chat site endpoint CI mock
* Address latest PR 330 review comments
---------
Co-authored-by: Cita <juricek.chen@gmail.com >
2026-04-02 09:49:04 +08:00
Cita
5fffcb6d66
feat: support CIDR admin allowlists ( #377 )
2026-04-01 21:06:13 +08:00
Cita
76c85d0a13
[codex] Split site API endpoint pool from panel host ( #373 )
...
* feat: add site api endpoint schema scaffolding
* feat: wire site api endpoints into backup migration
* feat: add site api endpoint selection service
* feat: add site api endpoint contracts
* feat: route discovery through site api endpoints
* feat: route proxy traffic through site api endpoints
* feat: add site api endpoint pool editor
* fix: keep proxy video tasks on site endpoint pool
* fix: restore core test compatibility for site endpoint pool
* fix: address endpoint pool review findings
2026-04-01 20:58:37 +08:00
Cita
37a86d1380
[codex] background route decision refresh ( #370 )
...
* background route decision refresh
* address route decision refresh review
* fix route decision refresh typing
2026-04-01 18:24:14 +08:00
Cita
21d92e1887
fix: recognize structured oauth accounts in routing ( #369 )
...
* fix: recognize structured oauth accounts in routing
* fix: use structured oauth accounts in account list
2026-04-01 17:15:22 +08:00
Cita
532be86e93
[codex] Add route cooldown controls ( #365 )
...
* Add route cooldown controls
* Address route cooldown review comments
2026-04-01 16:41:25 +08:00
Cita
1e0dffe543
[codex] Fix mysql insert boundary handling ( #364 )
...
* fix mysql insert boundary handling
* fix review comment follow-ups
* fix account insert boundary regressions
2026-04-01 14:33:45 +08:00
Cita
aac1307470
[codex] add vendor code entry presets follow-up ( #363 )
...
* address coding plan review comments
* add more vendor code entry presets
2026-04-01 13:57:24 +08:00
Cita
bafceb855b
[codex] Add model tester fixed-channel selection ( #352 )
...
* feat: add model tester forced channel
* fix: keep codex websocket defaults and route refresh checks
* fix: scope tester-only forced channel overrides
* fix: keep tester hydration and websocket hints internal
* fix: reject gemini on legacy tester chat routes
* fix: harden forced channel selection edges
2026-04-01 12:56:13 +08:00
Cita
8c3be1a613
Add zod payload contracts for admin API routes ( #358 )
...
* Add zod route payload contracts for admin APIs
* Fix review follow-ups for zod admin payloads
* Refactor account payload parser helpers
2026-04-01 12:52:55 +08:00
Cita
0de9c5e3f1
[codex] add coding plan site initialization flow ( #351 )
...
* add coding plan site initialization flow
* fix ci for coding plan site init flow
* address coding plan review comments
2026-03-31 21:55:25 +08:00
Cita
e74e11375c
[codex] add route priority bucket editor ( #350 )
...
* feat: add route priority bucket editor
* fix: address route editor review comments
2026-03-31 21:23:02 +08:00
Cita
baa11d7787
cache update center status snapshots ( #349 )
2026-03-31 20:47:02 +08:00
Cita
6b19d06140
[codex] fix empty stream success handling and unknown usage logs ( #343 )
...
* fix: preserve repeated short responses deltas
* fix empty stream success handling and unknown usage logs
* fix proxy usage metadata typing
* fix stream bookkeeping and explicit zero usage source
* fix sticky fast path and usage placeholder detection
2026-03-31 16:45:13 +08:00
Cita
eb65a2be88
fix: preserve repeated short responses deltas ( #336 )
2026-03-30 22:54:05 +08:00
Cita
9e95819952
fix: decode zstd-compressed SSE proxy surfaces ( #335 )
...
* Fix zstd-compressed SSE decoding in proxy surfaces
* Fix stream/web type bridge for zstd SSE
* Guard zstd stream readers against decoded bodies
* Handle stacked zstd stream encodings
2026-03-30 22:46:31 +08:00
Cita
9eb33df6d4
[codex] add automatic update-center reminders ( #333 )
...
* add automatic update-center reminders
* fix update-center reminder review issues
2026-03-30 22:37:24 +08:00
Cita
26f9717ad7
[codex] add setting to disable cross-protocol fallback ( #332 )
...
* Add toggle to disable cross-protocol fallback
* Tighten runtime settings payload typing
2026-03-30 20:02:51 +08:00
Delicious233
fa25a501a8
feat: 实现全局模型白名单功能 ( #301 )
...
* feat: 实现全局模型白名单功能
## 功能概述
实现全局模型白名单,允许管理员配置只启用特定模型的路由,实现精细化的模型访问控制。
## 主要变更
### 后端实现
- config.ts: 新增 globalAllowedModels 配置项
- settings.ts:
- 新增 RuntimeSettingsBody 类型支持
- 实现数据库加载和持久化
- 配置变更自动触发路由重建
- modelService.ts:
- 在路由重建中添加白名单过滤逻辑
- 大小写不敏感匹配,自动trim空格
- 空白名单时允许所有模型(向后兼容)
- stats.ts:
- 候选API过滤 models/modelsWithoutToken/modelsMissingTokenGroups
### 前端实现
- Settings.tsx:
- 新增"全局模型白名单"配置卡片
- 支持手动输入和点击选择两种添加方式
- 绿色徽章显示已选模型,支持删除
- 保存后自动触发路由重建
## 技术特性
- ✅ 向后兼容(默认为空数组,允许所有模型)
- ✅ 大小写不敏感匹配
- ✅ 自动trim和去重
- ✅ 输入验证(类型检查、空值过滤)
- ✅ 配置变更自动重建路由
## 测试验证
- 白名单为空时所有模型可见
- 白名单有值时只显示白名单模型
- 路由重建正确过滤模型
- 候选API正确返回过滤结果
- 前端UI交互正常
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
* fix: add getModelTokenCandidates mock to Settings tests
* fix: add getModelTokenCandidates mock to proxy-transport test
---------
Co-authored-by: Ding <ding@local>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-30 17:19:02 +08:00
Cita
7d91823f6c
Add site filters for manual connection selection ( #328 )
2026-03-30 16:32:48 +08:00
Cita
26d87db2cb
[codex] tighten update center and proxy debug UX ( #325 )
...
* tighten update center and proxy debug UX
* Address update center review feedback
2026-03-30 13:39:20 +08:00
Cita
d47c3c4a29
Support digest-aware update center rollbacks ( #318 )
2026-03-29 22:16:39 +08:00
Cita
b9ae85e98b
Fix update center helper token lookup ( #317 )
2026-03-29 19:49:13 +08:00
Cita
11583c51b9
[codex] add K3s update center ( #314 )
...
* add k3s update center
* fix update center status timeouts
* Polish update center settings UI
* Document k3s update center
* Refocus update center docs for users
* Clarify k3s migration path in docs
2026-03-29 17:43:49 +08:00
Cita
03ca1154a0
Add OAuth account proxy controls ( #307 )
...
* Add oauth account proxy controls
* Refine oauth proxy review fixes
* Fix oauth clear-proxy exchange fallback
2026-03-29 00:35:45 +08:00
Cita
4d4684a39b
[codex] add proxy debug tracing ( #299 )
...
* add proxy debug tracing
* fix proxy debug response header typing
* extend proxy debug tracing to side paths
* Refine proxy debug trace review fixes
* Stabilize proxy debug attempt indexing
* Tighten proxy debug trace accuracy
2026-03-28 20:05:48 +08:00