Cita
d17e80f05e
Merge pull request #227 from cita-777/codex/openclaw-user-agent-v2
...
fix: detect openclaw user-agent in proxy logs
2026-03-21 13:56:14 +08:00
ciat-777
272b88c6c8
fix: detect openclaw user-agent in proxy logs
2026-03-21 13:53:02 +08:00
Cita
9b17c3ebdf
Merge pull request #159 from Hureru/feat/account-level-proxy
...
feat(proxy): account-level proxy URL override
2026-03-21 13:14:08 +08:00
ciat-777
424e1e210b
test: align claude count tokens encoding expectation
2026-03-21 12:56:34 +08:00
ciat-777
1b78359739
fix: force identity encoding for claude messages
2026-03-21 12:48:34 +08:00
ciat-777
7c9bdc51c7
fix: prefer self-reported proxy log client names
2026-03-21 11:48:15 +08:00
Hureru
8df3b1431f
Merge remote-tracking branch 'origin/main' into feat/account-level-proxy
...
# Conflicts:
# src/server/proxy-core/surfaces/chatSurface.ts
# src/server/proxy-core/surfaces/openAiResponsesSurface.ts
# src/server/routes/proxy/embeddings.ts
# src/server/routes/proxy/images.ts
# src/server/services/modelService.ts
2026-03-21 10:09:19 +08:00
Cita
79146af16a
Merge pull request #216 from cita-777/codex/fix-responses-endpoint-memory
...
[codex] fix cross-protocol conversation file compatibility
2026-03-20 21:53:13 +08:00
cita
2890b7daf3
fix cross-protocol conversation file compatibility
2026-03-20 21:48:05 +08:00
Cita
0d70dba4e6
Merge pull request #212 from Brucents/fix/proxy-upstream-resolution
...
fix(proxy): 修正代理上游解析并补齐系统代理测试能力
2026-03-20 19:21:30 +08:00
cita
5f744c3382
fix responses endpoint memory
2026-03-20 19:15:53 +08:00
Brucents
088d0455a9
fix(proxy): add system proxy connectivity test and align proxy UI copy
2026-03-20 19:13:23 +08:00
Brucents
a66cbafeb8
fix(proxy): separate upstream target resolution from proxy dispatch and add site-level proxy URLs
2026-03-20 17:40:02 +08:00
Bainily
e9c1bd898e
[codex] improve proxy stability, routing, and site subscription visibility ( #194 )
...
* wip: preserve local changes before upstream merge
* Improve proxy routing stability and add stable-first strategy
2026-03-20 16:18:28 +08:00
cita
0068200f2d
Improve downstream client detection
2026-03-20 15:31:21 +08:00
cita
8291b9c59f
test: align proxy route db mocks with client columns
2026-03-20 12:49:09 +08:00
cita
4e60290838
feat: add proxy log client detection filters
2026-03-20 12:25:30 +08:00
Cita
0f5ec9a1c1
Merge pull request #184 from cita-777/codex/full-cliproxyapi-parity
...
[codex] complete codex cliproxyapi parity
2026-03-20 11:28:24 +08:00
cita
adc4fb1be7
complete codex cliproxyapi parity
2026-03-20 11:23:29 +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
cita
8672ff8dff
Handle mislabeled responses SSE bodies
2026-03-19 23:20:40 +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
2f0ee4d648
fix responses empty completion handling
2026-03-19 22:22:02 +08:00
cita
8f0b5c81f4
fix responses eof false success logging
2026-03-19 20:43:44 +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
7c6b729ce1
fix(proxy): preserve requestedModel fallback in embeddings forwardBody
2026-03-19 01:48:52 +08:00
Hureru
bef1cd05ea
fix(proxy): apply account proxy to image edits route
2026-03-19 01:47:39 +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
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
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
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
cd37b11722
feat: extend proxy runtime parity
2026-03-18 12:01:50 +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
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
bec0457a92
include remaining workspace changes
2026-03-16 19:29:26 +08:00
Hureru
6d2f1c4b81
feat(proxy): pass account proxy through all proxy route handlers
...
Thread account-level proxyUrl from extraConfig into
resolveChannelProxyUrl for endpointFlow and the third parameter
of withSiteRecordProxyRequestInit for direct fetch calls across
chat, responses, completions, embeddings, images, search, and
videos proxy routes.
2026-03-16 01:06:16 +08:00
Hureru
b43a4fd2ea
fix(proxy): use proxyUrl parameter in endpointFlow fetch
...
The ExecuteEndpointFlowInput.proxyUrl field was defined but ignored
by the fetch call. Apply it via withExplicitProxyRequestInit when
present, falling back to withSiteProxyRequestInit otherwise.
2026-03-16 01:05:43 +08:00
ciat-777
4b42751953
fix: address gemini native and route coverage regressions
2026-03-15 23:08:49 +08:00