Commit Graph

782 Commits

Author SHA1 Message Date
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 b9b553d772 [codex] fix sqlite migration journal recovery (#400)
* fix sqlite migration journal recovery

* address sqlite migration review follow-ups
2026-04-02 17:28:45 +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 19bfed2e33 [codex] refresh integration and settings docs for current UI and provider coverage (#398)
* docs: refresh integration and settings guides

* docs: address review follow-up
2026-04-02 17:28:27 +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 1407f754b1 [codex] add Fedora desktop rpm packaging (#390)
* add Fedora desktop rpm packaging

* harden desktop packaging yaml assertion
2026-04-02 12:53:28 +08:00
Cita ed2783e2dd [codex] fix route detail dropdown clipping (#388)
* fix route detail dropdown clipping

* test: refresh proxy route mocks for ci
2026-04-02 11:19:07 +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
Cita 4ca88d0fe5 [codex] fix responses-to-chat tool stream fidelity (#378)
* fix responses chat tool stream fidelity

* fix responses tool call follow-up review comments
2026-04-02 09:49:23 +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 1133846998 [codex] restore route priority drag behavior (#376)
* fix: restore route priority drag behavior

* fix: use theme rail highlight surface
2026-04-01 21:24:25 +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 ce77bde95a fix: align route priority drag preview (#375) 2026-04-01 19:43:00 +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 6e21f911ea [codex] add route priority left rail (#371)
* feat: add route priority left rail

* fix: drop stale route card test prop
2026-04-01 18:12:42 +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 e2d9481b95 fix anyrouter balance refresh challenge errors (#368) 2026-04-01 16:53:01 +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 3ebe851002 Fix update helper health for ready failed release (#361) 2026-04-01 12:56:42 +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
nodca 6a55effd3b 修复 weighted 路由失败退避时间溢出导致服务崩溃 (#354)
* fix: cap token router cooldown backoff

* docs: explain token router cooldown cap
2026-04-01 12:29:05 +08:00
Cita 4096c757d4 [codex] fix anyrouter checkin session failure classification (#353)
* fix anyrouter checkin session failure classification

* fix auth failure classification review follow-up
2026-04-01 12:28:09 +08:00
Cita 6206c5bd77 fix(web): preserve both site-created next steps (#357) 2026-04-01 09:47:21 +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 d930b87762 [codex] Fix Anyrouter model sync shield handling (#348)
* fix anyrouter model sync shield handling

* fix shield challenge message precedence
2026-03-31 19:32:25 +08:00
Cita 87390651f4 fix: add searchable token account selectors (#347) 2026-03-31 19:13:07 +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 3ce5179fed fix: detect latest digest updates in update center (#344) 2026-03-31 15:02:24 +08:00
rcocco e8921e63ce Fix orphaned responses tool outputs in messages fallback (#342) 2026-03-31 14:56:54 +08:00
Cita 6e04db61dd fix: wire site-created dialog cancel cleanup (#341) 2026-03-31 13:47:36 +08:00
Cita 618ca0b9bf fix: restore armv7 docker base image (#337) 2026-03-30 23:23:55 +08:00
Cita eb65a2be88 fix: preserve repeated short responses deltas (#336) 2026-03-30 22:54:05 +08:00
Cita 5d54e92dc6 docs: add management API guide (#334) 2026-03-30 22:53:33 +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
Cita 6726da987f persist proxy trace panel state (#331) 2026-03-30 19:21:57 +08:00
Cita 9aeec87cfa chore: sweep dependabot updates and align Node 25 (#329)
* chore: sweep dependabot updates

* fix: narrow optional browser Buffer typing

* chore: align repo node pins to v25
2026-03-30 19:14:41 +08:00
Delicious233 9212b765cd feat: 新站点创建后显示选择对话框 (#302)
* 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>

* feat: 站点创建后显示选择对话框

新站点创建后不再根据平台类型自动跳转,而是显示一个选择对话框让用户决定下一步操作:
- 添加账号(用户名密码登录)
- 添加 API Key
- 稍后配置

对于 codex 平台,选择"添加账号"时会跳转到 OAuth 流程,其他平台则跳转到账号管理页面。

这样可以避免用户被强制跳转,提供更灵活的配置选择。

* 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 18:51:23 +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