1
0
forked from boos/BoosAPI
Commit Graph

518 Commits

Author SHA1 Message Date
Cita c0c993f448 fix: align explicit group route picker and details (#158)
* fix: align explicit group route picker and details

* fix: move responses stream closeout into transformer facade
2026-03-19 00:47:22 +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
xuyufengfei 45fe687c0d 增加了空回为失败和自定义失败关键词的功能,修复了机器人提出的问题 (#153)
* Add proxy failure rules for keywords and empty responses

* fix(proxy): detect failure keywords for streamed chat responses

* Fix(tester): treat empty stream output as error

* feat(server): default listen host to IPv6 any-address

* fix(proxy): treat empty upstream content as failure

* Revert "feat(server): default listen host to IPv6 any-address"

This reverts commit 2ca49a3891cc3a2e37138156b17b660b6a3cb7ea.

* fix(settings): validate proxy failure settings

* fix: address CodeRabbit feedback in proxy failure detection

* test: force NODE_ENV=test for vitest to avoid React act() prod build

* fix(proxy/chat): preserve true SSE streaming (no upstream.text buffering)

* fix: avoid http fallback after hijacked SSE stream

* fix: wire proxy failure detection into chat and responses

---------

Co-authored-by: metapi-bot <metapi-bot@local>
Co-authored-by: openclaw <bot@local>
Co-authored-by: openclaw <openclaw@local>
Co-authored-by: openclaw-executor <executor@openclaw.local>
Co-authored-by: xuyufengfei <xuyufengfei@users.noreply.github.com>
Co-authored-by: cita <juricek.chen@gmail.com>
2026-03-18 22:43:13 +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 a71ffb3641 Merge pull request #155 from cita-777/codex/fix-connection-and-release-regressions
[codex] fix route grouping and codex websocket regressions
2026-03-18 21:49:30 +08:00
cita c989a029ab fix: recover sqlite migration gaps and harden route regex 2026-03-18 21:45:07 +08:00
cita efe60d7cc2 refactor: streamline explicit group editor flow 2026-03-18 21:21:38 +08:00
cita f769f43909 fix route grouping and codex websocket regressions 2026-03-18 20:38:01 +08:00
Cita f7881796d4 Merge pull request #151 from cita-777/codex/fix-connection-and-release-regressions
[codex] fix connection and release regressions
2026-03-18 18:43:51 +08:00
cita 332007d4fb fix responses stream failure logging 2026-03-18 18:17:06 +08:00
cita 38e46e165b fix connection and release regressions 2026-03-18 18:00:59 +08:00
Cita d928e067c1 Merge pull request #150 from cita-777/fix/codex-responses-runtime-parity
fix: harden codex runtime header forwarding
2026-03-18 15:17:43 +08:00
ciat-777 5372668c44 fix: minimize codex upstream headers and clean quota wording 2026-03-18 14:58:01 +08:00
Cita 428af17250 Merge pull request #149 from cita-777/fix/codex-responses-runtime-parity
fix: align codex responses continuity handling
2026-03-18 13:28:28 +08:00
ciat-777 90f0c30861 fix: align codex responses continuity handling 2026-03-18 13:25:42 +08:00
Cita 131fef6373 Merge pull request #147 from cita-777/feat/proxy-runtime-parity
feat: extend proxy runtime parity
2026-03-18 12:48:44 +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
Cita 20ef75e76d Merge pull request #146 from cita-777/fix/oauth-onboarding-reliability
fix: improve oauth onboarding reliability
2026-03-18 00:39:01 +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
Cita e223f24d1a Merge pull request #144 from cita-777/fix/oauth-onboarding-cliproxyapi
fix: align oauth onboarding with cliproxyapi
2026-03-18 00:02:10 +08:00
ciat-777 d4987bea84 fix: align oauth onboarding with cliproxyapi 2026-03-17 23:47:56 +08:00
Cita cca2b95e8c Merge pull request #143 from cita-777/Oauth-Management
fix: improve oauth fallback handling for Gemini and Antigravity
2026-03-17 23:16:21 +08:00
ciat-777 f565d1b54d fix: improve oauth error and model discovery fallbacks 2026-03-17 23:13:11 +08:00
Cita 2f2c93477d Merge pull request #141 from cita-777/Oauth-Management
feat: expand gemini proxy compatibility matrix
2026-03-17 21:30:41 +08:00
ciat-777 2e34f9033d feat: expand gemini proxy compatibility matrix 2026-03-17 21:22:23 +08:00
ciat-777 07351b527f feat: enhance OAuthManagement with improved provider handling and user feedback 2026-03-17 20:17:04 +08:00
Cita eb0c5475ca Merge pull request #140 from cita-777/feat/oauth-loopback-bridge
fix: preserve codex workspaces and clarify oauth guidance
2026-03-17 19:11:36 +08:00
Cita 4b155cbf33 Merge pull request #137 from weijiafu14/fix/gemini-strip-unknown-request-fields
fix: use allowlist for Gemini native request fields to prevent 400 on unknown fields
2026-03-17 19:09:11 +08:00
ciat-777 965ded8960 fix: preserve codex workspaces and clarify oauth guidance 2026-03-17 19:03:36 +08:00
Cita ddfa115eeb Merge pull request #135 from weijiafu14/fix/gemini-thought-signature-tool-calls
fix: inject thoughtSignature into functionCall parts for OpenAI→Gemini conversion
2026-03-17 18:37:12 +08:00
Cita 49f2adf470 Merge pull request #139 from cita-777/feat/oauth-loopback-bridge
feat: align oauth loopback flow with cliproxyapi
2026-03-17 18:02:31 +08:00
ciat-777 ebae2846b2 feat: align oauth loopback flow with cliproxyapi 2026-03-17 17:56:30 +08:00
Cita 5ee69a1ec5 Merge pull request #138 from cita-777/fix/sqlite-sites-unique-migration
fix: recover site unique index bootstrap
2026-03-17 17:47:31 +08:00
ciat-777 1021e6f234 fix: recover site unique index bootstrap 2026-03-17 17:42:18 +08:00
ciat-777 35f5bd3464 chore: align oauth defaults with cliproxyapi 2026-03-17 17:09:38 +08:00
weijiafu14 1bf2e46dd8 fix: use allowlist for Gemini native request fields to prevent 400
Fixes #130

The inbound normalizer forwarded all unknown top-level fields to Gemini
API. Client-specific fields like requestId caused upstream 400 errors.

Changed from blocklist (only 3 entries) to allowlist of known Gemini API
fields: contents, systemInstruction, cachedContent, safetySettings,
generationConfig, tools, toolConfig, labels, model.
2026-03-17 16:24:30 +08:00
weijiafu14 d20417d708 test: add 5 tests for thoughtSignature injection in OpenAI→Gemini path 2026-03-17 16:14:09 +08:00
weijiafu14 8bfdbda251 fix: inject thoughtSignature into functionCall parts for OpenAI→Gemini conversion
When requests arrive via OpenAI-compatible endpoints and are converted to
Gemini format, functionCall parts were missing thoughtSignature. Gemini 3+
rejects such requests with 400 when thinking mode is enabled.

Changes:
- Extract thoughtSignature from tool_calls provider_specific_fields
- Inject into corresponding functionCall parts
- Fall back to dummy sentinel when thinking is enabled but no signature available
- Split signed/unsigned parts into separate model messages (Gemini requirement)

All existing tests pass (59/59).
2026-03-17 16:08:08 +08:00
Cita 4c90028559 Merge pull request #133 from cita-777/feat/oauth-multi-provider
feat: add multi-provider OAuth support for Claude and Gemini CLI
2026-03-17 13:40:38 +08:00
ciat-777 d8e44eb805 feat: add multi-provider OAuth support for Claude and Gemini CLI 2026-03-17 13:36:44 +08:00
Cita 4e3dc92083 Merge pull request #129 from cita-777/feature/oauth-codex-management
feat: implement Codex OAuth flow with loopback callback server and ma…
2026-03-17 12:01:53 +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 c156e0c164 Merge pull request #126 from cita-777/codex/masked-placeholder-tokens
feat: add masked token placeholders and desktop icons
2026-03-16 22:14:30 +08:00
cita 5f26ad976a feat: Implement Drizzle SQLite migration utility with schema verification and error recovery mechanisms. 2026-03-16 22:11:13 +08:00
cita 0a06f15e13 feat: add masked token placeholders and desktop icons 2026-03-16 21:36:23 +08:00
Cita 2409d9f184 Merge pull request #124 from cita-777/codex/zero-channel-routes
[codex] add zero-channel placeholders and remaining workspace changes
2026-03-16 19:40:46 +08:00
cita f67d871035 fix gemini stream payload typing 2026-03-16 19:38:17 +08:00