Commit Graph

134 Commits

Author SHA1 Message Date
cita 9077703503 fix downstream key whitelist select-all persistence 2026-03-20 10:54:02 +08:00
Shinku c5d55f0ab0 增加TG代理选项,增加测试用例 2026-03-20 01:03:21 +08:00
Shinku 54203d64a3 增加TG代理选项 2026-03-20 00:57:40 +08:00
cita 77d6a415d1 fix managed downstream deny-all semantics 2026-03-20 00:39:39 +08:00
cita 5403a946c6 default deny empty downstream key exposure 2026-03-20 00:22:17 +08:00
Hureru 382c6b22d8 Merge remote-tracking branch 'origin/main' into feat/account-level-proxy
# Conflicts:
#	src/server/routes/proxy/chat.ts
#	src/server/routes/proxy/responses.ts
2026-03-19 23:18:41 +08:00
Cita 36e9a85664 fix backup import preview and refresh race (#167) 2026-03-19 17:14:07 +08:00
Cita 24483c28eb Refactor proxy-core surfaces and transformer boundaries (#163)
* refactor: add canonical request contracts

* test: harden transformer boundary contracts

* refactor: adapt protocol transformers to canonical contract

* refactor: add cli profile registry

* refactor: extract provider profiles

* refactor: add conductor and provider executors

* refactor: add models surface

* refactor: migrate responses surface

* refactor: migrate chat surface

* refactor: migrate gemini surface

* refactor: migrate file surfaces

* test: align runtime executor undici mock

* fix: preserve compact SSE closeout payloads

* feat: support all-api-hub v2 backup imports

* fix: aggregate codex oauth SSE final payloads

* fix: harden responses SSE failure handling
2026-03-19 16:07:56 +08:00
Hureru 028a767639 fix(proxy): apply account proxy to balance refresh and income fallback calls 2026-03-19 01:45:15 +08:00
Hureru 471879abbf fix(proxy): apply account proxy to OAuth model discovery calls 2026-03-19 01:43:22 +08:00
Hureru bece34ae5b fix(proxy): skip dispatcher cache for account-level proxy URLs 2026-03-19 01:39:35 +08:00
Hureru f064921757 Merge remote-tracking branch 'origin/main' into feat/account-level-proxy
# Conflicts:
#	src/server/routes/proxy/completions.ts
#	src/server/services/siteProxy.ts
2026-03-19 00:00:10 +08:00
Hureru 803ba84cfd Merge branch 'main' into feat/account-level-proxy
# Conflicts:
#	src/server/routes/api/accountTokens.ts
#	src/server/routes/proxy/chat.ts
#	src/server/routes/proxy/completions.ts
#	src/server/routes/proxy/embeddings.ts
#	src/server/routes/proxy/endpointFlow.ts
#	src/server/routes/proxy/images.ts
#	src/server/routes/proxy/responses.ts
#	src/server/services/accountExtraConfig.test.ts
#	src/server/services/modelService.ts
2026-03-18 23:42:21 +08:00
Brucents 2a51ef6e4a fix: 支持 SOCKS5 系统代理并修复脱敏令牌重复同步 (#154)
* fix: 支持 SOCKS5 系统代理并修复脱敏令牌重复同步

* fix: 避免复用完全模糊的脱敏令牌

* fix: 修复 reviewer 反馈的令牌同步与 SOCKS5 问题

* fix: avoid masked token sync collisions

---------

Co-authored-by: Brucents <mail@urlk.cn>
Co-authored-by: cita <juricek.chen@gmail.com>
2026-03-18 22:41:39 +08:00
cita c989a029ab fix: recover sqlite migration gaps and harden route regex 2026-03-18 21:45:07 +08:00
cita f769f43909 fix route grouping and codex websocket regressions 2026-03-18 20:38:01 +08:00
cita 38e46e165b fix connection and release regressions 2026-03-18 18:00:59 +08:00
ciat-777 5372668c44 fix: minimize codex upstream headers and clean quota wording 2026-03-18 14:58:01 +08:00
ciat-777 f902fe1cf6 feat: surface oauth quota details 2026-03-18 12:42:31 +08:00
ciat-777 cd37b11722 feat: extend proxy runtime parity 2026-03-18 12:01:50 +08:00
ciat-777 0516c09c32 fix: align antigravity model discovery request headers 2026-03-18 00:31:32 +08:00
ciat-777 c12da45dfd fix: improve oauth onboarding reliability 2026-03-18 00:03:55 +08:00
ciat-777 f565d1b54d fix: improve oauth error and model discovery fallbacks 2026-03-17 23:13:11 +08:00
ciat-777 2e34f9033d feat: expand gemini proxy compatibility matrix 2026-03-17 21:22:23 +08:00
ciat-777 965ded8960 fix: preserve codex workspaces and clarify oauth guidance 2026-03-17 19:03:36 +08:00
ciat-777 ebae2846b2 feat: align oauth loopback flow with cliproxyapi 2026-03-17 17:56:30 +08:00
ciat-777 d8e44eb805 feat: add multi-provider OAuth support for Claude and Gemini CLI 2026-03-17 13:36:44 +08:00
ciat-777 575a15232b feat: implement Codex OAuth flow with loopback callback server and management UI
- Add localCallbackServer for handling OAuth callback requests.
- Implement service functions for managing OAuth sessions and accounts.
- Create CodexAdapter for platform-specific interactions.
- Develop OAuthManagement page for managing OAuth connections and providers.
- Add tests for localCallbackServer and OAuthManagement components.
2026-03-17 11:07:25 +08:00
cita 0a06f15e13 feat: add masked token placeholders and desktop icons 2026-03-16 21:36:23 +08:00
ciat-777 b0e16fd3ea Fix model refresh dedupe and desktop packaging 2026-03-16 15:49:15 +08:00
Hureru f36e867e1d test(proxy): add tests for account-level proxy resolution
Cover getProxyUrlFromExtraConfig, resolveChannelProxyUrl,
withSiteRecordProxyRequestInit third parameter, and
withAccountProxyOverride ALS context propagation.
2026-03-16 01:07:14 +08:00
Hureru ffc2ad039c feat(proxy): wrap platform adapter calls with account proxy override
Use withAccountProxyOverride to propagate account-level proxy URL
through AsyncLocalStorage for checkin, balance refresh, model
discovery, token sync, rebind-session verify, and token CRUD
operations. Also accept proxyUrl field in PUT /api/accounts/:id
with validation via parseSiteProxyUrlInput.
2026-03-16 01:06:40 +08:00
Hureru 5687e87308 feat(proxy): add account-level proxy resolution core
Add getProxyUrlFromExtraConfig to extract proxy URL from account
extraConfig JSON. Extend siteProxy with AsyncLocalStorage-based
withAccountProxyOverride, resolveChannelProxyUrl, and optional
accountProxyUrl parameter on withSiteRecordProxyRequestInit.

Priority chain: account proxyUrl > site useSystemProxy > direct.
2026-03-16 01:03:32 +08:00
ciat-777 b15da138d1 feat: enhance MySQL upgrade generation with index prefix length control
- Added support for specifying prefix lengths for live text-backed columns in MySQL upgrade SQL generation.
- Introduced `mysqlIndexPrefixRequirements` option to `generateUpgradeSql` function.
- Updated tests to validate the new functionality for MySQL upgrade generation.
- Removed legacy shared index compatibility specifications to avoid duplication with runtime schema bootstrap.
- Improved error handling and response structure in account token coverage refresh logic.
- Added tests for coverage refresh failure scenarios to ensure proper handling of token persistence.

# Conflicts:
#	src/server/db/sharedIndexSchemaCompatibility.test.ts
#	src/server/db/sharedIndexSchemaCompatibility.ts
#	src/server/index.ts
2026-03-15 23:13:37 +08:00
ciat-777 4b42751953 fix: address gemini native and route coverage regressions 2026-03-15 23:08:49 +08:00
Delicious a64a51aa0c feat: 下游 API 密钥管理 (#103)
* feat: downstream API key usage + proxy log attribution

* chore(schema): regenerate generated artifacts

* test: keep migration replay + platform detection tests stable

* feat: complete downstream api key management validation

* refactor: move downstream keys into console nav

* feat: upgrade downstream keys management console

* feat: harden downstream key management flows

* test: cover downstream key policy guards

* feat: add downstream key grouping and tags

* feat: polish downstream key search and log metadata

* test: fix sqlite migration bootstrap coverage

* perf: isolate vchart bundle loading

* fix: align downstream key drawer metrics

---------

Co-authored-by: DeliciousBuding <DeliciousBuding@users.noreply.github.com>
2026-03-15 22:00:02 +08:00
ciat-777 b8735ad8c7 fix(db): enforce runtime external schema upgrades 2026-03-15 18:45:30 +08:00
ciat-777 b834a9bef8 feat: add site_disabled_models and proxy tasks to database schema
- Implemented site_disabled_models table with necessary SQL commands for SQLite, MySQL, and PostgreSQL.
- Updated ensureSiteSchemaCompatibility to create site_disabled_models if it doesn't exist.
- Enhanced database migration service to include site_disabled_models, proxy_video_tasks, and proxy_files in migration statements.
- Created shared index compatibility for new tables and ensured existing indexes are maintained.
- Added tests for schema parity to ensure consistency between runtime schema and defined schema.
2026-03-14 21:16:43 +08:00
Cita b3d678f738 Merge pull request #68 from grassroadsZ/feature/site-model-disable
feat: 将模型禁用功能从站点移至连接管理
2026-03-14 17:26:57 +08:00
ciat-777 7bd48a3c6f fix: improve tester timeouts and telegram proxy config 2026-03-14 16:18:43 +08:00
ciat-777 1a1f0452b3 feat: add delete confirmation modal and enhance token handling
- Implemented a DeleteConfirmModal component for confirming deletions across various pages (Accounts, Sites, Tokens).
- Updated Accounts and Sites pages to utilize the new modal for single and batch deletions.
- Enhanced TokensPanel to support group selection and improved token deletion handling with confirmation.
- Added functionality to skip confirmation for batch actions and handle token group fetching with error management.
- Improved error handling for expired sessions in NewApiAdapter and OneApiAdapter.
- Added tests for new delete confirmation behavior and token editing interactions.
2026-03-14 13:31:15 +08:00
silent 0d44d3ba10 feat: 将模型禁用功能从站点管理移至连接管理
- 在连接管理页面为每个账号添加独立的模型管理弹窗
- 弹窗内支持查看可用模型,进行「刷新模型」「全选」「全部禁用」「反选」等快捷操作
- 保存模型禁用配置后,系统会自动在后台触发并重建路由(rebuildRoutes),确保配置立即生效
- 从原站点编辑界面移除过时的禁用功能板块
- 修复因执行自动同步逻辑导致的 SQLite Drizzle Migration `duplicate column token_group` 报错,更新 bootstrap markers 及测试用例
2026-03-14 12:07:27 +08:00
bnvnvnv b6da71b1d6 feat: add site headers editor and scheduled log cleanup 2026-03-12 08:12:29 +00:00
bnvnvnv 5a7531f635 feat: add round robin routing and improve token binding UX 2026-03-12 05:18:36 +00:00
cita 921c551a3a feat: Implement default API site seeding, add a dialect-aware setting upsert utility, and introduce check-in API routes with background task processing. 2026-03-11 14:31:23 +08:00
cita 01bf2212f8 fix: reset health on model discovery success 2026-03-10 16:27:10 +08:00
cita d5cd8292eb test: cover model refresh early returns 2026-03-10 16:12:38 +08:00
cita e1b4452c82 feat: classify model refresh failures and update health 2026-03-10 16:02:45 +08:00
cita 3acba86edf test: expand model refresh failure contract 2026-03-10 15:55:33 +08:00
cita 21cb2ddc62 test: cover model refresh failure health 2026-03-10 15:37:51 +08:00