Skip to content

v6.8.47-mf.1

Latest

Choose a tag to compare

@github-actions github-actions released this 08 Mar 10:20
· 5 commits to main since this release

Changelog

  • 6f9c23a router-for-me#167
  • 7063a17 router-for-me#293
  • 34855bc Fix model switch logic when quota is exceeded
  • 56c8297 Handle data: without trailing space in streaming responses
  • cbf9a57 build(goreleaser): set CGO_ENABLED=0 for cli-proxy-api binaries
  • 257621c chore(executor): update default agent version and simplify const formatting
  • 8b13c91 docs(internal): add Codex instruction guides for GPT-5 CLI
  • 93fa1d1 docs: add Amp CLI integration guide to Chinese documentation
  • 6a2906e feat(antigravity): add support for Claude-Opus-4-5-Thinking model
  • 76af454 feat(antigravity): enhance handling of "thinking" content and refine Claude model response processing
  • 361443d feat(api): add GetLatestVersion endpoint to fetch latest release version from GitHub
  • cc3cf09 feat(auth): add AuthIndex for diagnostics and ensure usage recording
  • 7757210 feat(auth): implement Antigravity OAuth authentication flow
  • 2d84d2f feat(auth, executor, cmd): add Antigravity provider integration
  • d114d8d feat(config): add TLS support for HTTPS server configuration
  • 8d23ffc feat(executor): add model alias mapping and improve Antigravity payload handling
  • ac06438 feat(executor, translator): enhance token handling and payload processing
  • aa57f32 feat(instructions): add detailed agent behavior guidelines for Codex CLI
  • e308288 feat(logging, middleware): add error-based logging support and error log management
  • bf116b6 feat(registry): add GPT-5.1 Codex Max model definitions and support
  • ee6429c feat(registry): add Gemini 3 Pro Image Preview model and remove Claude Sonnet 4.5 Thinking
  • 17016ae feat(registry): add Gemini 3 Pro Preview model definition
  • 01b7b60 feat(registry): add Gemini 3 Pro Preview model definition
  • d2e4639 feat(registry): add context length and update max tokens for Claude model configurations
  • 371324c feat(registry): expand Gemini model definitions and support Vertex AI
  • fcd98f4 feat(runtime): add payload configuration support for executors
  • cf9b9be feat(runtime): extend executor support for GPT-5.1 Codex and variants
  • c1031e2 feat(translator): add Antigravity translation logic
  • 8977121 feat(translator): add ThoughtSignature handling in Gemini request transformations
  • 4eab141 feat(translator): add support for reasoning/thinking content blocks in OpenAI-Claude and Gemini responses
  • 9d50a68 feat(translator): improve content processing and Antigravity request conversion
  • 32d3809 feat(util): add -reasoning suffix support for Gemini models
  • d6352dd feat(util): add DeleteKey function and update antigravity executor for Claude model compatibility
  • 4307f08 feat(watcher): optimize auth file handling with hash-based change detection
  • f0711be fix(auth): prevent access to removed credentials lingering in memory
  • bb9955e fix(auth): resolve index reassignment issue during auth management
  • 9875565 fix(claude translator): ensure default token counts when usage data is missing
  • 52c17f0 fix(executor): comment out redundant code for setting Claude system instructions
  • 113db3c fix(executor): update antigravity executor to enhance model metadata handling
  • a748e93 fix(executor, auth): ensure index assignment consistency for auth objects
  • 506f111 fix(handlers): refactor API response capture to append data safely
  • 23a7633 fix(registry): update Thinking parameters and replace Gemini-3 Preview with Gemini-2.5 Flash Lite
  • db2d22c fix(runtime): simplify scanner buffer allocation in executor implementations
  • 0a47b45 fix(translator): add conditional check for key renaming in Gemini tools
  • 261f08a fix(translator): adjust key renaming logic in Gemini request processing
  • 9f95b31 fix(translator): enhance handling of mixed output content in Claude requests
  • c8cee54 fix(translator): ensure partial content is retained while skipping encrypted thoughtSignature
  • 7a8e00f fix(translator): handle missing parameters in Gemini tool schema gracefully
  • 346b663 fix(translator): handle non-JSON output gracefully in function call outputs
  • 72c7ef7 fix(translator): handle non-JSON output parsing for OpenAI function responses
  • 39621a0 fix(translator): normalize function calls and outputs for consistent input processing
  • 0bcae68 fix(translator): preserve raw JSON encoding in function call outputs
  • ddb0c0e fix(translator): reintroduce thoughtSignature bypass logic for model parts
  • 41ee444 fix(translator): rename responseSchema key for generationConfig
  • 1c815c5 fix(translator): simplify string handling in Gemini responses
  • d4d5298 refactor(antigravity): handle anyOf property, remove exclusiveMinimum, and comment unused prod URL
  • 1d0f030 refactor(api/config): centralize legacy OpenAI compatibility key migration
  • 327cc70 refactor(auth): use customizable HTTP client for Antigravity requests
  • 0fd2abb refactor(cliproxy, config): remove vertex-compat flow, streamline Vertex API key handling
  • d50b0f7 refactor(executor): simplify Gemini CLI execution and remove internal retry logic
  • db81331 refactor(middleware): extract request logging logic and optimize condition checks
  • 0586da9 refactor(registry): move Gemini 3 Pro Preview model definition to base set
  • 1434bc3 refactor(registry): remove Qwen3-Coder from model definitions
  • 1ccb016 refactor(runtime): centralize reasoning effort logic for GPT models
  • 98596c0 refactor(translator): remove service_tier from Codex OpenAI request payload
  • 09970dc Accept Geminis Review Suggestion
  • 8193392 Add AMP fallback proxy and shared Gemini normalization
  • 4b2d40b Add CLIProxyAPI Dashboard to 'Who is with us?' section
  • 13bb7cf Add CLIProxyAPI Tray information to README
  • 8bce696 Add CLIProxyAPI Tray section to README_CN.md
  • c86545d Add Chinese README and update project files
  • 963a095 Add Claude Proxy VSCode extension to README
  • 3b484ae Add Claude Proxy VSCode to README_CN.md
  • 3c0c61a Add Claude compatibility and enhance API handling
  • dca8d5d Add CodMate app information to README
  • 2a7fd1e Add CodMate description to README_CN.md
  • c62e45e Add Codex API key support and Gemini 2.5 Flash-Lite model documentation updates
  • 67e0b71 Add Codex load balancing documentation and refine JSON handling logic
  • 9b627a9 Add Docker Compose
  • 3687963 Add Docker support with CI/CD workflow and usage instructions
  • 2406cc7 Add GPT-5 Codex model support and configuration options in documentation
  • 3e09bc9 Add Gemini 2.5 Flash-Lite Model
  • b3607d3 Add Gemini-compatible API and improve error handling
  • c0eaa41 Add Gemini-to-Gemini request normalization and passthrough support
  • 6164f5c Add JSON annotations to configuration structs and new /config management endpoint
  • 7e0fd1e Add Keep-Alive header
  • f5f26f0 Add Kimi (Moonshot AI) provider support
  • 545dff8 Add OAuth support for Gemini CLI, Claude, Codex, and Qwen authentication
  • 9ef76dc Add Object Storage
  • ce5d2ba Add OpenAI Responses support
  • 3acdec5 Add OpenAI Responses support
  • ed8873f Add OpenAI compatibility support and improve resource cleanup
  • aa2f37d Add Qwen support
  • d292456 Add SOCKS5 and HTTP/HTTPS proxy support
  • 040d66f Add SSH tunnel guidance for login fallback
  • c263398 Add Telegram group link to Chinese README for user support
  • 5812229 Add .gitignore and ignore config.yaml
  • bea5f97 Add /v1/completions endpoint with OpenAI compatibility
  • c601542 Add ClaudeMessages handler for SSE-compatible chat completions
  • aa9fd05 Add FixCLIToolResponse for enhanced function call-response mapping
  • 54ffb52 Add FunctionCallIndex to ConvertCliToOpenAIParams and enhance tool call handling
  • 31a9e2d Add GeminiGetHandler, enhance Gemini functionality, and enable token counting
  • 423faae Add GeminiModels handler and enhance API key validation
  • 4939865 Add a new client application - Lin Jun
  • 3da7f74 Add a new client application - Lin Jun
  • 9072b02 Add a new client application - Lin Jun
  • 492b9c4 Add additive Codex device-code login flow
  • bf08646 Add archive configuration to .goreleaser.yml
  • 0b5bbe9 Add candidate count handling in OpenAI request
  • 6448d0e Add candidate count handling in OpenAI request
  • 5bb9c2a Add candidate count parameter to OpenAI request
  • d58cc55 Add claude code support
  • 5ed79e5 Add debounce logic for file events to prevent duplicate reloads
  • c875088 Add dynamic log level adjustment and "type" field to auth files response
  • 3c4dc07 Add file watcher for dynamic configuration and client reloading
  • db43930 Add management API handlers for config and auth file management
  • 3704dae Add nil-check for GetRequestMutex across handlers to prevent potential panics
  • de7b850 Add openai codex support
  • f1d6f01 Add reasoning/thinking configuration handling for Claude and OpenAI translators
  • fcadf08 Add request logging capabilities to API handlers and update .gitignore
  • ad943b2 Add reverse mappings for original tool names and improve error logging
  • c4a42eb Add support for Codex API key authentication
  • 4155805 Add support for Codex model in provider logic and update documentation for claude code
  • 589ae6d Add support for Generative Language API Key and improve client initialization
  • e5ed2cb Add support for dynamic model providers
  • b84cbee Add support for forcing GPT-5 Codex model configuration
  • 1c4183d Add support for localhost unauthenticated requests
  • 9c9ea99 Add support for new GPT-5 model variants
  • 273e1d9 Add system instruction support and enhance internal API handlers
  • 512c8b6 Add token refresh handling for 401 responses across clients
  • 0331660 Add token refresh handling for 401 responses across clients
  • 709d999 Add usage to /v1/completions
  • 8d05489 Add versioning support to build artifacts and log outputs
  • b05d00e Add versioning support to build artifacts and log outputs
  • ebf2a26 Avoid unnecessary config.yaml reloads via hash check
  • b3c534b Build instructions reformatting
  • 0ad3e84 Clarify cloaking system block cache-control comments
  • aacfcae Codex CLI - setting 'store = false'
  • 9be56fe Correct config in README.md
  • ef8820e Default tokenType to an empty string instead of "gemini" in watcher.go and run.go.
  • 2b97cb9 Delete 'user' field from raw JSON
  • 00f33f5 Enhance Gemini request handling for contents support and improve error logging
  • e64fa48 Enhance Gemini request handling with fallback support for contents
  • b0c17af Enhance Gemini to OpenAI response conversion
  • 58b7afd Enhance HTTP server with custom multiplexer in Auth flow
  • 0449fef Enhance OAuth handling for Anthropic, Codex, Gemini, and Qwen tokens
  • 551bc1a Enhance README formatting and update .dockerignore
  • 6d2f7e3 Enhance parseArgsToMap with tolerant JSON parsing
  • b125410 Enhance client reload process with new OpenAI compatibility support
  • 3dd0844 Enhance logging for API requests and responses across executors
  • 7cb76ae Enhance quota management and refactor configuration handling
  • fa8d949 Enhance response and request handling in translators
  • 35daffd Ensure auth directory existence before processing tokens in run.go
  • ae06f13 Extract argument parsing logic into parseArgsToMap helper function
  • ade279d Feature: router-for-me#103
  • 74bae32 Filter OpenAI models response to include only essential fields (id, object, created, owned_by).
  • dcac340 Fix Claude OAuth tool name mapping
  • 444a47a Fix Claude cache-control guardrails and gzip error decoding
  • a2f8f59 Fix Gemini function-calling INVALID_ARGUMENT by relaxing Gemini tool validation and cleaning schema
  • 52364af Fix Kimi tool-call reasoning_content normalization
  • 3b2ab0d Fix SSE headers initialization for geminiStreamGenerateContent and internalStreamGenerateContent
  • beff928 Fix alt parameter handling in URL construction
  • ebcd4db Fix activation URL extraction logic and improve warning message formatting
  • 3d8d02b Fix amp v1beta1 routing and gemini retry config
  • b602eae Fix antigravity Claude thinking signature handling
  • 9f36444 Fix antigravity malformed_function_call
  • 7353bc0 Fix bug: router-for-me#38 about lobechat cors policy
  • 8c2063a Fix log key name from gpt-5-codex to force-gpt-5-codex for consistency
  • f9f2333 Fix model name update during quota check to avoid incorrect logging
  • 830fd8e Fix responses-format handling for chat completions
  • e9e0016 Fix some bugs.
  • b9ae4ab Fix usage convertation from gemini response to openai format
  • aca2ef6 Fix: disable thinking when tool_choice forces tool use
  • 11f090c Fixed router-for-me#102
  • b641d90 Fixed router-for-me#91
  • 99c9f30 Fixed bug router-for-me#38
  • b163f8e Fixed: router-for-me#1004
  • f8f3ad8 Fixed: router-for-me#1064
  • 0d6ecb0 Fixed: router-for-me#1077
  • 6184c43 Fixed: router-for-me#1109
  • 4bbeb92 Fixed: router-for-me#1135
  • 4576f99 Fixed: router-for-me#121
  • 4477c72 Fixed: router-for-me#129 router-for-me#123 router-for-me#102 router-for-me#97
  • 735b213 Fixed: router-for-me#137
  • d216ade Fixed: router-for-me#1372 router-for-me#1366
  • 259f586 Fixed: router-for-me#1398
  • a552a45 Fixed: router-for-me#140 router-for-me#133 router-for-me#80
  • d885b81 Fixed: router-for-me#1403
  • eadccb2 Fixed: router-for-me#148
  • 63643c4 Fixed: router-for-me#1484
  • fdbd404 Fixed: router-for-me#1531
  • 5850492 Fixed: router-for-me#1548
  • 713388d Fixed: router-for-me#1675
  • 8bde8c3 Fixed: router-for-me#1711
  • 8599b15 Fixed: router-for-me#1716
  • 847c250 Fixed: router-for-me#172
  • 4e1d098 Fixed: router-for-me#1741
  • cc1d8f6 Fixed: router-for-me#1747
  • a6ce5f3 Fixed: router-for-me#1758
  • f9b005f Fixed: router-for-me#1799
  • ac135fc Fixed: router-for-me#1815
  • d7e9665 Fixed: router-for-me#1901
  • fd2b235 Fixed: router-for-me#193
  • a7d105b Fixed: router-for-me#223
  • 8ae8a5c Fixed: router-for-me#233
  • 75b57bc Fixed: router-for-me#246
  • 772fa69 Fixed: router-for-me#254
  • 5937b8e Fixed: router-for-me#260
  • e5e9859 Fixed: router-for-me#263
  • cbcfeb9 Fixed: router-for-me#291
  • d291eb9 Fixed: router-for-me#302
  • ed9f6e8 Fixed: router-for-me#337
  • a4a26d9 Fixed: router-for-me#339
  • 7e30157 Fixed: router-for-me#354
  • a67b681 Fixed: router-for-me#397
  • bceecfb Fixed: router-for-me#414
  • c44c46d Fixed: router-for-me#421
  • fd29ab4 Fixed: router-for-me#424
  • 7a62842 Fixed: router-for-me#433
  • 6e43669 Fixed: router-for-me#440
  • 39b6b3b Fixed: router-for-me#463
  • e717939 Fixed: router-for-me#478
  • a68c97a Fixed: router-for-me#492
  • a1da6ff Fixed: router-for-me#499 router-for-me#985
  • 27a5ad8 Fixed: router-for-me#534
  • ffdfad8 Fixed: router-for-me#551
  • 6534396 Fixed: router-for-me#606
  • 8a5db02 Fixed: router-for-me#607
  • 24bc9cb Fixed: router-for-me#639
  • 453e744 Fixed: router-for-me#642
  • 5106caf Fixed: router-for-me#654
  • 1084b53 Fixed: router-for-me#655
  • 06ad527 Fixed: router-for-me#696
  • dcae098 Fixed: router-for-me#736
  • 7227409 Fixed: router-for-me#738
  • c281f4c Fixed: router-for-me#747
  • 7646a2b Fixed: router-for-me#749
  • c6b0e85 Fixed: router-for-me#790
  • 79009bb Fixed: router-for-me#797
  • b48485b Fixed: router-for-me#822
  • b727e4e Fixed: router-for-me#86
  • 94e9798 Fixed: router-for-me#897
  • 6c324f2 Fixed: router-for-me#936
  • 4d7f389 Fixed: router-for-me#941
  • af6bdca Fixed: router-for-me#942
  • d6f6712 Fixed: router-for-me#97
  • 14c74e5 Handle 'n' parameter for candidate count in requests
  • 6ac9b31 Handle compressed error decode failures safely
  • f4977e5 Ignore GEMINI.md file
  • 1c92034 Implement IP-based rate limiting and ban mechanism for management API
  • 865af9f Implement test for user field deletion
  • 3b4634e Improve getClient logic with optional content generation flag
  • ead71fb Improve error logging and add user guidance for issue reporting
  • 1e9e4a8 Improve thinking/tool signature handling for Claude and Gemini requests
  • 7dc40ba Improve tool-call parsing, schema sanitization, and hint injection
  • dff31a7 Improved the /v1/models endpoint
  • 93147dd Improves error handling for canceled requests
  • 61da7bd Merge PR router-for-me#1626 into codex/pr-1626
  • 8aa2cce Merge PR router-for-me#1735 into dev with conflict resolution and fixes
  • e92e2af Merge branch 'codex/pr-1626' into dev
  • 1dccdb7 Merge branch 'cookie_snapshot' into dev
  • a54877c Merge branch 'dev'
  • c52255e Merge branch 'dev'
  • 67a4fe7 Merge branch 'dev'
  • d42384c Merge branch 'dev'
  • b31ddc7 Merge branch 'dev'
  • 1cd275f Merge branch 'dev'
  • b927b0c Merge branch 'dev' into codex
  • 9ff38dd Merge branch 'dev' into feat-amp-cli-module
  • 2e5681e Merge branch 'dev' into feat/claude-thinking-and-beta-headers
  • 0468bde Merge branch 'dev' into fix/antigravity-adaptive-effort
  • 7569320 Merge branch 'dev' into fix/antigravity-prompt-caching
  • a7ffc77 Merge branch 'dev' into fix/cross-model-thinking-signature
  • f3f0f17 Merge branch 'dev' into think
  • 26a5f67 Merge branch 'dev' into watcher
  • fa762e6 Merge branch 'dev' of github.com:luispater/CLIProxyAPI into dev
  • dc9b4dd Merge branch 'kimi-provider-support-v2' into dev
  • e0d1314 Merge branch 'main' into dev
  • cc8dc7f Merge branch 'main' into dev
  • 68b3565 Merge branch 'main' into dev (PR router-for-me#961)
  • 40bee3e Merge branch 'main' into feature/canceled
  • 24e8e20 Merge branch 'main' into fix/antigravity-prompt-caching
  • 6dd1cf1 Merge branch 'main' into fix/antigravity-prompt-caching
  • 2a274d4 Merge branch 'main' into gemini-web
  • edf9d9b Merge branch 'main' of github.com:luispater/CLIProxyAPI
  • b2b1752 Merge branch 'pr-1624' into dev
  • 9354b87 Merge branch 'router-for-me:main' into main
  • 8cfe26f Merge branch 'sdk' into dev
  • 7fe8246 Merge branch 'tui' into dev
  • f7bfa8a Merge branch 'upstream-main'
  • 8c947ca Merge branch 'vertex' into dev
  • 5a6cbe3 Merge origin/dev into pr-1774-review and resolve watcher conflicts
  • 65f47c1 Merge pull request router-for-me#1 from chaudhryfaisal/main
  • 22e1ad3 Merge pull request router-for-me#1018 from pikeman20/main
  • 67f8732 Merge pull request router-for-me#1033 from router-for-me/reasoning
  • 1ada33a Merge pull request router-for-me#104 from router-for-me/cloud
  • 3b4d6d3 Merge pull request router-for-me#1049 from router-for-me/codex
  • 4dc7af5 Merge pull request router-for-me#1054 from router-for-me/codex
  • 99c7abb Merge pull request router-for-me#1067 from router-for-me/auth-files
  • 1046152 Merge pull request router-for-me#1068 from 0xtbug/dev
  • 1834c65 Merge pull request router-for-me#107 from router-for-me/gemini-web
  • 8f511ac Merge pull request router-for-me#1076 from sususu98/fix/antigravity-enum-string
  • f88228f Merge pull request router-for-me#1081 from router-for-me/thinking
  • 60f9a14 Merge pull request router-for-me#1088 from router-for-me/thinking
  • 2542c29 Merge pull request router-for-me#1096 from router-for-me/usage
  • 5baa753 Merge pull request router-for-me#1099 from router-for-me/claude
  • f6e713a Merge pull request router-for-me#110 from router-for-me/cloud
  • ead98e4 Merge pull request router-for-me#1101 from router-for-me/argy
  • 19b4ef3 Merge pull request router-for-me#1102 from aldinokemal/main
  • 5717c7f Merge pull request router-for-me#1103 from dinhkarate/feat/imagen
  • 3b26129 Merge pull request router-for-me#1108 from router-for-me/modelinfo
  • 2513d90 Merge pull request router-for-me#111 from router-for-me/cloud
  • ac56e1e Merge pull request router-for-me#1116 from bexcodex/fix/antigravity
  • c6fa1d0 Merge pull request router-for-me#1117 from router-for-me/cache
  • 873d415 Merge pull request router-for-me#1125 from NightHammer1000/dev
  • 0508c9f Merge pull request router-for-me#113 from sususu98/main
  • ffd1299 Merge pull request router-for-me#1130 from router-for-me/agty
  • 3c71c07 Merge pull request router-for-me#1131 from sowar1987/fix/gemini-malformed-function-call
  • 2e6a2b6 Merge pull request router-for-me#1132 from XYenon/fix/gemini-models-displayname-override
  • 6fb7d85 Merge pull request router-for-me#1137 from augustVino/fix/remove_empty_systemmsg
  • 71faa19 Merge pull request router-for-me#114 from router-for-me/management
  • 1d6e2e7 Merge pull request router-for-me#1140 from sxjeru/main
  • f2710c0 Merge pull request router-for-me#116 from router-for-me/log
  • 15ae83a Merge pull request router-for-me#1169 from router-for-me/payload
  • 4fdbdf7 Merge pull request router-for-me#117 from router-for-me/pg
  • bbb55a8 Merge pull request router-for-me#1170 from BianBianY/main
  • f353a54 Merge pull request router-for-me#1171 from router-for-me/auth
  • c82d8e2 Merge pull request router-for-me#1174 from lieyan666/fix/issue-1082-change-error-status-code
  • cb47ac2 Merge pull request router-for-me#1179 from mallendeo/main
  • 9072acc Merge pull request router-for-me#118 from router-for-me/config
  • a1394b4 Merge pull request router-for-me#1183 from Darley-Wey/fix/api-align
  • 9e97948 Merge pull request router-for-me#1185 from router-for-me/auth
  • 2c879f1 Merge pull request router-for-me#1216 from ferretgeek/add-cpa-xxx-panel
  • 0f53b95 Merge pull request router-for-me#1225 from router-for-me/log
  • 1c6cb2b Merge pull request router-for-me#1239 from ThanhNguyxn/fix/gitstore-gc-after-squash
  • f887f99 Merge pull request router-for-me#1248 from shekohex/feat/responses-compact
  • 32d01a6 Merge pull request router-for-me#125 from router-for-me/object
  • 7583193 Merge pull request router-for-me#1257 from router-for-me/model
  • ba4a1ab Merge pull request router-for-me#1261 from Darley-Wey/fix/gemini_scheme
  • ac4f52c Merge pull request router-for-me#127 from router-for-me/usage
  • 9e5b1d2 Merge pull request router-for-me#1276 from router-for-me/thinking
  • f36a5f5 Merge pull request router-for-me#1294 from Darley-Wey/fix/claude2gemini
  • c1facdf Merge pull request router-for-me#1295 from SchneeMart/feature/claude-caching
  • 189a066 Merge pull request router-for-me#1296 from router-for-me/log
  • da0bbf2 Merge pull request router-for-me#1298 from sususu98/fix/restore-usageMetadata-in-gemini-translator
  • f58d0fa Merge pull request router-for-me#130 from router-for-me/log
  • f0ac771 Merge pull request router-for-me#1300 from sususu98/feat/log-api-response-timestamp
  • 4ee46bc Merge pull request router-for-me#1311 from router-for-me/fix/gemini-schema
  • c3e94a8 Merge pull request router-for-me#1317 from yinkev/feat/gemini-tools-passthrough
  • 8e95c5e Merge pull request router-for-me#134 from router-for-me/hg
  • 3b04e11 Merge pull request router-for-me#1368 from sususu98/feat/configurable-error-logs-max-files
  • f97d9f3 Merge pull request router-for-me#1370 from kitephp/patch-3
  • e0927af Merge pull request router-for-me#1371 from kitephp/patch-2
  • 493969a Merge pull request router-for-me#1379 from router-for-me/log
  • 157f16d Merge pull request router-for-me#1380 from router-for-me/codex
  • eb5582c Merge pull request router-for-me#1386 from shenshuoyaoyouguang/sync-auth-changes
  • 674393e Merge pull request router-for-me#139 from router-for-me/log
  • f410dd0 Merge pull request router-for-me#1390 from sususu98/fix/400-invalid-request-no-retry
  • 5b23fc5 Merge pull request router-for-me#1396 from Xm798/fix/log-dir-tilde-expansion
  • 9181e72 Merge pull request router-for-me#1409 from wangdabaoqq/main
  • c1c9483 Merge pull request router-for-me#1422 from dannycreations/feat-gemini-cli-claude-mime
  • b722503 Merge pull request router-for-me#1423 from router-for-me/watcher
  • 4874253 Merge pull request router-for-me#1425 from router-for-me/auth
  • 7cf9ff0 Merge pull request router-for-me#1429 from neavo/fix/gemini-python-sdk-thinking-fields
  • 4b00312 Merge pull request router-for-me#1435 from tianyicui/fix/haiku-4-5-thinking-support
  • c71905e Merge pull request router-for-me#1440 from kvokka/add-cc-opus-4-6
  • c5fd3db Merge pull request router-for-me#1446 from qyhfrank/fix-claude-opus-4-6-model-metadata
  • 0e91e95 Merge pull request router-for-me#145 from router-for-me/path
  • c5dcbc1 Merge pull request router-for-me#146 from router-for-me/iflow
  • 394497f Merge pull request router-for-me#1465 from router-for-me/kimi-fix
  • 7e9d0db Merge pull request router-for-me#1467 from dusty-du/fix/kimi-toolcall-reasoning-content
  • fed6f3e Merge pull request router-for-me#147 from router-for-me/config
  • 3b34521 Merge pull request router-for-me#1479 from router-for-me/management
  • 0dff329 Merge pull request router-for-me#1492 from router-for-me/management
  • 5a3eb08 Merge pull request router-for-me#1502 from router-for-me/iflow
  • eaab1d6 Merge pull request router-for-me#1506 from masrurimz/fix-sse-model-mapping
  • 5b3fc09 Merge pull request router-for-me#151 from VjayC/add-subtitle-translator
  • ebef1fa Merge pull request router-for-me#1511 from stondy0103/fix/responses-nullable-type-array
  • c6bd91b Merge pull request router-for-me#1519 from router-for-me/thinking
  • e6c7af0 Merge pull request router-for-me#1522 from soilSpoon/feature/canceled
  • a146c6c Merge pull request router-for-me#1523 from xxddff/feature/removeUserField
  • 48732ba Merge pull request router-for-me#1527 from HEUDavid/feat/auth-hook
  • 58e09f8 Merge pull request router-for-me#1542 from APE-147/fix/gemini-antigravity-schema-sanitization
  • 908c8ea Merge pull request router-for-me#1543 from sususu98/feat/gemini-cli-google-one
  • 46a6853 Merge pull request router-for-me#1568 from itsmylife44/add-cliproxyapi-dashboard
  • b3ccc55 Merge pull request router-for-me#1574 from fbettag/feat/gpt-5.3-codex-spark
  • f5f2c69 Merge pull request router-for-me#1595 from alexey-yanchenko/feature/cache-usage-from-codex-to-chat-completions
  • b5fe78e Merge pull request router-for-me#1597 from router-for-me/kimi-fix
  • ba4c114 Merge pull request router-for-me#16 from hkfires/main
  • 1b1ab1f Merge pull request router-for-me#1606 from router-for-me/add-qwen-3.5
  • 76294f0 Merge pull request router-for-me#1608 from thebtf/fix/tool-reference-proxy-prefix-mainline
  • 5da5674 Merge pull request router-for-me#161 from router-for-me/aistudio
  • 55f9381 Merge pull request router-for-me#1618 from alexey-yanchenko/fix/completions-usage
  • 252f7e0 Merge pull request router-for-me#1625 from thebtf/feat/tool-prefix-config
  • 2d12bec Merge pull request router-for-me#1627 from thebtf/fix/reasoning-effort-clamping
  • fff8664 Merge pull request router-for-me#1628 from thebtf/fix/masquerading-headers
  • 3e20b00 Merge pull request router-for-me#163 from router-for-me/nb
  • 9c04044 Merge pull request router-for-me#1635 from thebtf/fix/openai-translator-tool-streaming
  • 1825fc7 Merge pull request router-for-me#1643 from alexey-yanchenko/fix/gemini-prompt-tokens
  • a5f4166 Merge pull request router-for-me#1644 from possible055/main
  • 349a634 Merge pull request router-for-me#1645 from tinyc0der/fix/antigravity-tool-result-json
  • d4829c8 Merge pull request router-for-me#1652 from thebtf/fix/claude-translator-arguments
  • c3e12c5 Merge pull request router-for-me#1654 from alexey-yanchenko/feature/pass-file-inputs
  • 7b0eb41 Merge pull request router-for-me#1660 from Grivn/fix/claude-token-url
  • d6ec33e Merge pull request router-for-me#1662 from matchch/contribute/cache-user-id
  • 7cb398d Merge pull request router-for-me#1663 from rensumo/main
  • d24ea4c Merge pull request router-for-me#1664 from ciberponk/pr/responses-compaction-compat
  • 0da34d3 Merge pull request router-for-me#1668 from lyd123qw2008/fix/codex-usage-limit-retry-after
  • f1e9a78 Merge pull request router-for-me#1676 from piexian/feat/qwen-quota-handling-clean
  • fb48eee Merge pull request router-for-me#1680 from canxin121/fix/responses-stream-error-chunks
  • 816fb4c Merge pull request router-for-me#1682 from sususu98/fix/tool-result-image-parts
  • c66cb0a Merge pull request router-for-me#1683 from dusty-du/codex/device-login-flow
  • c25316f Merge pull request router-for-me#1684 from alexey-yanchenko/fix/input-audio-from-openai-to-antigravity
  • aa1da8a Merge pull request router-for-me#1685 from lyd123qw2008/fix/auth-auto-refresh-interval
  • 74bf7ed Merge pull request router-for-me#1686 from lyd123qw2008/fix/auth-refresh-concurrency-limit
  • 2c30c98 Merge pull request router-for-me#1687 from lyd123qw2008/fix/codex-refresh-token-reused-no-retry
  • 24bcfd9 Merge pull request router-for-me#1699 from 123hi123/fix/antigravity-primary-model-fallback
  • bb44e5e Merge pull request router-for-me#1701 from router-for-me/openai
  • ac3d47e Merge pull request router-for-me#173 from tobwen/feature/dynamic-model-routing
  • 41b1cf2 Merge pull request router-for-me#1734 from huangusaki/main
  • e73cf42 Merge pull request router-for-me#1750 from tpm2dot0/fix/claude-code-request-fingerprint-alignment
  • 5446cd2 Merge pull request router-for-me#1761 from margbug01/fix/thinking-chain-display
  • c23e46f Merge pull request router-for-me#1767 from router-for-me/antigravity
  • 725f4fd Merge pull request router-for-me#1768 from router-for-me/claude
  • d6272d3 Merge pull request router-for-me#177 from router-for-me/aistudio
  • 1cbc483 Merge pull request router-for-me#1771 from edlsh/fix/claude-cache-control-1769
  • 5da07ea Merge pull request router-for-me#1805 from router-for-me/thinking
  • 6ae15d6 Merge pull request router-for-me#1816 from sususu98/fix/antigravity-adaptive-effort
  • b436dad Merge pull request router-for-me#1822 from sususu98/fix/strip-defer-loading
  • 1d7329e Merge pull request router-for-me#1825 from router-for-me/vertex
  • 8d44be8 Merge pull request router-for-me#1834 from DragonFSKY/fix/sse-streaming-accept-encoding
  • 8dba32a Merge pull request router-for-me#185 from router-for-me/thinking
  • 3e7b645 Merge pull request router-for-me#186 from router-for-me/doc
  • a3846ea Merge pull request router-for-me#1870 from sususu98/fix/remove-instructions-restore
  • f6dfea9 Merge pull request router-for-me#1874 from constansino/fix/watcher-auth-event-storm-debounce
  • 96c7271 Merge pull request router-for-me#191 from router-for-me/gemini
  • 2b609dd Merge pull request router-for-me#1912 from FradSer/main
  • 4d08046 Merge pull request router-for-me#194 from router-for-me/gemini-key
  • 32c964d Merge pull request router-for-me#221 from router-for-me/gemini
  • b9eef45 Merge pull request router-for-me#222 from router-for-me/api
  • d4064e3 Merge pull request router-for-me#225 from jeffnash/feat/codex-mini-variants
  • 3264605 Merge pull request router-for-me#226 from router-for-me/headers
  • 87291c0 Merge pull request router-for-me#227 from router-for-me/api
  • 7b9cfbc Merge pull request router-for-me#23 from luispater/dev
  • 6ae1dd7 Merge pull request router-for-me#230 from router-for-me/api
  • 09ecba6 Merge pull request router-for-me#237 from TUGOhost/feature/support_auto_model
  • 1ede134 Merge pull request router-for-me#249 from ben-vargas/fix-gpt5-1-reasoning
  • faa483b Merge pull request router-for-me#257 from lollipopkit/main
  • 56a05d2 Merge pull request router-for-me#26 from luispater/flash-lite
  • 567227f Merge pull request router-for-me#268 from router-for-me/tools
  • 14ddfd4 Merge pull request router-for-me#270 from router-for-me/iflow
  • c40e005 Merge pull request router-for-me#274 from router-for-me/log
  • 9acfbcc Merge pull request router-for-me#275 from router-for-me/iflow
  • 798f65b Merge pull request router-for-me#28 from luispater/bugfix
  • 618511f Merge pull request router-for-me#280 from ben-vargas/feat-enable-gemini-3-cli
  • 670ce2e Merge pull request router-for-me#285 from router-for-me/iflow
  • b70bfd8 Merge pull request router-for-me#287 from ben-vargas/feat-amp-cli-module
  • 4f18809 Merge pull request router-for-me#29 from luispater/bugfix
  • b4d15ac Merge pull request router-for-me#296 from router-for-me/antigravity
  • d1cdedc Merge pull request router-for-me#303 from router-for-me/image
  • 7c3c24a Merge pull request router-for-me#306 from router-for-me/usage
  • d10ef7b Merge pull request router-for-me#31 from luispater/docker-build-sh
  • d1736cb Merge pull request router-for-me#315 from router-for-me/aistudio
  • 0ceee56 Merge pull request router-for-me#318 from router-for-me/log
  • 1aa0b6c Merge pull request router-for-me#322 from ben-vargas/feat-claude-opus-4-5
  • 1305f2f Merge pull request router-for-me#33 from luispater/docker
  • 9c1e3c0 Merge pull request router-for-me#334 from nestharus/feat/claude-thinking-and-beta-headers
  • 0832122 Merge pull request router-for-me#340 from nestharus/fix/339-thinking-openai-gemini-compat
  • 3675542 Merge pull request router-for-me#343 from router-for-me/misc
  • 179b8aa Merge pull request router-for-me#36 from luispater/ssh-tunnel
  • 18b5c35 Merge pull request router-for-me#366 from router-for-me/blacklist
  • 54a9c4c Merge pull request router-for-me#371 from ben-vargas/test-amp-tools
  • 73208c4 Merge pull request router-for-me#376 from auroraflux/feat/reasoning-suffix-support
  • cb580cd Merge pull request router-for-me#377 from router-for-me/gemini
  • 0de2560 Merge pull request router-for-me#379 from kaitranntt/docs/add-ccs-project
  • 54e2411 Merge pull request router-for-me#386 from auroraflux/feat/dedupe-thinking-metadata-helpers
  • d4dc7b0 Merge pull request router-for-me#39 from luispater/config_hash
  • 08a1d2e Merge pull request router-for-me#390 from NguyenSiTrung/main
  • 6eb94da Merge pull request router-for-me#404 from router-for-me/config
  • d72886c Merge pull request router-for-me#405 from thurstonsand/fix/amp-missing-proxy-routes
  • 6efba3d Merge pull request router-for-me#406 from router-for-me/api
  • bd68472 Merge pull request router-for-me#41 from kaixxx/main
  • b87b9b4 Merge pull request router-for-me#416 from router-for-me/amp
  • a7eeb06 Merge pull request router-for-me#418 from router-for-me/amp
  • c5df8e7 Merge pull request router-for-me#422 from router-for-me/amp
  • d282585 Merge pull request router-for-me#423 from router-for-me/amp
  • 7ea1447 Merge pull request router-for-me#428 from router-for-me/amp
  • b211c35 Merge pull request router-for-me#429 from heyhuynhgiabuu/feature/add-proxypal
  • 7f0c9b1 Merge pull request router-for-me#43 from kyle-the-dev/fix/gemini-schema-sanitization
  • 1b638b3 Merge pull request router-for-me#432 from huynguyen03dev/fix/amp-gemini-model-mapping
  • 42e818c Merge pull request router-for-me#435 from heyhuynhgiabuu/fix/amp-model-mapping-priority
  • 6f5f817 Merge pull request router-for-me#439 from router-for-me/log
  • 9ec8478 Merge pull request router-for-me#44 from luispater/gemini-web
  • d26ed06 Merge pull request router-for-me#441 from huynguyen03dev/fix/claude-to-openai-whitespace-text
  • 6cf1d8a Merge pull request router-for-me#444 from router-for-me/agry
  • 2d4c54b Merge pull request router-for-me#448 from router-for-me/iflow
  • 14ce6ae Merge pull request router-for-me#449 from sususu98/fix/gemini-cli-429-retry-delay-parsing
  • de77903 Merge pull request router-for-me#450 from router-for-me/amp
  • 5aa386d Merge pull request router-for-me#453 from router-for-me/amp
  • 0adc0ee Merge pull request router-for-me#455 from router-for-me/requestlog
  • 3efbd86 Merge pull request router-for-me#457 from router-for-me/requestlog
  • 15ed98d Merge pull request router-for-me#458 from router-for-me/agry
  • 6ad5e07 Merge pull request router-for-me#46 from router-for-me/cookie_snapshot
  • 92df0ca Merge pull request router-for-me#461 from router-for-me/aistudio
  • b7e3820 Merge pull request router-for-me#465 from router-for-me/think
  • b449d17 Merge pull request router-for-me#47 from router-for-me/dev
  • 5db3b58 Merge pull request router-for-me#470 from router-for-me/agry
  • 1da03bf Merge pull request router-for-me#479 from router-for-me/claude
  • a74ee3f Merge pull request router-for-me#481 from sususu98/fix/increase-buffer-size
  • 2760989 Merge pull request router-for-me#485 from router-for-me/think
  • 564bcba Merge pull request router-for-me#487 from router-for-me/amp
  • bb6312b Merge pull request router-for-me#488 from router-for-me/gemini
  • bc376ad Merge pull request router-for-me#49 from router-for-me/gemini-web
  • fc054db Merge pull request router-for-me#494 from ben-vargas/fix-gpt-reasoning-none
  • b6ad243 Merge pull request router-for-me#498 from teeverc/fix/claude-streaming-flush
  • c16a989 Merge pull request router-for-me#50 from router-for-me/auth-dev
  • b8194e7 Merge pull request router-for-me#500 from router-for-me/think
  • 7621ec6 Merge pull request router-for-me#501 from huynguyen03dev/fix/openai-compat-model-alias-resolution
  • 1c52a89 Merge pull request router-for-me#502 from router-for-me/iflow
  • 566120e Merge pull request router-for-me#505 from router-for-me/think
  • b07ed71 Merge pull request router-for-me#51 from router-for-me/gemini-web
  • 2fe8372 Merge pull request router-for-me#515 from teeverc/fix/response-rewriter-streaming-flush
  • 83a1fa6 Merge pull request router-for-me#52 from router-for-me/gemini-web
  • d5310a3 Merge pull request router-for-me#531 from AoaoMH/feature/auth-model-check
  • 8e4fbca Merge pull request router-for-me#533 from router-for-me/think
  • 5a75ef8 Merge pull request router-for-me#536 from AoaoMH/feature/auth-model-check
  • 707b07c Merge pull request router-for-me#537 from sukakcoding/fix/function-response-fallback
  • c28a5d2 Merge pull request router-for-me#54 from router-for-me/v6-test
  • 07bb89a Merge pull request router-for-me#542 from router-for-me/aistudio
  • e19ab3a Merge pull request router-for-me#543 from router-for-me/log
  • f6720f8 Merge pull request router-for-me#547 from router-for-me/amp
  • 88b101e Merge pull request router-for-me#549 from router-for-me/log
  • c9ce3a5 Merge pull request router-for-me#55 from router-for-me/v6-test
  • 3d01b3c Merge pull request router-for-me#553 from XInTheDark/fix/builtin-tools-web-search
  • 5e624cc Merge pull request router-for-me#558 from router-for-me/worker
  • fcecbc7 Merge pull request router-for-me#562 from thomasvan/fix/openai-claude-message-start-order
  • 600fd42 Merge pull request router-for-me#564 from router-for-me/think
  • a5b3ff1 Merge pull request router-for-me#569 from router-for-me/watcher
  • 45d382f Merge pull request router-for-me#57 from router-for-me/v6-test
  • f49e887 Merge pull request router-for-me#570 from fuguiKz/fix/antigravity-thinking-signature
  • 4afe1f4 Merge pull request router-for-me#571 from router-for-me/revert-570-fix/antigravity-thinking-signature
  • 2c743c8 Merge pull request router-for-me#572 from router-for-me/watcher
  • 4b9a260 Merge pull request router-for-me#575 from soilSpoon/feature/antigravity-gemini-compat
  • ae7b972 Merge pull request router-for-me#577 from router-for-me/refactor-watcher-phase3
  • c159180 Merge pull request router-for-me#58 from router-for-me/v6-test
  • 28420c1 Merge pull request router-for-me#580 from router-for-me/chore
  • 13eb526 Merge pull request router-for-me#582 from ben-vargas/fix-gemini-3-thinking-level
  • 774f1fb Merge pull request router-for-me#586 from router-for-me/chore
  • 361a69f Merge pull request router-for-me#59 from router-for-me/gemini-web-v6
  • bbd1fe8 Merge pull request router-for-me#598 from BigUncle/fix/token-refresh-loop
  • 68be2f0 Merge pull request router-for-me#60 from router-for-me/v6-test
  • 6bd9a03 Merge pull request router-for-me#602 from ben-vargas/fix-antigravity-propertynames
  • af2efa6 Merge pull request router-for-me#605 from soilSpoon/feature/amp-compat
  • 718ff7a Merge pull request router-for-me#609 from router-for-me/codex
  • e9d2905 Merge pull request router-for-me#61 from router-for-me/gemini-web
  • 6390886 Merge pull request router-for-me#611 from soilSpoon/feature/antigravity
  • 69d3a80 Merge pull request router-for-me#618 from router-for-me/amp
  • 9e268ad Merge pull request router-for-me#619 from router-for-me/gemini
  • cc8c46d Merge pull request router-for-me#62 from router-for-me/dev
  • 9617a7b Merge pull request router-for-me#621 from dacsang97/fix/antigravity-prompt-caching
  • 99478d1 Merge pull request router-for-me#623 from router-for-me/remote-OAuth
  • f607231 Merge pull request router-for-me#627 from router-for-me/gemini
  • 830b51c Merge pull request router-for-me#63 from router-for-me/gemini-web
  • 26fc65b Merge pull request router-for-me#633 from ben-vargas/fix-antigravity-applypayloadconfig
  • 10f8c79 Merge pull request router-for-me#634 from router-for-me/amp
  • 89254cf Merge pull request router-for-me#638 from neokotora/feat/add-gemini-3-flash
  • fc103f6 Merge pull request router-for-me#64 from router-for-me/bugfix
  • dbcbe48 Merge pull request router-for-me#641 from router-for-me/url-OAuth-add-ter
  • fcd6475 Merge pull request router-for-me#646 from router-for-me/amp
  • 80b6a95 Merge pull request router-for-me#65 from router-for-me/gemini-web
  • 27b43ed Merge pull request router-for-me#658 from moxi000/fix-responses-convert
  • 7e54156 Merge pull request router-for-me#66 from router-for-me/log
  • 2e538e3 Merge pull request router-for-me#661 from jroth1111/fix/streaming-bootstrap-forwarder
  • e19ddb5 Merge pull request router-for-me#663 from jroth1111/feat/fill-first-selector
  • 9bbe644 Merge pull request router-for-me#67 from router-for-me/rr
  • 4fd95ea Merge pull request router-for-me#68 from router-for-me/log
  • e52b542 Merge pull request router-for-me#684 from packyme/main
  • c06ac07 Merge pull request router-for-me#686 from ajkdrag/main
  • 2b7ba54 Merge pull request router-for-me#688 from router-for-me/feature/request-id-tracking
  • c678ca2 Merge pull request router-for-me#69 from router-for-me/reload
  • d502840 Merge pull request router-for-me#695 from NguyenSiTrung/main
  • 5dc0dbc Merge pull request router-for-me#697 from Cubence-com/main
  • 250628d Merge pull request router-for-me#70 from router-for-me/log
  • 3faa1ca Merge pull request router-for-me#700 from router-for-me/log
  • 3f949b7 Merge pull request router-for-me#704 from tinyc0der/add-index
  • b7409dd Merge pull request router-for-me#706 from router-for-me/log
  • 8cfa228 Merge pull request router-for-me#71 from ben-vargas/fix-max_output_tokens-codex-oauth
  • 8e88a61 Merge pull request router-for-me#72 from router-for-me/log
  • cd5b807 Merge pull request router-for-me#722 from hungthai1401/bugfix/remove-extra-args
  • 2eb05ec Merge pull request router-for-me#727 from nguyenphutrong/main
  • 3f50da8 Merge pull request router-for-me#745 from router-for-me/auth
  • 62090f2 Merge pull request router-for-me#750 from router-for-me/config
  • 3368678 Merge pull request router-for-me#756 from leaph/check-ai-thinking-settings
  • 4579248 Merge pull request router-for-me#757 from ben-vargas/fix-thinking-toolchoice-conflict
  • f39a460 Merge pull request router-for-me#761 from router-for-me/log
  • a2eba2c Merge pull request router-for-me#763 from mvelbaum/feature/improve-oauth-use-logging
  • bd1ec84 Merge pull request router-for-me#767 from router-for-me/amp
  • a38a9c0 Merge pull request router-for-me#770 from router-for-me/api
  • a8cb018 Merge pull request router-for-me#772 from soffchen/main
  • 5302739 Merge pull request router-for-me#776 from router-for-me/fix-ag-claude
  • beba2a7 Merge pull request router-for-me#78 from router-for-me/gemini
  • 9fa2a7e Merge pull request router-for-me#782 from router-for-me/modelmappings
  • 857c880 Merge pull request router-for-me#785 from router-for-me/gemini
  • 49b9709 Merge pull request router-for-me#787 from sususu98/fix/antigravity-429-retry-delay-parsing
  • e947266 Merge pull request router-for-me#795 from router-for-me/modelmappings
  • cb56cb2 Merge pull request router-for-me#800 from router-for-me/modelmappings
  • 6a66d32 Merge pull request router-for-me#803 from HsnSaboor/fix-invalid-function-names-sanitization-v2
  • 736e0aa Merge pull request router-for-me#814 from router-for-me/aistudio
  • cf5476e Merge pull request router-for-me#82 from router-for-me/mgmt
  • 750b930 Merge pull request router-for-me#823 from router-for-me/translator
  • c8b33a8 Merge pull request router-for-me#824 from router-for-me/script
  • 6b413a2 Merge pull request router-for-me#83 from router-for-me/oaifix
  • b9d1e70 Merge pull request router-for-me#830 from router-for-me/gemini
  • 66f5269 Merge pull request router-for-me#837 from loocor/main
  • 389c8ec Merge pull request router-for-me#85 from router-for-me/iflow
  • 8f8dfd0 Merge pull request router-for-me#850 from can1357/main
  • ee33863 Merge pull request router-for-me#857 from router-for-me/management-update
  • ae933df Merge pull request router-for-me#858 from Finesssee/add-proxypilot
  • 69ca0a8 Merge pull request router-for-me#859 from shunkakinoki/fix/objectstore-sync-race-condition
  • 2872663 Merge pull request router-for-me#861 from umairimtiaz9/fix/gemini-cli-backend-project-id
  • e124db7 Merge pull request router-for-me#862 from router-for-me/gemini
  • e02b2d5 Merge pull request router-for-me#868
  • 7beaf0e Merge pull request router-for-me#869
  • 6dbfdd1 Merge pull request router-for-me#871 from decolua/patch-1
  • 73db4e6 Merge pull request router-for-me#874 from MohammadErfan-Jabbari/fix/streaming-finish-reason-tool-calls
  • 1fef90f Merge pull request router-for-me#877 from zhiqing0205/main
  • c1db2c7 Merge pull request router-for-me#888 from router-for-me/api-call-TOKEN-fix
  • 4bc8a52 Merge pull request router-for-me#90 from router-for-me/dethink
  • d73b61d Merge pull request router-for-me#901 from uzhao/vscode-plugin
  • 4adb9ee Merge pull request router-for-me#921 from router-for-me/atgy
  • c83365a Merge pull request router-for-me#938 from router-for-me/log
  • a68e0dd Merge pull request router-for-me#94 from router-for-me/gemini-web
  • 6b3604c Merge pull request router-for-me#943 from ben-vargas/fix-tool-mappings
  • 95f87d5 Merge pull request router-for-me#947 from pykancha/fix-memory-leak
  • d6721e4 Merge pull request router-for-me#95 from router-for-me/gemini-web
  • 80db2dc Merge pull request router-for-me#955 from router-for-me/api
  • 28bd132 Merge pull request router-for-me#971 from router-for-me/codex
  • 8056af4 Merge pull request router-for-me#99 from router-for-me/banana
  • 0766c49 Merge pull request router-for-me#994 from adrenjc/fix/cross-model-thinking-signature
  • bb45fee Merge remote-tracking branch 'origin/dev' into dev
  • a7dae6a Merge remote-tracking branch 'origin/dev' into dev
  • 3c5390a Merge remote-tracking branch 'origin/v6' into v6
  • 2a4d3e6 Merge remote-tracking branch 'upstream/dev' into dev
  • 4040b1e Merge remote-tracking branch 'upstream/dev' into dev
  • a277302 Merge remote-tracking branch 'upstream/main'
  • c0f9b15 Merge remote-tracking branch 'upstream/main' into feature/canceled
  • a45c6de Merge remote-tracking branch 'upstream/main' into feature/canceled
  • 47b5ebf Modify docker compose for remote image and local build
  • 0371062 Normalize select to STRING type in Gemini OpenAI request outputs
  • 5ec6450 Numerous Comments Added and Extensive Optimization Performed using Roo-Code with CLIProxyAPI itself.
  • 76aa917 Optimize cache-control JSON mutations in Claude executor
  • 63d4de5 Pass cache usage from codex to openai chat completions
  • 0cbfe7f Pass file input from /chat/completions and /responses to codex and claude
  • 4ecc798 Reduce the size of gemini-web's package files
  • ef68a97 Refactor API handlers and proxy logic
  • 1483c31 Refactor API handlers organization and simplify error response handling
  • 9102ff0 Refactor API handlers to implement retry mechanism with configurable limits and improved error handling
  • e73f165 Refactor API handlers to streamline response handling
  • 512f2d5 Refactor API request flow and streamline response handling
  • 6bbdf67 Refactor Gemini API handlers to standardize response field names and improve model descriptions
  • 70e9169 Refactor cliCancel calls to remove unused resp argument across handlers.
  • 79acea5 Refactor authentication and service initialization code
  • f49a530 Refactor client handling and improve error responses
  • 7209fa2 Refactor client map construction to include all client types and enhance callback updates
  • 8c555c4 Refactor codebase
  • 5aba4ca Refactor docker-compose config for simplicity and consistency
  • c5cc238 Refactor error handling and variable declarations in browser and logging modules
  • 20985d1 Refactor executor error handling and usage reporting
  • 582280f Refactor token management, client initialization, and project handling
  • 305916f Refactor translator packages for OpenAI Chat Completions
  • e11637d Refactor translator packages for OpenAI Chat Completions
  • e0bff9f Refactor translator packages for OpenAI Chat Completions
  • bff6f66 Refactor translator packages for OpenAI Chat Completions
  • 1f46dc2 Refactor translator packages for OpenAI Chat Completions
  • e3994ac Refactor translator packages for OpenAI Chat Completions
  • 57ead9a Refactor user onboarding and token management
  • d6037e5 Refine .gitignore and .dockerignore files
  • d00604d Refine Codex instructions for GPT-5 use case
  • 0983119 Remove API key truncation in Gemini client ID generation
  • b6f8677 Remove commented debug logging in ConvertOpenAIResponsesRequestToGeminiCLI
  • f6a3a1d Remove compat test under translator per review
  • 4070c9d Remove interleaved-thinking header from requests
  • 406a272 Remove opencode-antigravity-auth submodule
  • b0f7273 Remove redundant dataUglyTag parsing logic in streaming responses
  • 9f9a4fc Remove unused submodules
  • d4f5ec2 Removed the cookie snapshot feature.
  • 8a2285e Reorganize and reintroduce Management API section in README files
  • d4709ff Replace path with filepath for cross-platform compatibility
  • 4375822 Resolve logsDir path relative to configuration directory in FileRequestLogger
  • 4e67cd4 Resolve relative logsDir to executable directory in FileRequestLogger
  • edeadfc Restrict CLI access to localhost and update README for Gemini compatibility
  • 156e3b0 Restrict management key validation to non-localhost requests only
  • d81abd4 Returned the Code Comment I trashed
  • 7481c0e Revert "Fix invalid thinking signature when proxying Claude via Antigravity"
  • 0659ffa Revert "Merge pull request router-for-me#1627 from thebtf/fix/reasoning-effort-clamping"
  • d193307 Revert "feat(translator): Pass through imageConfig"
  • 3ebbab0 Revert watcher.go in "fix: enable hot reload for amp-model-mappings config"
  • 0c0aae1 Robust change detection: replaced string concat with struct-based compare in hasModelMappingsChanged; removed boolTo01. • Performance: pre-allocate map and regex slice capacities in UpdateMappings. • Verified with amp module tests (all passing)
  • 3f78401 Set the default Docker timezone to Asia/Shanghai
  • d880d1a Set the http request header and update client metadata handling
  • a6cba25 Small fix to filter out Top_P when Temperature is set on Claude to make requests go through
  • 7a6adfa Suppress debug logs for model routing and ignore empty tools arrays
  • 9319602 UPDATE README
  • 09b9d3b Unlock mutex before returning error in handlers.go to prevent deadlocks
  • ee0a91f Update GitHub funding model with username
  • 9c6832c Update LICENSE to reflect extended copyright ownership
  • caf386c Update MANAGEMENT_API.md with expanded documentation for endpoints
  • 6d30faf Update Management API CN docs for authentication requirements
  • bdac24b Update PassthroughGeminiResponseStream to handle [DONE] marker
  • e074e95 Update README
  • 1bb0d11 Update README
  • 2a2a276 Update README
  • c2b2c9e Update README documentation to clarify auth-dir configuration for Windows users
  • f1d9364 Update README documentation to clarify auth-dir configuration for Windows users
  • 36ee21e Update README to include Codex support and multi-account load balancing details
  • 30d5d87 Update README to include Codex support and multi-account load balancing details
  • 2b1762b Update README to reflect usage of Qwen models instead of Claude models
  • 0652241 Update README to rename gpt-5-nano to gpt-5-minimal in usage examples
  • 9fc2e1b Update README.md
  • c04c383 Update README.md
  • ffddd1c Update README.md
  • f89feb8 Update README.md
  • 386ccff Update README.md
  • cbcb061 Update README_CN.md
  • c8843ed Update README_CN.md
  • 00bd6a3 Update .goreleaser.yml to include config.example.yaml instead of config.yaml in release assets
  • d2394b0 Update .goreleaser.yml to specify archive formats for different OS targets
  • ed6e775 Update config key gpt-5-codex to force-gpt-5-codex for clarity in example configuration file
  • 4883349 Update doc
  • 0b02693 Update example configuration file (config.example.yaml)
  • 9fce13f Update internal module imports to use v5 package path
  • ce0c6aa Update internal/api/modules/amp/proxy.go
  • 6f2fbdc Update internal/api/modules/amp/proxy.go
  • 1ce56d7 Update internal/registry/model_definitions_static_data.go
  • bb9fe52 Update internal/translator/codex/openai/responses/codex_openai-responses_request_test.go
  • 0a2555b Update internal/tui/auth_tab.go
  • 27734a2 Update internal/util/translator.go
  • 1aad033 Update issue templates
  • d222469 Update issue templates
  • 46fa32f Update log level in OpenURL function from Debug to Info
  • 8dd7f8e Update model name to include release date in API handlers
  • 5ab3032 Update sdk/api/handlers/claude/code_handlers.go
  • 08d21b7 Update sdk/auth/filestore.go
  • f38b78d Update the README to include Docker Compose usage instructions
  • ef922b2 Update workflows and build process for enhanced metadata injection
  • d410421 Updated README.md
  • e785bfc Use unprefixed Claude request for translation
  • b7d6ae1 Windows build instructions
  • ec354f7 add default medium reasoning case for gpt-5-codex-mini
  • 240e782 add default medium reasoning case for gpt-5-codex-mini
  • 7004295 build(docker): move stats export execution after image build
  • 7b546ea build(goreleaser): inject build metadata into binary during release
  • 3be6175 chore(auth): add debug log for iflow token response body
  • 19c32f5 chore(config): comment out API keys and update default settings for logging and usage statistics
  • ee552f8 chore(config): update ignore patterns
  • 7cc3bd4 chore(deps): mark golang.org/x/text as indirect
  • 55789df chore(docker): update Go base image to 1.26-alpine
  • 0db0b03 chore(docs): add and refine package-level comments across modules
  • 2f1874e chore(docs): remove Cubence sponsorship from README files and delete related asset
  • d1220de chore(docs): remove legacy documentation and unused PR workflow file
  • 72325f7 chore(docs): remove outdated allow-localhost-unauthenticated section from API docs
  • 4832297 chore(docs): update README with GUI client, WebUI links, and detailed SDK documentation
  • b680c14 chore(docs): update sponsor image links in README files
  • 09fec34 chore(docs): update sponsor info and GLM model details in README files
  • c6b3913 chore(executor): add debug logging for API request errors
  • c5df806 chore(executor): add debug logging for API request errors
  • e5b5dc8 chore(executor): remove unused Openai-Beta header from Codex executor
  • d6cc976 chore(executor): remove unused header scrubbing function
  • c3b6f39 chore(git): stop ignoring .idea and data directories
  • 5010b09 chore(gitignore): add cli-proxy-api to ignored files
  • aa25820 chore(log): Refine debug messages for config reloads
  • 837ae1b chore(logging): add debug logs for executor Refresh methods
  • 1bbbd16 chore(logging): clarify 429 rate-limit retries in Gemini executor
  • c65f64d chore(registry): comment out rev19-uic3-1p model config
  • 88a0f09 chore(registry): disable gemini 2.5 flash image preview model
  • 453aaf8 chore(runtime): update Qwen executor user agent and headers for compatibility with new runtime standards
  • ae1e8a5 chore(runtime, registry): update Codex client version and GPT-5.3 model creation date
  • cb83985 chore(server): remove debug println statement from server.go
  • 2cbe4a7 chore(translator): remove unnecessary whitespace in gemini_openai_response code
  • e49a1c0 chore(translator): update cache functions to include model name parameter in tests
  • 020df41 chore(tui): update readme, fix usage
  • f9a170a chore(watcher): Clarify API key client reload log message
  • 80f6d6f chore(watcher): add YAML serialization for config change tracking and improve quota-exceeded debug logs
  • 06a3e97 chore: Ignore .serena directory
  • f137eb0 chore: add codex, agents, and opencode dirs to ignore files
  • e0be6c5 chore: ignore .bmad directory
  • a8a5d03 chore: ignore .idea directory in git and docker builds
  • 9b956f6 chore: ignore agent and bmad artifacts
  • 393e38f chore: ignore gemini metadata files
  • 70ee4e0 chore: remove unused httpx sdk package
  • 47b9503 chore: revert changes to internal/translator to comply with path guard
  • 03334f8 chore: revert gitignore change
  • af82855 chore: update .gitignore include .env
  • fb76071 ci(homebrew): add workflow to auto-bump Homebrew formula on release
  • 9ff21b6 ci(homebrew): remove workflow for Homebrew formula bump
  • 5546c9d ci(homebrew): trigger workflow on tag push instead of release event
  • 506699f ci(workflows): update pr-test-build workflow
  • 848a620 ci: add GitHub Action to block changes under internal/translator directory in PRs
  • 0cfe310 ci: retrigger workflows
  • ac0e387 cleanup(translator): remove leftover instructions restore in codex responses
  • 375ef25 docs(config): clarify merge mapping behavior
  • b693d63 docs(config): comment out example API key configurations
  • c4e3646 docs(config): expand model exclusion examples
  • 896de02 docs(config): reorder antigravity model alias example
  • fc329eb docs(config): simplify oauth model alias example
  • 695eaa5 docs(instructions): add Codex operational and review guidelines
  • 41975c9 docs(management): document remote-management.disable-control-panel option
  • 717c703 docs(readme): add CCS (Claude Code Switch) to projects list
  • 1ff5de9 docs(readme): add CLIProxyAPI Dashboard to project list
  • 97af785 docs(readme): add CLIProxyAPI Linux installer instructions
  • 64e85e7 docs(readme): add Cubence sponsor
  • ed8eaae docs(readme): add PackyCode sponsor
  • 56b4d7a docs(readme): add ProxyPal CLIProxyAPI GUI to project list
  • a00b79d docs(readme): add Quotio to community projects section
  • dbba710 docs(readme): add ZeroLimit to projects based on CLIProxyAPI
  • 8549a92 docs(readme): add ZeroLimit to projects based on CLIProxyAPI
  • 6ec0288 docs(readme): add MANAGEMENT_PASSWORD environment variable documentation
  • 5891785 docs(readme): clarify model definition and add usage example for undefined models
  • 92bb642 docs(readme): document Git-backed configuration and token store setup
  • bc9a24d docs(readme): reposition CPA-XXX Panel section for improved visibility
  • 8e749ac docs(readme): update GLM model version from 4.6 to 4.7 in README and README_CN
  • 69e09d9 docs(readme): update GLM model version from 4.6 to 4.7 in README and README_CN
  • 21bbcec docs(runtime): document reasoning effort precedence
  • 3ffd87d docs(sdk-access): add SDK usage guides in English and Chinese
  • fe3ebe3 docs(translator): update Codex Claude request transform docs
  • 93414f1 feat (auth): CLI OAuth supports pasting callback URLs to complete login - Added callback URL resolution and terminal prompt logic - Codex/Claude/iFlow/Antigravity/Gemini login supports callback URL or local callback completion - Update Gemini login option signature and manager call - CLI default prompt function is compatible with null input to continue waiting
  • 96b55ac feat(aistudio): normalize thinking budget in request translation
  • 8aaed4c feat(aistudio): support non-streaming responses
  • c32e013 feat(aistudio): track Gemini usage and improve stream errors
  • 70d6b95 feat(amp): add /news.rss proxy route
  • 4a135f1 feat(amp): add hot-reload support for upstream URL and localhost restriction
  • 2cd5980 feat(amp): add model mapping support for routing unavailable models to alternatives
  • c4c02f4 feat(amp): add partial reload support with config change detection
  • 225e2c6 feat(amp): add per-client upstream API key mapping support
  • 5d12d4c feat(amp): add response rewriter for model name substitution in responses
  • acdfb3b feat(amp): add root-level /threads routes for CLI compatibility
  • ed5ec5b feat(amp): enhance model mapping and Gemini thinking configuration
  • 8f1dd69 feat(amp): require API key authentication for management routes
  • 0ebabf5 feat(antigravity): add FetchAntigravityProjectID function and integrate project ID retrieval
  • f27672f feat(antigravity): add Gemini 3 Flash Preview model definition with enhanced capabilities
  • 412148a feat(antigravity): add function ID to FunctionCall and FunctionResponse models
  • bc6c4cd feat(antigravity): add logging for cached token setting errors in responses
  • 1231dc9 feat(antigravity): add payload config support to Antigravity executor
  • a87f09b feat(antigravity): add session ID generation and mutex for random source
  • 09923f6 feat(antigravity): add streaming support for Claude model requests
  • 6b37f33 feat(antigravity): add unique identifier for tool use blocks in response
  • 68a2777 feat(antigravity): enable token counting via API with resilient routing
  • a283545 feat(antigravity): enforce thinking budget limits for Claude models
  • 9058d40 feat(antigravity): enhance prompt caching support and update agent version
  • 5fda6f8 feat(antigravity): implement non-streaming execution for Claude model requests
  • e5312fb feat(antigravity): support canonical names for antigravity models
  • f3c164d feat(antigravity): update to v1.19.5 with new models and Claude 4-6 migration
  • ee171bc feat(api): add ManagementTokenRequester interface for management token request endpoints
  • bbed134 feat(api): add GetAuthStatus method to ManagementTokenRequester interface
  • 93a6e2d feat(api): add comprehensive ampcode management endpoints
  • 2a6d8b7 feat(api): add endpoint to retrieve request logs by ID
  • 8286caa feat(api): add id token claims extraction for codex auth entries
  • d18cd21 feat(api): add management model definitions endpoint
  • b1b379e feat(api): add non-streaming keep-alive support for idle timeout prevention
  • 7b7871e feat(api): add oauth excluded model management
  • 28218ec feat(api): implement granular client type metrics in server updates
  • ebec293 feat(api): integrate TokenStore for improved auth entry management
  • 4c07ea4 feat(api): return structured JSON error responses
  • 20f3e62 feat(auth): Add stable label to Gemini Web tokens for logging
  • f228a4d feat(auth): Enhance Gemini web auth with flexible input and UI
  • a45d210 feat(auth): Improve Gemini web auth with email label detection
  • 8ca041c feat(auth): Use user info for iFlow auth identifier
  • 3f385a8 feat(auth): add "antigravity" provider to ignored access_token fields in filestore
  • 5a7e5bd feat(auth): add Antigravity onboarding with tier selection
  • 2724630 feat(auth): add Gemini Web token saving endpoint
  • 4fd70d5 feat(auth): add callback forwarder support for Web UI in OAuth flows
  • 6b6d030 feat(auth): add custom HTTP client with utls for Claude API authentication
  • 059bfee feat(auth): add hashed account ID to credential filenames for team plans
  • b52a5cc feat(auth): add iFlow cookie-based authentication support
  • f1f24f5 feat(auth): add iFlow provider support with multi-account load balancing
  • 96cebd2 feat(auth): add interactive prompts to Gemini web auth flow
  • 5983e3e feat(auth): add oauth provider model blacklist
  • f6de2a7 feat(auth): add per-key proxy support and enhance API key configuration handling
  • f26da24 feat(auth): add proxy information to debug logs
  • 9c341f5 feat(auth): add skip persistence context key for file watcher events
  • 7089724 feat(auth): add support for request_retry and disable_cooling overrides
  • 8fc7387 feat(auth): centralize token store management and enhance persistence
  • e68a603 feat(auth): enable model suspension and resumption logic in AuthManager
  • ac3ecd5 feat(auth): enhance Gemini CLI onboarding and project verification
  • 8fa52e9 feat(auth): enhance Gemini web auth with macOS support and input fallback
  • 1c91823 feat(auth): enhance DoLogin to include Gemini CLI user onboarding flow
  • 6046a8c feat(auth): enhance watcher with asynchronous dispatch and buffering
  • 9823dc3 feat(auth): hash account ID for improved uniqueness in credential filenames
  • 792ec49 feat(auth): implement incremental auth updates with queue integration
  • 2eef687 feat(auth): improve OpenAI compatibility normalization and API key handling
  • 3933762 feat(auth): include email attribute in auth files response
  • 4008be1 feat(auth): introduce auth.providers for flexible authentication configuration
  • ab55373 feat(auth): introduce per-model state tracking and enhanced error handling
  • 7c642be feat(auth): normalize OpenAI compatibility entries and enhance proxy configuration
  • 7248f65 feat(auth): prevent filestore writes on unchanged metadata
  • e9eb4db feat(auth): refresh API key during cookie authentication
  • 2e836ce feat(auth): standardize last_refresh metadata handling across executors
  • a4767fd feat(auth, docs): add SDK guides and local password support for management
  • 9761ac5 feat(auth, docs): add label support for Gemini web token management
  • 90967c0 feat(auth-files): expose quota runtime fields for analytics
  • beec172 feat(backend): add optional usage persistence
  • ce569ab feat(buildinfo): add build metadata and expose via HTTP headers
  • bbcb555 feat(cache): add signature cache for Claude thinking blocks
  • 2ce3553 feat(cache): handle gemini family in signature cache with fallback validator logic
  • 3a43ecb feat(caching): implement Claude prompt caching with multi-turn support
  • d7d54fa feat(ci): add cleanup step for temporary Docker tags in workflow
  • 3164932 feat(ci): add multi-arch Docker builds and manifest creation to workflow
  • 6b23e2d feat(claude): add Claude 4.5 Haiku model definition
  • c7196ba feat(claude): add model alias mapping and improve key normalization
  • 00280b6 feat(claude): add native request cloaking for non-claude-code clients
  • d0e694d feat(claude): add thinking model variants and beta headers support
  • 239a287 feat(claude): clamp thinking budget to max_tokens constraints
  • 41577bc feat(claude): map Anthropic 'thinking' to Gemini thinkingBudget
  • 11b0efc feat(claude-executor): add ZSTD decoding support for Claude executor responses
  • 514f5a8 feat(cliproxy): Rebind auth executors on config change
  • 49c52a0 feat(cliproxy): enhance OpenAI compatibility detection and executor registration
  • 3a436e1 feat(cliproxy): implement model aliasing and hashing for Codex configurations, enhance request routing logic, and normalize Codex model entries
  • 50e6d84 feat(cliproxy): introduce global model name mappings for improved aliasing and routing
  • ce7474d feat(cliproxy): propagate thinking support metadata to aliased models
  • 24446a4 feat(cliproxy): skip persisting runtime-only websocket auths
  • 022aa81 feat(cliproxy): support wildcard exclusions for models
  • 384578a feat(cliproxy, gemini): improve ID matching logic and enrich normalized model output
  • 829dd06 feat(cliproxy/auth): restructure auth candidate selection and ensure synchronization
  • ac62611 feat(codex): add OpenCode instructions based on user agent
  • 48cba39 feat(codex): add config toggle for codex instructions injection
  • ca09db2 feat(codex): add gpt-5.2 codex prompt handling
  • 6494330 feat(codex): add subscription date fields to ID token claims
  • 65b4e1e feat(codex): enable instruction toggling and update role terminology
  • 6600d58 feat(codex): enhance input transformation and remove unused safety_identifier field
  • ac3ca0a feat(codex): include plan type in auth filename
  • 05e55d7 feat(codex): update gpt-5.2 codex prompt instructions
  • fc6aa8e feat(config): Gracefully handle empty or invalid optional config
  • 5fd4a8b feat(config): Remove OpenAI providers with empty BaseURL
  • 0aa8706 feat(config): Treat empty BaseURL for Codex keys as deletion
  • 443c453 feat(config): add commercial-mode to optimize HTTP middleware for lower memory usage
  • 5c3a013 feat(config): add configurable host binding for server (router-for-me#454)
  • 3e4858a feat(config): add log file size limit configuration router-for-me#535
  • 6d8609e feat(config): add payload filter rules to remove JSON paths
  • f8cebb9 feat(config): add per-key model blacklist for providers
  • 480cd71 feat(config): add pruning of stale YAML mapping keys during config save
  • 44b6c87 feat(config): add support for Fork in OAuth model mappings with alias handling
  • 52b6306 feat(config): add support for model prefixes and prefix normalization
  • f571b1d feat(config): add support for raw JSON payload rules
  • 4c033b3 feat(config): disable logging and usage stats by default
  • c3ef46f feat(config): supplement missing default aliases during antigravity migration
  • cfb9cb8 feat(config): support HTTP headers across providers
  • 48ffc4d feat(config): support excluded vertex models in config
  • 6a258ff feat(config): track routing and cloak changes in config diff
  • 4bc1ed6 feat(config): use block style for YAML maps/lists; keep [] for empty
  • 0d8134a feat(config): use block style for YAML maps/lists; keep [] for empty
  • 25ba042 feat(config, usage): add usage-statistics-enabled option and dynamic toggling
  • d02bf9c feat(diff): add support for model prefix changes in config diff logic
  • 5df195e feat(docker): use environment variables for volume paths
  • e8e3bc8 feat(executor): add HttpRequest support across executors for better http request handling
  • ac59023 feat(executor): add CountTokens support across all executors
  • e783923 feat(executor): add debug logs for rate-limiting retries in Gemini CLI executor
  • 6a3de3a feat(executor): add intelligent retry logic for 429 rate limits
  • bda04ee feat(executor): add model-specific support for "gemini-3-pro" in execution and payload handling
  • f30ffd5 feat(executor): add request_id to error logs
  • 49c1740 feat(executor): add session ID and HMAC-SHA256 signature generation for iFlow API requests
  • 7a77b23 feat(executor): add token refresh timeout and improve context handling during refresh
  • ecc850b feat(executor): apply payload rules using requested model
  • 59a448b feat(executor): centralize systemInstruction handling for Claude and Gemini-3-Pro models
  • 6a66b68 feat(executor): enforce minimum thinking budget for antigravity models
  • 67985d8 feat(executor): enhance Antigravity payload with user role and dynamic system instructions
  • 2a663d5 feat(executor): enhance payload translation with original request context
  • 5ec9b5e feat(executor): normalize thinking budget across all Gemini executors
  • 4ba5b43 feat(executor): share SSE usage filtering across streams
  • 1b2f907 feat(executor): update system instruction handling for Claude and Gemini-3-Pro models
  • 1b2e3dc feat(gemini): Implement pseudo-streaming and improve context reuse
  • c1c62a6 feat(gemini): add Gemini 3.1 Pro Preview model definitions
  • 7c1c4ee feat(gemini): add Gemini API key endpoints
  • 08ab6a7 feat(gemini): add per-key model alias support for Gemini provider
  • a53c84d feat(gemini): apply default safety settings across request translators
  • 3ac5f05 feat(gemini): prefer official reasoning fields, add extra_body(cherry studio) fallback
  • 846e75b feat(gemini): route gemini-3.1-flash-image identically to gemini-3-pro-image
  • f3ccd85 feat(gemini-cli): add Google One login and improve auto-discovery
  • d0aa741 feat(gemini-cli): add multi-project support and enhance credential handling
  • 3f9c959 feat(gemini-cli): support image content in Claude request conversion
  • e313d39 feat(gemini-executor): implement CountTokens method with request translation and API integration
  • 5cb3782 feat(gemini-translators): set include_thoughts when mapping thinking
  • 82187bf feat(gemini-web): Add conversation affinity selector
  • 8858e07 feat(gemini-web): Add support for custom auth labels
  • 41effa5 feat(gemini-web): Add support for image generation with Gemini models through the OpenAI chat completions translator.
  • deaa64b feat(gemini-web): Add support for real Nano Banana model
  • 9bb7df7 feat(gemini-web): Enable config hot-reload and fix Gem selection
  • 22a6933 feat(gemini-web): Implement proactive PSIDTS cookie rotation
  • f2201da feat(gemini-web): Index and look up conversations by suffix
  • 50c8f7f feat(gemini-web): Inject fallback text for image-only flash model responses
  • 2175a10 feat(gemini-web): Introduce stable account label for identification
  • 6080527 feat(gemini-web): Namespace conversation index by account label
  • 43665cb feat(gemini-web): Replace code-mode with flexible gem-mode
  • e4dd22b feat(gemini-web): squash all features and fixes for gemini-web
  • 4eb1e60 feat(handlers): add test to verify no retries after partial stream response
  • c8029b7 feat(iflow): Add User-Agent header to API requests
  • 3f4f8b3 feat(iflow): add cookie-based authentication endpoint
  • 2b387e1 feat(iflow): add iflow-rome model definition
  • 4504ba5 feat(iflow): add masked token logs; increase refresh lead to 24h
  • 6403ff4 feat(iflow): add model-specific thinking configs for GLM-4.7 and MiniMax-M2.1
  • b326ec3 feat(iflow): add thinking support for iFlow models
  • 395164e feat(log): Add separator when saving client credentials
  • 92f13fc feat(logging): add upstream API request/response capture to streaming logs
  • e54d2f6 feat(logging): add version info to request log output
  • 9f45806 feat(logging): centralize sensitive header masking
  • 0e4148b feat(logging): disambiguate OAuth credential selection in debug logs
  • e76ba0e feat(logging): implement request ID tracking and propagation
  • f1c4caf feat(logging): integrate logrus with custom Gin middleware for enhanced request logging and recovery
  • cf734f7 feat(logging): introduce centralized logging with custom format and Gin integration
  • 6db8d2a feat(logging): make error-logs-max-files configurable
  • 1fbbba6 feat(logging): order log fields for improved readability
  • f6d6251 feat(logging): revamp request logger to support streaming and temporary file spooling
  • 007c330 feat(logging): scope request ID tracking to AI API endpoints
  • bb86a0c feat(logging, executor): add request logging tests and WebSocket-based Codex executor
  • 6d98a71 feat(login): add interactive project selection and improve onboarding flow
  • 943a8c7 feat(logs): add limit query param to cap returned logs
  • 2e328dd feat(management): Improve logging for management route status
  • a163490 feat(management): add PATCH endpoint to enable/disable auth files
  • ab76cb3 feat(management): add Vertex service account import and WebSocket auth management
  • 2662f91 feat(management): add PostOAuthCallback handler to token requester interface
  • ade7194 feat(management): add generic API call handler to management endpoints
  • 72cb268 feat(management): add log retrieval and cleanup endpoints
  • 4a31f76 feat(management): add proxy support for management asset synchronization
  • c589c0d feat(management): add support for control panel asset synchronization
  • f0e73ef feat(management): add vertex api key and oauth model mappings endpoints
  • c9fc033 feat(management): support in-memory auth listing with disk fallback
  • 3156109 feat(management): 支持管理接口调整日志大小/强制前缀/路由策略
  • cd22c84 feat(management): 更新OAuth模型映射的清理逻辑以增强数据安全性
  • b5ad978 feat(managementasset): Authenticate GitHub API requests
  • c75e524 feat(managementasset): add MANAGEMENT_STATIC_PATH override
  • 57195fa feat(managementasset): enforce 3-hour rate limit on management asset update checks
  • f8dcd70 feat(mgmt): support YAML config retrieval and updates via /config.yaml
  • d03a75d feat(middleware): add path exclusion for request logging in management routes
  • cd2da15 feat(models): add GPT 5.2 model definition and prompts
  • 9d975e0 feat(models): add support for GLM-4.7 and MiniMax-M2.1
  • b2ca493 feat(models): add support for Claude 4.5 Sonnet model in registry
  • cfa8ddb feat(oauth): add remote OAuth callback support with session management
  • 95096bc feat(openai): add responses/compact support
  • a174d01 feat(openai): handle thinking.budget_tokens from Anthropic-style requests
  • e41d127 feat(openai-compat): enhance provider key handling and model resolution
  • 1548c56 feat(pprof): add support for configurable pprof HTTP debug server
  • 9253bdb feat(provider): Introduce dedicated provider type for Gemini-Web
  • 562a49a feat(provider/gemini-web): Prioritize explicit label for account identification
  • 6b5aefc feat(proxy): add SOCKS5 support and improve proxy handling
  • 3b421c8 feat(qwen): add rate limiting and quota error handling
  • 9abcaf1 feat(registry): Add display names and descriptions for iFlow models
  • 43f007c feat(registry): add Claude Opus 4.5 model definition
  • 897c40b feat(registry): add DeepSeek-V3.2-Chat model definition
  • 5bd0896 feat(registry): add GPT 5.3 Codex model to static data
  • 8822f20 feat(registry): add GPT 5.4 model definition to static data
  • fcb0293 feat(registry): add GPT-5 Codex Mini model variants
  • f7d82fd feat(registry): add Kimi-K2.5 model to static data
  • a9d0bb7 feat(registry): add Qwen 3.5 Plus model definitions
  • 2d5d06c feat(registry): add Qwen3 Vision Model definition router-for-me#164
  • 8d15723 feat(registry): add GetAvailableModelsByProvider method for retrieving models by provider
  • 07da781 feat(registry): add client model support check for executor filtering
  • 9c09128 feat(registry): add explicit thinking support config for antigravity models
  • a8cbc68 feat(registry): add gemini 3.1 flash lite preview
  • 3b4f9f4 feat(registry): add gemini-3.1-flash-image support
  • f361b27 feat(registry): add glm-5 model to iflow
  • fa70b22 feat(registry): add gpt 5.2 codex model definition
  • 41a78be feat(registry): add gpt-5.3-codex-spark model definition
  • 575881c feat(registry): add new model definition for MiniMax-M2.5
  • d1f667c feat(registry): add support for 'kimi' channel in model definitions
  • 3d7aca2 feat(registry): add thinking budget support; populate Gemini models
  • a03d514 feat(registry): add thinking metadata for models
  • e332419 feat(registry): add thinking support for gemini-2.5-computer-use-preview model
  • 75e278c feat(registry): add thinking support to gemini models
  • 782bba0 feat(registry): enable gemini-3-pro-preview for gemini-cli provider
  • c175821 feat(registry): expand antigravity model config
  • 8f97a5f feat(registry): expose input modalities, token limits, and generation methods for Antigravity models
  • e02ceec feat(registry): introduce ModelRegistryHook for monitoring model registrations and unregistrations
  • bc78d66 feat(registry): register Claude 4.6 static data
  • e641fde feat(registry): support provider-specific model info lookup
  • 5dced4c feat(registry): unify Gemini models and add AI Studio set
  • d45ebff feat(registry, executor): add support for gemini-2.5-flash-image model
  • b2cdbbd feat(registry, executor): add support for glm-4.6 model and enhance Gemini CLI token handling
  • 20787cd feat(registry, executor, util): add support for gemini-2.5-flash-image-preview and improve aspect ratio handling
  • bbdd68a feat(registry/runtime): add Gemini 2.5 model and increase buffer sizes
  • 5a812a1 feat(remote-management): add support for custom GitHub repository for panel updates
  • 1249b07 feat(responses): add unique identifiers for responses, function calls, and tool uses
  • 9d42e4b feat(runtime): add User-Agent headers to codex and claude executors
  • bc7167e feat(runtime): add model alias support and enhance payload rule matching
  • 3ffd120 feat(runtime): add thinking config normalization
  • de796ac feat(runtime): introduce newProxyAwareHTTPClient for enhanced proxy handling
  • 12c09f1 feat(runtime): remove previous_response_id from Codex executor request body
  • 19a0488 feat(runtime): track antigravity usage and token counts
  • f40bd0c feat(script): add usage statistics preservation across container rebuilds
  • 5dc1848 feat(scrub): add comprehensive browser fingerprint and client identity header scrubbing
  • 19b10cb feat(sdk/auth): extend Gemini Web refresh lead to 1 hour
  • 6f8a8f8 feat(selector): add priority support for auth selection
  • ac01c74 feat(server): Add cloud deploy mode
  • 5a50856 feat(server): add keep-alive endpoint with timeout handling
  • 506e2e1 feat(server): inject build metadata into application logs and container image
  • b1fee5d feat(server): introduce DefaultConfigPath for streamlined configuration
  • 78989d6 feat(store)!: Lock AuthDir when use gitstore/pgstore
  • 50c8448 feat(store)!: Lock AuthDir when use gitstore/pgstore
  • 5123cfd feat(store): add PostgreSQL-backed config store with env selection
  • 42087d5 feat(store): add PostgreSQL-backed config store with env selection
  • a83978f feat(store): introduce GitTokenStore for token persistence via Git backend
  • 0452b86 feat(thinking): add HasLevel and MapToClaudeEffort functions for adaptive thinking support
  • c447937 feat(thinking): add adaptive thinking support for Claude models
  • d00e3ea feat(thinking): add numeric budget to thinkingLevel conversion fallback
  • c8c2732 feat(thinking): enable thinking toggle for qwen3 and deepseek models Fix router-for-me#1245
  • d2e5857 feat(thinking): enhance adaptive thinking support across models and update test cases
  • c80ab8b feat(thinking): improve provider family checks and clamp unsupported levels
  • ce87714 feat(thinking): normalize effort levels in adaptive thinking requests to prevent validation errors
  • 835ae17 feat(thinking): rename isBudgetBasedProvider to isBudgetCapableProvider and update logic for provider checks
  • ff4ff6b feat(thinking): support zero as a valid thinking budget for capable models
  • a602ae8 feat(translator): Add support for openrouter image_config
  • 01be94a feat(translator): Map OpenAI modalities to Gemini responseModalities
  • c5d7137 feat(translator): Pass through imageConfig
  • 8edbda5 feat(translator): add thoughtSignature to node parts for Gemini and Antigravity requests
  • 2f477df feat(translator): add built-in translator registry and helpers
  • 538039f feat(translator): add code_execution and url_context tool passthrough
  • ede4471 feat(translator): add default thinkingConfig for gemini-3-pro-preview
  • 6762e08 feat(translator): add developer role support for Gemini translators
  • 140d621 feat(translator): add reasoning state tracking and improve reasoning summary handling
  • b6ba51b feat(translator): add thinking block and tool result handling for Claude-to-OpenAI conversion
  • 40255b1 feat(translator): add usage metadata aggregation for Claude and OpenAI responses
  • 6524d3a feat(translator): add usage metadata mapping for Gemini responses
  • 6d4b43d feat(translator): add user metadata generation for Claude transformation requests
  • 1187aa8 feat(translator): capture cached token count in usage metadata and handle prompt caching
  • 644a3ad feat(translator): emit response.output_item.done event for reasoning summary completion
  • 5999864 feat(translator): enhance OpenAI Gemini request handling for mixed content
  • 2e14f78 feat(translator): enhance ConvertGeminiRequestToAntigravity with model name and refine reasoning block handling
  • c945e35 feat(translator): improve Claude request handling with enhanced content processing
  • 020e61d feat(translator): improve signature handling by associating with model name in cache functions
  • 5c84d69 feat(translator): map output_config.effort to adaptive thinking level in antigravity
  • cec4e25 feat(translator): preserve text field in serialized output during chat completions processing
  • cf9daf4 feat(translator): report cached token usage in Claude output
  • f4d4249 feat(translator): sanitize tool/function names for upstream provider compatibility
  • 938a799 feat(translator): support Claude thinking type adaptive
  • dc8d320 feat(translator): support image size and googleSearch tools
  • 8d9f4ed feat(translator): unify model group references by introducing GetModelGroup helper function
  • 0e7c79b feat(translator/antigravity/claude): support interleaved thinking, signature restoration and system hint injection
  • 98fa2a1 feat(translator/antigravity/claude): support interleaved thinking, signature restoration and system hint injection
  • 31659c7 feat(translator/gemini-cli): support inline image data in responses
  • 3dd5095 feat(translators): add token counting support for Claude and Gemini responses
  • 5090d98 feat(translators): improve system instruction extraction and input handling for OpenAI and Claude responses
  • d41ff20 feat(translators): improve system instruction extraction and input handling for OpenAI and Claude responses
  • 9df04d7 feat(translators/claude): implement non-streaming response parsing for various translator types
  • f31f7f7 feat(tui): add i18n
  • 54ad7c1 feat(tui): add manager tui
  • 93fe58e feat(tui): add standalone mode and API-based log polling
  • 2bcee78 feat(tui): add standalone mode and API-based log polling
  • e998b12 feat(updater): add fallback URL and logic for missing management asset
  • 3ce0d76 feat(usage): add import/export functionality for usage statistics and enhance deduplication logic
  • 19609db feat(usage): add in-memory usage statistics tracking and API endpoint
  • be040fa feat(usage): add persistence diagnostics
  • 32a8102 feat(usage): add support for tracking request source in usage records
  • 3ade03f feat(usage): implement usage tracking infrastructure across executors
  • 1bfa75f feat(util): add helper to detect Claude thinking models
  • 423ce97 feat(util): implement dynamic thinking suffix normalization and refactor budget resolution logic
  • 8734d4c feat(vertex): add Imagen image generation model support
  • 717eadf feat(vertex): add support for Vertex AI Gemini authentication and execution
  • 592f6fc feat(vertex): add usage source resolution for Vertex projects
  • d6bd6f3 feat(vertex, management): enhance token handling and OAuth2 integration
  • 88f06fc feat(watcher): Log detailed diff for openai-compatibility on reload
  • db03ae9 feat(watcher): add AmpCode config change detection
  • 2c01b2e feat(watcher): add Gemini models and OAuth model mappings change detection
  • 02e28bb feat(watcher): add support for proxy_url in auth metadata
  • 40f7061 feat(watcher): debounce config reloads to prevent redundant operations
  • 39e398a feat(watcher): ensure reload callback triggers before auth refresh
  • a7d2f66 feat(watcher): expand event handling for config and auth JSON updates
  • f60ef0b feat(watcher): implement incremental client hot-reloading
  • 4af7125 feat(watcher): log auth field changes on reload
  • 3297f75 feat(watcher, auth): add stable hash for OpenAI compatibility models
  • 359b8de feat(ws): add WebSocket auth
  • 2699724 feat/auth-hook: add post auth hook
  • 6a9e3a6 feat/auth-hook: add post auth hook
  • 8a565dc feat/auth-hook: add post auth hook
  • 94563d6 feat/auth-hook: add post auth hook
  • 48e957d feat/auth-hook: add post auth hook
  • d536110 feat/auth-hook: add post auth hook
  • cce13e6 feat/auth-hook: add post auth hook
  • 3caadac feat/auth-hook: add post auth hook [CR]
  • 65debb8 feat/auth-hook: refactor RequstInfo to preserve original HTTP semantics
  • 9ad0f3f feat: Add Amp CLI integration with comprehensive documentation
  • 4657c98 feat: Add option to disable management control panel
  • 580ec73 feat: Add support for Gemini Web via cookie authentication
  • 0ebb654 feat: Add support for VertexAI compatible service (router-for-me#375)
  • b839e35 feat: Add support for iFlow provider
  • ad4d045 feat: Restore API key config in config file
  • bb15855 feat: add API endpoint to query models for auth credentials
  • 9678be7 feat: add DisableCooling configuration to manage quota cooldown behavior
  • 1a0ceda feat: add Gemini 3.1 Pro Preview model definition
  • 68cb81a feat: add Kimi authentication support and streamline device ID handling
  • 92f4278 feat: add auto model resolution and model creation timestamp tracking
  • 2fdf5d2 feat: add cache-user-id toggle for Claude cloaking
  • 872339b feat: add cached token parsing for Gemini API responses
  • df66046 feat: add client availability tracking and error handling improvements
  • b078be4 feat: add fill-first routing strategy
  • df77765 feat: add gemini-3-flash-preview model definition in GetGeminiModels
  • 172f282 feat: add graceful shutdown for streaming response handling
  • 0d89a22 feat: add handling for function call finish reasons in OpenAI response conversion
  • a6bdd9a feat: add passthrough headers configuration
  • 5ed2133 feat: add per-account excluded_models and priority parsing
  • 9261b0c feat: add per-auth tool_prefix_disabled option
  • afcab5e feat: add prioritize-model-mappings config option
  • 24f243a feat: add support for Gemini 2.5 Flash image preview alias
  • b84ccc6 feat: add unit tests for routing strategies and implement dynamic selector updates
  • 3839d93 feat: add websocket routing and executor unregister API
  • 3569e57 feat: enhance quota management with backoff levels and cooldown logic
  • d5ad5fa feat: enhance request logging and account handling in CLI proxy
  • 243bf5c feat: enhance tool call handling in OpenAI response conversion
  • 5936f98 feat: implement credential-based round-robin for gemini-cli virtual auths
  • 67f5538 feat: implement management asset configuration and auto-updater
  • 869a3df feat: implement model-specific Codex instructions for GPT-5
  • 0607e52 feat: implement token refresh support for executors
  • d225558 feat: improve error handling with added status codes and headers
  • f81898c feat: introduce custom provider example and remove redundant debug logs
  • b93026d feat: merge per-account excluded_models with global config
  • c8620d1 feat: optimization enable/disable auth files
  • 1f8f198 feat: passthrough upstream response headers to clients
  • d16599f feat: prefer util.WritablePath() for logs and local storage
  • 4cbcc83 feat: read per-account excluded_models at routing time
  • 5dcf7cb feat: regex support for model-mappings
  • d693d79 feat: support responses compaction payload compatibility for codex translator
  • a33f5d3 feat: use thinkingLevel for Gemini 3 models per Google documentation
  • 07279f8 feat: using Client Model Infos;
  • 3c85d2a feature(proxy): Adds special handling for client cancellations in proxy error handler
  • 31bd90c feature: Improves Amp client compatibility
  • 1b8e538 feature: Improves Gemini JSON schema compatibility
  • aea337c feature: Improves schema flattening and tool use handling
  • 827bd6e first commit
  • 35fdc4c fix some bugs (router-for-me#399)
  • 08856a9 fix(access): Exclude inline provider from reconciliation changes
  • b6d5ce2 fix(access): Force rebuild of aliased provider configurations
  • 6d822cf fix(access): rebuild providers for specific AccessProviderTypeConfigAPIKey changes
  • 7f266aa fix(aistudio): ensure colon-spaced JSON in responses
  • 7459c2c fix(aistudio): remove generationConfig and tools when action is countTokens
  • e0ffec8 fix(aistudio): remove levels from model definitions
  • c99d0df fix(aistudio): remove no-op executor unregister on WS disconnect
  • 62bfd62 fix(aistudio): strip Gemini generation config overrides
  • ea6065f fix(aistudio): strip usage metadata from non-final...