Luis Pater
140faef7dc
Merge branch 'router-for-me:main' into main
2026-04-03 21:48:23 +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
Luis Pater
d2419ed49d
feat(executor): ensure default system message in QwenExecutor payload
2026-04-03 11:18:48 +08:00
rensumo
73cda6e836
Update CodeBuddy DeepSeek model description
2026-04-03 11:03:33 +08:00
rensumo
0805989ee5
更新CodeBuddy CN的模型列表
2026-04-03 10:59:27 +08:00
Luis Pater
75da02af55
Merge branch 'router-for-me:main' into main
2026-04-02 22:34:47 +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
03a1bac898
Merge upstream v6.9.9 (PR #483 )
2026-04-02 21:31:21 +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
2df35449fe
Fix executor compat helpers
2026-04-02 12:20:12 +08:00
Luis Pater
c744179645
Merge PR #479
2026-04-02 12:15:33 +08:00
Luis Pater
9720b03a6b
Merge pull request #477 from ben-vargas/plus-main
...
fix(copilot): route Gemini preview models to chat endpoint and correct context lengths
2026-04-02 11:36:51 +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
Ben Vargas
c1a8adf1ab
feat(registry): add GitHub Copilot gemini-3.1-pro-preview model
2026-04-01 01:25:03 -06:00
Ben Vargas
08e078fc25
fix(openai): route copilot Gemini preview models to chat endpoint
2026-04-01 01:24:58 -06: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
Thai Nguyen Hung
bd09c0bf09
feat(registry): add gpt-5.4-mini model to GitHub Copilot registry
2026-04-01 10:04:38 +07: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
xixiwenxuanhe
a0bf33eca6
fix(antigravity): preserve fallback and honor config gate
2026-03-31 00:14:05 +08:00
xixiwenxuanhe
88dd9c715d
feat(antigravity): add AI credits quota fallback
2026-03-30 23:58:12 +08:00