Luis Pater
ada8e2905e
feat(api): enhance proxy resolution for API key-based auth
...
Added comprehensive support for resolving proxy URLs from configuration based on API key and provider attributes. Introduced new helper functions and extended the test suite to validate fallback mechanisms and compatibility cases.
2026-04-05 01:56:34 +08:00
Luis Pater
3774b56e9f
feat(misc): add background updater for Antigravity version caching
...
Introduce `StartAntigravityVersionUpdater` to periodically refresh the cached Antigravity version using a non-blocking background process. Updated main server flow to initialize the updater.
2026-04-04 22:09:11 +08:00
Luis Pater
c2d4137fb9
feat(executor): enhance Qwen system message handling with strict injection and merging rules
...
Closes : #2537
2026-04-04 21:51:02 +08:00
rensumo
8d5e470e1f
feat: dynamically fetch antigravity UA version from releases API
...
Fetch the latest version from the antigravity auto-updater releases
endpoint and cache it for 6 hours. Falls back to 1.21.9 if the API
is unreachable or returns unexpected data.
2026-04-04 14:52:59 +08:00
Luis Pater
8430b28cfa
Merge pull request #2526 from rensumo/main
...
feat: 升级反重力 (antigravity) UA 版本为 1.21.9
2026-04-04 11:32:16 +08:00
rensumo
f3ab8f4bc5
chore: update antigravity UA version to 1.21.9
2026-04-04 07:35:08 +08:00
Luis Pater
0e4f189c2e
Merge pull request #1302 from dinhkarate/feat(vertex)/add-prefix-field
...
Feat(vertex): add prefix field
2026-04-04 04:17:12 +08:00
Luis Pater
754b126944
fix(executor): remove commented-out code in QwenExecutor
2026-04-04 02:14:48 +08:00
Luis Pater
ae37ccffbf
Merge pull request #2520 from Arronlong/main
...
fix:qwen invalid_parameter_error
2026-04-04 02:13:09 +08:00
Luis Pater
42c062bb5b
Merge pull request #2509 from adamhelfgott/fix-claude-thinking-temperature
...
Normalize Claude temperature when thinking is enabled
2026-04-03 23:55:50 +08:00
Arronlong
29dba0399b
Comment out system message check in Qwen executor
...
fix qwen invalid_parameter_error
2026-04-03 23:07:33 +08:00
Luis Pater
a824e7cd0b
feat(models): add GPT-5.3, GPT-5.4, and GPT-5.4-mini with enhanced "thinking" levels
2026-04-03 23:05:10 +08:00
Luis Pater
adb580b344
feat(security): add configuration to toggle Gemini CLI endpoint access
...
Closes : #2445
2026-04-03 21:46:49 +08:00
Adam Helfgott
f63cf6ff7a
Normalize Claude temperature for thinking
2026-04-03 03:45:51 -04:00
Luis Pater
d2419ed49d
feat(executor): ensure default system message in QwenExecutor payload
2026-04-03 11:18:48 +08:00
Luis Pater
ab9ebea592
Merge PR #2474
...
# Conflicts:
# internal/api/modules/amp/response_rewriter.go
# internal/api/modules/amp/response_rewriter_test.go
2026-04-02 22:31:12 +08:00
Luis Pater
7ee37ee4b9
feat: add /healthz endpoint and test coverage for health check
...
Closes : #2493
2026-04-02 21:56:27 +08:00
Luis Pater
e3eb048c7a
Merge pull request #2489 from Soein/upstream-pr
...
fix: 增强 Claude 反代检测对抗能力
2026-04-02 21:16:58 +08:00
Luis Pater
a59e92435b
Merge pull request #2490 from router-for-me/logs
...
Refactor websocket logging and error handling
2026-04-02 20:47:31 +08:00
pzy
bb44671845
fix: 修复反代检测对抗的 3 个问题
...
- computeFingerprint 使用 rune 索引替代字节索引,修复多字节字符指纹不匹配
- utls Chrome TLS 指纹仅对 Anthropic 官方域名生效,自定义 base_url 走标准 transport
- IPv6 地址使用 net.JoinHostPort 正确拼接端口
2026-04-02 19:12:55 +08:00
Luis Pater
09e480036a
feat(auth): add support for managing custom headers in auth files
...
Closes #2457
2026-04-02 19:11:09 +08:00
pzy
249f969110
fix: Claude API 请求使用 utls Chrome TLS 指纹
...
Claude executor 的 API 请求之前使用 Go 标准库 crypto/tls,JA3 指纹
与真实 Claude Code(Bun/BoringSSL)不匹配,可被 Cloudflare 识别。
- 新增 helps/utls_client.go,封装 utls Chrome 指纹 + HTTP/2 + 代理支持
- Claude executor 的 4 处 NewProxyAwareHTTPClient 替换为 NewUtlsHTTPClient
- 其他 executor(Gemini/Codex/iFlow 等)不受影响,仍用标准 TLS
- 非 HTTPS 请求自动回退到标准 transport
2026-04-02 19:09:56 +08:00
hkfires
4f8acec2d8
refactor(logging): centralize websocket handshake recording
2026-04-02 18:39:32 +08:00
hkfires
34339f61ee
Refactor websocket logging and error handling
...
- Introduced new logging functions for websocket requests, handshakes, errors, and responses in `logging_helpers.go`.
- Updated `CodexWebsocketsExecutor` to utilize the new logging functions for improved clarity and consistency in websocket operations.
- Modified the handling of websocket upgrade rejections to log relevant metadata.
- Changed the request body key to a timeline body key in `openai_responses_websocket.go` to better reflect its purpose.
- Enhanced tests to verify the correct logging of websocket events and responses, including disconnect events and error handling scenarios.
2026-04-02 17:30:51 +08:00
pzy
4045378cb4
fix: 增强 Claude 反代检测对抗能力
...
基于 Claude Code v2.1.88 源码分析,修复多个可被 Anthropic 检测的差距:
- 实现消息指纹算法(SHA256 盐值 + 字符索引),替代随机 buildHash
- billing header cc_version 从设备 profile 动态取版本号,不再硬编码
- billing header cc_entrypoint 从客户端 UA 解析,支持 cli/vscode/local-agent
- billing header 新增 cc_workload 支持(通过 X-CPA-Claude-Workload 头传入)
- 新增 X-Claude-Code-Session-Id 头(每 apiKey 缓存 UUID,TTL=1h)
- 新增 x-client-request-id 头(仅 api.anthropic.com,每请求 UUID)
- 补全 4 个缺失的 beta flags(structured-outputs/fast-mode/redact-thinking/token-efficient-tools)
- OAuth scope 对齐 Claude Code 2.1.88(移除 org:create_api_key,添加 sessions/mcp/file_upload)
- Anthropic-Dangerous-Direct-Browser-Access 仅在 API key 模式发送
- 响应头网关指纹清洗(剥离 litellm/helicone/portkey/cloudflare/kong/braintrust 前缀头)
2026-04-02 15:55:22 +08:00
Luis Pater
4f99bc54f1
test: update codex header expectations
2026-04-02 11:19:37 +08:00
Luis Pater
913f4a9c5f
test: fix executor tests after helpers refactor
2026-04-02 11:12:30 +08:00
Luis Pater
25d1c18a3f
fix: scope experimental cch signing to billing header
2026-04-02 11:03:11 +08:00
Luis Pater
d09dd4d0b2
Merge commit '15c2f274ea690c9a7c9db22f9f454af869db5375' into dev
2026-04-02 10:59:54 +08:00
Michael
8435c3d7be
feat(tui): show time in usage details
2026-04-02 10:35:13 +08:00
Luis Pater
b05f575e9b
Merge pull request #2444 from 0oAstro/fix/codex-nonstream-finish-reason-tool-calls
...
fix(codex): set finish_reason to "tool_calls" in non-streaming response when tool calls are present
2026-04-02 10:01:25 +08:00
Aikins Laryea
f5e9f01811
test(amp): update tests to expect thinking blocks to pass through during streaming
2026-04-01 20:35:23 +00:00
Aikins Laryea
ff7dbb5867
test(amp): update tests to expect thinking blocks to pass through during streaming
2026-04-01 20:21:39 +00:00
Aikins Laryea
e34b2b4f1d
fix(gemini): clean tool schemas and eager_input_streaming
...
delegate schema sanitization to util.CleanJSONSchemaForGemini and drop the top-level eager_input_streaming key to prevent validation errors when sending claude tools to the gemini api
2026-04-01 19:49:38 +00:00
edlsh
15c2f274ea
fix: preserve cloak config defaults when mode omitted
2026-04-01 13:20:11 -04:00
edlsh
37249339ac
feat: add opt-in experimental Claude cch signing
2026-04-01 13:03:17 -04:00
Luis Pater
105a21548f
fix(codex): centralize session management with global store and add tests for executor session lifecycle
2026-04-01 13:17:10 +08:00
Luis Pater
ca11b236a7
refactor(runtime, openai): simplify header management and remove redundant websocket logging logic
2026-04-01 11:57:31 +08:00
Luis Pater
330e12d3c2
fix(codex): conditionally set Session_id header for Mac OS user agents and clean up redundant logic
2026-04-01 11:11:45 +08:00
Luis Pater
b468ca79c3
Merge branch 'dev' of github.com:router-for-me/CLIProxyAPI into dev
2026-04-01 03:09:03 +08:00
Luis Pater
d2c7e4e96a
refactor(runtime): move executor utilities to helps package and update references
2026-04-01 03:08:20 +08:00
Luis Pater
1c7003ff68
Merge pull request #2452 from Lucaszmv/fix-qwen-cli-v0.13.2
...
fix(qwen): update CLI simulation to v0.13.2 and adjust header casing
2026-04-01 02:44:27 +08:00
Lucaszmv
1b44364e78
fix(qwen): update CLI simulation to v0.13.2
2026-03-31 15:19:07 -03:00
0oAstro
ec77f4a4f5
fix(codex): set finish_reason to tool_calls in non-streaming response when tool calls are present
2026-03-31 14:12:15 +05:30
Luis Pater
51fd58d74f
fix(codex): use normalizeCodexInstructions to set default instructions
2026-03-31 12:16:57 +08:00
Luis Pater
faae9c2f7c
Merge pull request #2422 from MonsterQiu/fix/codex-compact-instructions
...
fix(codex): add default instructions for /responses/compact
2026-03-31 12:14:20 +08:00
Luis Pater
bc3a6e4646
Merge pull request #2434 from MonsterQiu/fix/codex-responses-null-instructions
...
fix(codex): normalize null instructions for /responses requests
2026-03-31 12:01:21 +08:00
Luis Pater
16231947e7
Merge pull request #2426 from xixiwenxuanhe/feature/antigravity-credits
...
feat(antigravity): add AI credits quota fallback
2026-03-31 10:51:40 +08:00
MonsterQiu
39b9a38fbc
fix(codex): normalize null instructions across responses paths
2026-03-31 10:32:39 +08:00
MonsterQiu
bd855abec9
fix(codex): normalize null instructions for responses requests
2026-03-31 10:29:02 +08:00