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
619df14291
fix(proxy): apply account-level proxy to count_tokens and completions routes
2026-03-19 01:30:37 +08:00
Hureru
17afe3319e
fix(proxy): fix merge conflict data loss in embeddings.ts success path
2026-03-19 01:21:00 +08:00
Hureru
849800c4cd
feat(web): use purple badge capsule for account proxy indicator
2026-03-19 01:12:39 +08:00
Hureru
252d40d897
fix(proxy): fix merge conflict syntax error in images.ts catch block
2026-03-19 00:48:12 +08:00
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
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
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
ciat-777
5372668c44
fix: minimize codex upstream headers and clean quota wording
2026-03-18 14:58:01 +08:00
ciat-777
90f0c30861
fix: align codex responses continuity handling
2026-03-18 13:25:42 +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
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
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
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
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
f67d871035
fix gemini stream payload typing
2026-03-16 19:38:17 +08:00
cita
bec0457a92
include remaining workspace changes
2026-03-16 19:29:26 +08:00
cita
52441f2634
add zero-channel route placeholders
2026-03-16 19:25:02 +08:00
ciat-777
b0e16fd3ea
Fix model refresh dedupe and desktop packaging
2026-03-16 15:49:15 +08:00
ciat-777
d9e33e71ed
Unify site badge links across console pages
2026-03-16 14:48:46 +08:00
ciat-777
bfb7ea180f
Refine DownstreamKeys management page
2026-03-16 14:41:29 +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
f7b163c8b0
feat(web): add proxy URL field to account edit panel
...
Add proxyUrl input to the account edit form with a hint about
supported protocols. Display a proxy badge on accounts that have
a custom proxy configured in both mobile and desktop list views.
2026-03-16 01:06:57 +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