Ravi Tharuma
d54de441d3
docs: clarify provider-specific routing for aliased models
2026-03-27 10:53:09 +01:00
Luis Pater
d42b5d4e78
docs(readme): update QQ group information in Chinese README
2026-03-27 11:46:21 +08:00
Luis Pater
1e6bc81cfd
refactor(config): replace auto-update-panel with disable-auto-update-panel for clarity
2026-03-25 10:31:44 +08:00
Luis Pater
1a149475e0
Merge pull request #2293 from Xvvln/fix/management-asset-security
...
fix(security): harden management panel asset updater
2026-03-25 10:22:49 +08:00
Luis Pater
e5166841db
Merge pull request #2310 from shellus/fix/claude-openai-system-top-level
...
fix: preserve OpenAI system messages as Claude top-level system
2026-03-25 10:21:18 +08:00
Luis Pater
bb9b2d1758
Merge pull request #2320 from cikichen/build/freebsd-support
...
build: add freebsd support for releases
2026-03-25 10:12:35 +08:00
Luis Pater
76c064c729
Merge pull request #2335 from router-for-me/auth
...
Support batch upload and delete for auth files
2026-03-25 09:34:44 +08:00
Luis Pater
d2f652f436
Merge pull request #2333 from router-for-me/codex
...
feat(codex): pass through codex client identity headers
2026-03-25 09:34:09 +08:00
Luis Pater
6a452a54d5
Merge pull request #2316 from router-for-me/openai
...
Add per-model thinking support for OpenAI compatibility
2026-03-25 09:31:28 +08:00
hkfires
9e5693e74f
feat(api): support batch auth file upload and delete
2026-03-25 09:20:17 +08:00
hkfires
528b1a2307
feat(codex): pass through codex client identity headers
2026-03-25 08:48:18 +08:00
Luis Pater
0cc978ec1d
Merge pull request #2297 from router-for-me/readme
...
docs(readme): update japanese documentation links
2026-03-25 03:11:24 +08:00
simon
d312422ab4
build: add freebsd support to releases
2026-03-24 16:49:04 +08:00
hkfires
fee736933b
feat(openai-compat): add per-model thinking support
2026-03-24 14:21:12 +08:00
GeJiaXiang
09c92aa0b5
fix: keep a fallback turn for system-only Claude inputs
2026-03-24 13:54:25 +08:00
GeJiaXiang
8c67b3ae64
test: verify remaining user message after system merge
2026-03-24 13:47:52 +08:00
GeJiaXiang
000e4ceb4e
fix: map OpenAI system messages to Claude top-level system
2026-03-24 13:42:33 +08:00
hkfires
5c99846ecf
docs(readme): update japanese documentation links
2026-03-24 09:47:01 +08:00
Luis Pater
d475aaba96
Fixed : #2274
...
fix(translator): omit null content fields in Codex OpenAI tool call responses
2026-03-24 01:00:57 +08:00
Luis Pater
96f55570f7
Merge pull request #2282 from eltociear/add-ja-doc
...
docs: add Japanese README
2026-03-24 00:40:58 +08:00
Luis Pater
0906aeca87
Merge pull request #2254 from clcc2019/main
...
refactor: streamline usage reporting by consolidating record publishi…
2026-03-24 00:39:31 +08:00
Xvvln
7333619f15
fix: reject oversized downloads instead of truncating; warn on unverified fallback
...
- Read maxAssetDownloadSize+1 bytes and error if exceeded, preventing
silent truncation that could write a broken management.html to disk
- Log explicit warning when fallback URL is used without digest
verification, so users are aware of the reduced security guarantee
2026-03-24 00:27:44 +08:00
Luis Pater
97c0487add
Merge pull request #2223 from cnrpman/fix/codex-responses-web-search-preview-compat
...
fix: normalize web_search_preview for codex responses
2026-03-24 00:25:37 +08:00
Xvvln
2db8df8e38
fix(security): harden management panel asset updater
...
- Abort update when SHA256 digest mismatch is detected instead of
logging a warning and proceeding (prevents MITM asset replacement)
- Cap asset download size to 10 MB via io.LimitReader (defense-in-depth
against OOM from oversized responses)
- Add `auto-update-panel` config option (default: false) to make the
periodic background updater opt-in; the panel is still downloaded
on first access when missing, but no longer silently auto-updated
every 3 hours unless explicitly enabled
2026-03-24 00:10:04 +08:00
Luis Pater
a576088d5f
Merge pull request #2222 from kaitranntt/kai/fix/758-openai-proxy-alternating-model-support
...
fix: fall back on model support errors during auth rotation
2026-03-24 00:03:28 +08:00
Luis Pater
66ff916838
Merge pull request #2220 from xulongwu4/main
...
fix: normalize model name in TranslateRequest fallback to prevent prefix leak
2026-03-23 23:56:15 +08:00
Luis Pater
7b0453074e
Merge pull request #2219 from beck-8/fix/context-done-race
...
fix: avoid data race when watching request cancellation
2026-03-23 22:57:21 +08:00
Luis Pater
a000eb523d
Merge pull request #2213 from TTTPOB/ua-fix
...
feat(claude): stabilize device fingerprint across mixed Claude Code and cloaked clients
2026-03-23 22:53:51 +08:00
Luis Pater
18a4fedc7f
Merge pull request #2126 from ailuntz/fix/watcher-auth-cache-memory
...
perf(watcher): reduce auth cache memory
2026-03-23 22:47:34 +08:00
Luis Pater
5d6cdccda0
Merge pull request #2268 from sususu98/fix/sanitize-tool-names
...
fix(translator): sanitize tool names for Gemini function_declarations compatibility
2026-03-23 21:42:22 +08:00
Luis Pater
1b7f4ac3e1
Merge pull request #2252 from sususu98/fix/antigravity-empty-thought-text
...
fix(antigravity): always include text field in thought parts to prevent Google 500
2026-03-23 21:41:25 +08:00
Luis Pater
afc1a5b814
Fixed : #2281
...
refactor(claude): centralize usage token calculation logic and add tests for cached token handling
2026-03-23 21:30:03 +08:00
Ikko Eltociear Ashimine
7ed38db54f
docs: update README_JA.md
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-03-23 16:57:43 +09:00
Ikko Eltociear Ashimine
28c10f4e69
docs: update README_JA.md
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-03-23 16:57:32 +09:00
Ikko Eltociear Ashimine
6e12441a3b
Update README_JA.md
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-03-23 16:57:19 +09:00
Ikko Ashimine
65c439c18d
docs: add Japanese README
2026-03-23 15:23:18 +09:00
dslife2025
0ed2d16596
Merge branch 'router-for-me:main' into main
2026-03-23 09:50:43 +08:00
Supra4E8C
db335ac616
Merge pull request #2269 from router-for-me/auth-fix
...
fix(auth): ensure absolute paths for auth file handling
2026-03-22 22:53:44 +08:00
sususu98
e8bb350467
fix: extend tool name sanitization to all remaining Gemini-bound translators
...
Apply SanitizeFunctionName on request and RestoreSanitizedToolName on
response for: gemini/claude, gemini/openai/chat-completions,
gemini/openai/responses, antigravity/openai/chat-completions,
gemini-cli/openai/chat-completions.
Also update SanitizedToolNameMap to handle OpenAI format
(tools[].function.name) in addition to Claude format (tools[].name).
2026-03-22 14:06:46 +08:00
Supra4E8C
5331d51f27
fix(auth): ensure absolute paths for auth file handling
2026-03-22 13:58:16 +08:00
sususu98
755ca75879
fix: address review feedback - init ToolNameMap eagerly, log collisions, add collision test
2026-03-22 13:24:03 +08:00
sususu98
2398ebad55
fix(translator): sanitize tool names for Gemini function_declarations compatibility
...
Claude Code and MCP clients may send tool names containing characters
invalid for Gemini's function_declarations (e.g. '/', '@', spaces).
Sanitize on request via SanitizeFunctionName and restore original names
on response for both antigravity/claude and gemini-cli/claude translators.
2026-03-22 13:10:53 +08:00
clcc2019
c1bf298216
refactor: streamline usage reporting by consolidating record publishing logic
...
- Introduced a new method `buildRecord` in `usageReporter` to encapsulate record creation, improving code readability and maintainability.
- Added latency tracking to usage records, ensuring accurate reporting of request latencies.
- Updated tests to validate the inclusion of latency in usage records and ensure proper functionality of the new reporting structure.
2026-03-20 19:44:26 +08:00
sususu
e005208d76
fix(antigravity): always include text field in thought parts to prevent Google 500
...
When Claude sends redacted thinking with empty text, the translator
was omitting the "text" field from thought parts. Google Antigravity
API requires this field, causing 500 "Unknown Error" responses.
Verified: 129/129 error logs with empty thought → 500, 0/97 success
logs had empty thought. After fix: 0 new "Unknown Error" 500s.
2026-03-20 18:59:25 +08:00
Junyi Du
d1df70d02f
chore: add codex builtin tool normalization logging
2026-03-20 14:08:37 +08:00
Luis Pater
f81acd0760
Merge pull request #2243 from router-for-me/oauth
...
Improve OAuth callback handling with async prompts
2026-03-20 12:35:44 +08:00
hkfires
636da4c932
refactor(auth): replace manual input handling with AsyncPrompt for callback URLs
2026-03-20 12:24:27 +08:00
hkfires
cccb77b552
fix(auth): avoid blocking oauth callback wait on prompt
2026-03-20 11:48:30 +08:00
Luis Pater
2bd646ad70
refactor: replace sjson.Set usage with sjson.SetBytes to optimize mutable JSON transformations
2026-03-19 17:58:54 +08:00
tpob
52c1fa025e
fix(claude): learn official fingerprints after custom baselines
2026-03-19 13:59:41 +08:00