Changelog
- 6f9c23a #167
- 7063a17 #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
- 52e5551 chore(build): rename artifacts and adjust workflows for 'plus' variant
- 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
- 8203bf6 docs: update README for CLIProxyAPI Plus and rename artifacts
- 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
- 691cdb6 fix(api): update GitHub release URL and user agent for CLIProxyAPIPlus
- f0711be fix(auth): prevent access to removed credentials lingering in memory
- bb9955e fix(auth): resolve index reassignment issue during auth management
- 0087eec fix(build): append '-plus' suffix to version metadata in workflows and Goreleaser
- 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
- 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
thoughtSignaturebypass 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
anyOfproperty, removeexclusiveMinimum, 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_tierfrom Codex OpenAI request payload - 8193392 Add AMP fallback proxy and shared Gemini normalization
- 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
- 92c62bb Add GPT-5.2 model support for GitHub Copilot
- 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
/configmanagement endpoint - 7e0fd1e Add Keep-Alive header
- 545dff8 Add OAuth support for Gemini CLI, Claude, Codex, and Qwen authentication
- 9ef76dc Add Object Storage
- 3acdec5 Add OpenAI Responses support
- ce5d2ba 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
.gitignoreand ignoreconfig.yaml - bea5f97 Add
/v1/completionsendpoint with OpenAI compatibility - c601542 Add
ClaudeMessageshandler for SSE-compatible chat completions - aa9fd05 Add
FixCLIToolResponsefor enhanced function call-response mapping - 54ffb52 Add
FunctionCallIndextoConvertCliToOpenAIParamsand enhance tool call handling - 31a9e2d Add
GeminiGetHandler, enhance Gemini functionality, and enable token counting - 423faae Add
GeminiModelshandler and enhance API key validation - bf08646 Add archive configuration to
.goreleaser.yml - e9cd355 Add auto-sync workflow configuration file
- 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
GetRequestMutexacross 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
- 0331660 Add token refresh handling for 401 responses across clients
- 512c8b6 Add token refresh handling for 401 responses across clients
- b05d00e Add versioning support to build artifacts and log outputs
- 8d05489 Add versioning support to build artifacts and log outputs
- ebf2a26 Avoid unnecessary config.yaml reloads via hash check
- b3c534b Build instructions reformatting
- aacfcae Codex CLI - setting 'store = false'
- 9be56fe Correct config in README.md
- c3e3926 Create auto-sync
- ef8820e Default
tokenTypeto an empty string instead of "gemini" inwatcher.goandrun.go. - bbd3eaf Delete .github/workflows/auto-sync.yml
- e0e30df Delete .github/workflows/docker-image.yml
- 00f33f5 Enhance Gemini request handling for
contentssupport and improve error logging - e64fa48 Enhance Gemini request handling with fallback support for
contents - 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
parseArgsToMapwith 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
parseArgsToMaphelper function - ade279d Feature: #103
- 74bae32 Filter OpenAI models response to include only essential fields (
id,object,created,owned_by). - dcac340 Fix Claude OAuth tool name mapping
- 3b2ab0d Fix SSE headers initialization for
geminiStreamGenerateContentandinternalStreamGenerateContent - beff928 Fix
altparameter 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
- 7353bc0 Fix bug: #38 about lobechat cors policy
- 8c2063a Fix log key name from
gpt-5-codextoforce-gpt-5-codexfor 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.
- aca2ef6 Fix: disable thinking when tool_choice forces tool use
- 11f090c Fixed #102
- b641d90 Fixed #91
- 99c9f30 Fixed bug #38
- b163f8e Fixed: router-for-me#1004
- 4576f99 Fixed: #121
- 4477c72 Fixed: #129 #123 #102 #97
- 735b213 Fixed: #137
- a552a45 Fixed: #140 #133 #80
- eadccb2 Fixed: #148
- 847c250 Fixed: #172
- fd2b235 Fixed: #193
- a7d105b Fixed: #223
- 8ae8a5c Fixed: #233
- 75b57bc Fixed: #246
- 772fa69 Fixed: #254
- 5937b8e Fixed: #260
- e5e9859 Fixed: #263
- cbcfeb9 Fixed: #291
- d291eb9 Fixed: #302
- ed9f6e8 Fixed: #337
- a4a26d9 Fixed: #339
- 7e30157 Fixed: #354
- a67b681 Fixed: #397
- bceecfb Fixed: #414
- c44c46d Fixed: #421
- fd29ab4 Fixed: #424
- 7a62842 Fixed: #433
- 6e43669 Fixed: #440
- 39b6b3b Fixed: #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
- b727e4e Fixed: #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: #97
- f4977e5 Ignore GEMINI.md file
- 1c92034 Implement IP-based rate limiting and ban mechanism for management API
- 3b4634e Improve
getClientlogic 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/modelsendpoint - 44f66d2 Merge PR #55
- 8fee16a Merge PR #59: v6.6.50 (resolve conflicts)
- 1dccdb7 Merge branch 'cookie_snapshot' into dev
- c52255e Merge branch 'dev'
- d42384c Merge branch 'dev'
- b31ddc7 Merge branch 'dev'
- 67a4fe7 Merge branch 'dev'
- 1cd275f Merge branch 'dev'
- 9ff38dd Merge branch 'dev' into feat-amp-cli-module
- 2e5681e Merge branch 'dev' into feat/claude-thinking-and-beta-headers
- 7569320 Merge branch 'dev' into fix/antigravity-prompt-caching
- f3f0f17 Merge branch 'dev' into think
- 26a5f67 Merge branch 'dev' into watcher
- fa762e6 Merge branch 'dev' of github.com:luispater/CLIProxyAPI into dev
- 81ae09d Merge branch 'kiro-refactor-backup'
- 838f47a Merge branch 'main' into Plus
- e0d1314 Merge branch 'main' into dev
- f77c22e Merge branch 'main' into feature/kiro-integration
- 6dd1cf1 Merge branch 'main' into fix/antigravity-prompt-caching
- 24e8e20 Merge branch 'main' into fix/antigravity-prompt-caching
- 2a274d4 Merge branch 'main' into gemini-web
- 4794645 Merge branch 'main' into plus
- 8ba4c7c Merge branch 'main' into plus
- cfeee5d Merge branch 'main' into plus
- e85c9d9 Merge branch 'main' into plus
- 2407c1f Merge branch 'main' into plus
- 1efade8 Merge branch 'main' into plus
- 3f53eea Merge branch 'main' into plus
- 59ac1a3 Merge branch 'main' into plus
- 1906ebc Merge branch 'main' into plus
- bbb21d7 Merge branch 'main' into plus
- 4ce7c61 Merge branch 'main' into plus
- 8e24d9d Merge branch 'main' into plus
- 05f249d Merge branch 'main' into plus
- 96ddfc1 Merge branch 'main' into plus
- a235fb1 Merge branch 'main' into plus
- 2ba31ec Merge branch 'main' into plus
- 79033ae Merge branch 'main' into plus
- 771fec9 Merge branch 'main' into plus
- d473c95 Merge branch 'main' into plus
- 7551faf Merge branch 'main' into plus
- f0365f0 Merge branch 'main' into plus
- 7f4f6bc Merge branch 'main' into plus
- 43cac7b Merge branch 'main' into v6.5.32
- 9f41894 Merge branch 'main' into v6.5.57
- edf9d9b Merge branch 'main' of github.com:luispater/CLIProxyAPI
- 1a9f939 Merge branch 'plus-dev' into feature/github-copilot-auth
- f52114d Merge branch 'router-for-me:main' into main
- 923a5d6 Merge branch 'router-for-me:main' into main
- 773ed6c Merge branch 'router-for-me:main' into main
- 4360ed8 Merge branch 'router-for-me:main' into main
- 6b60bdd Merge branch 'router-for-me:main' into main
- 54c2fef Merge branch 'router-for-me:main' into main
- 8a98506 Merge branch 'router-for-me:main' into main
- 8064cba Merge branch 'router-for-me:main' into main
- 408614c Merge branch 'router-for-me:main' into main
- d138df0 Merge branch 'router-for-me:main' into main
- dcd0ff8 Merge branch 'router-for-me:main' into main
- d06e2dc Merge branch 'router-for-me:main' into main
- 38319b0 Merge branch 'router-for-me:main' into main
- f56bfaa Merge branch 'router-for-me:main' into main
- d3533f8 Merge branch 'router-for-me:main' into main
- a6fa622 Merge branch 'router-for-me:main' into main
- 2846957 Merge branch 'router-for-me:main' into main
- ab5f538 Merge branch 'router-for-me:main' into main
- 80f5523 Merge branch 'router-for-me:main' into main
- 6ee95b1 Merge branch 'router-for-me:main' into main
- f999650 Merge branch 'router-for-me:main' into main
- 5d33d6b Merge branch 'router-for-me:main' into main
- 218dc17 Merge branch 'router-for-me:main' into main
- a9823ba Merge branch 'router-for-me:main' into main
- 0f51e73 Merge branch 'router-for-me:main' into main
- 6a94afa Merge branch 'router-for-me:main' into main
- 35fdd7b Merge branch 'router-for-me:main' into main
- 1fd1ccc Merge branch 'router-for-me:main' into main
- e3af878 Merge branch 'router-for-me:main' into main
- 8afcc71 Merge branch 'router-for-me:main' into main
- 5d2baf6 Merge branch 'router-for-me:main' into main
- 1770c49 Merge branch 'router-for-me:main' into main
- e592a57 Merge branch 'router-for-me:main' into main
- 478aff1 Merge branch 'router-for-me:main' into main
- 3de7a7f Merge branch 'router-for-me:main' into main
- ba6aa5f Merge branch 'router-for-me:main' into main
- 024bc25 Merge branch 'router-for-me:main' into main
- e3d8d72 Merge branch 'router-for-me:main' into main
- aa810ee Merge branch 'router-for-me:main' into main
- 05b499f Merge branch 'router-for-me:main' into main
- 2331b9a Merge branch 'router-for-me:main' into main
- 2eb2dbb Merge branch 'router-for-me:main' into main
- 48dd987 Merge branch 'router-for-me:main' into main
- 216dafe Merge branch 'router-for-me:main' into main
- 15353a6 Merge branch 'router-for-me:main' into main
- f241124 Merge branch 'router-for-me:main' into main
- b256636 Merge branch 'router-for-me:main' into main
- b91ee8d Merge branch 'router-for-me:main' into main
- 9b33fbf Merge branch 'router-for-me:main' into main
- 4ea5586 Merge branch 'router-for-me:main' into main
- 9fe6a21 Merge branch 'router-for-me:main' into main
- e8de87e Merge branch 'router-for-me:main' into main
- 19232c6 Merge branch 'router-for-me:main' into main
- 6c7f18c Merge branch 'router-for-me:main' into main
- 7758a86 Merge branch 'router-for-me:main' into main
- 97356b1 Merge branch 'router-for-me:main' into main
- 4b01ecb Merge branch 'router-for-me:main' into main
- b1aecc2 Merge branch 'router-for-me:main' into main
- 0f64680 Merge branch 'router-for-me:main' into main
- f8aba62 Merge branch 'router-for-me:main' into main
- 4eaf769 Merge branch 'router-for-me:main' into main
- 12370ee Merge branch 'router-for-me:main' into main
- 3638084 Merge branch 'router-for-me:main' into main
- 1fb4f2b Merge branch 'router-for-me:main' into main
- 04f0070 Merge branch 'router-for-me:main' into main
- 239fc4a Merge branch 'router-for-me:main' into main
- b80c2aa Merge branch 'router-for-me:main' into main
- e073597 Merge branch 'router-for-me:main' into main
- 5c95129 Merge branch 'router-for-me:main' into main
- 5f65dd5 Merge branch 'router-for-me:main' into main
- 0d4f32a Merge branch 'router-for-me:main' into main
- e24af6e Merge branch 'router-for-me:main' into main
- 496f677 Merge branch 'router-for-me:main' into main
- 6a4cff6 Merge branch 'router-for-me:main' into main
- 92f033d Merge branch 'router-for-me:main' into main
- e755e56 Merge branch 'router-for-me:main' into main
- 843316e Merge branch 'router-for-me:main' into main
- 9354b87 Merge branch 'router-for-me:main' into main
- 03209b3 Merge branch 'router-for-me:main' into main
- db491c8 Merge branch 'router-for-me:main' into main
- 9116392 Merge branch 'router-for-me:main' into main
- a4804b3 Merge branch 'router-for-me:main' into main
- 188de4f Merge branch 'router-for-me:main' into main
- cf369d4 Merge branch 'router-for-me:main' into main
- a1ecc9a Merge branch 'router-for-me:main' into main
- 9f72a87 Merge branch 'router-for-me:main' into main
- 60936b5 Merge branch 'router-for-me:main' into main
- 1a99cfd Merge branch 'router-for-me:main' into main
- 56fa81f Merge branch 'router-for-me:main' into main
- 5b01eba Merge branch 'router-for-me:main' into main
- d35152b Merge branch 'router-for-me:main' into main
- 293cc8c Merge branch 'router-for-me:main' into main
- ba486ca Merge branch 'router-for-me:main' into main
- df91408 Merge branch 'router-for-me:main' into main
- 40d7890 Merge branch 'router-for-me:main' into main
- 5418bbc Merge branch 'router-for-me:main' into main
- ed57d82 Merge branch 'router-for-me:main' into main
- d611134 Merge branch 'router-for-me:main' into main
- b7f7b3a Merge branch 'router-for-me:main' into main
- 6b49580 Merge branch 'router-for-me:main' into main
- 407020d Merge branch 'router-for-me:main' into main
- 8fac6b1 Merge branch 'router-for-me:main' into main
- 12116b0 Merge branch 'router-for-me:main' into master
- 54acd69 Merge branch 'router-for-me:main' into master
- f302be5 Merge branch 'router-for-me:main' into master
- fdeb84d Merge branch 'router-for-me:main' into master
- 894703a Merge branch 'router-for-me:main' into master
- 8cfe26f Merge branch 'sdk' into dev
- 8c947ca Merge branch 'vertex' into dev
- 10e0ea1 Merge main into pr-39
- 514b9bf Merge origin/main into pr-92
- 65f47c1 Merge pull request #1 from chaudhryfaisal/main
- c6ecdf4 Merge pull request #1 from router-for-me/Plus
- 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 #104 from router-for-me/cloud
- 1834c65 Merge pull request #107 from router-for-me/gemini-web
- f6e713a Merge pull request #110 from router-for-me/cloud
- 2513d90 Merge pull request #111 from router-for-me/cloud
- 0508c9f Merge pull request #113 from sususu98/main
- 71faa19 Merge pull request #114 from router-for-me/management
- f2710c0 Merge pull request #116 from router-for-me/log
- 4fdbdf7 Merge pull request #117 from router-for-me/pg
- 9072acc Merge pull request #118 from router-for-me/config
- 32d01a6 Merge pull request #125 from router-for-me/object
- ac4f52c Merge pull request #127 from router-for-me/usage
- 608cd8e Merge pull request #13 from router-for-me/v6.5.57
- f58d0fa Merge pull request #130 from router-for-me/log
- 8e95c5e Merge pull request #134 from router-for-me/hg
- 674393e Merge pull request #139 from router-for-me/log
- c353606 Merge pull request #14 from router-for-me/plus
- 0e91e95 Merge pull request #145 from router-for-me/path
- c5dcbc1 Merge pull request #146 from router-for-me/iflow
- fed6f3e Merge pull request #147 from router-for-me/config
- 2de27c5 Merge pull request #15 from StriveMario/feature/fix-kiro-refreshtoken
- 5b3fc09 Merge pull request #151 from VjayC/add-subtitle-translator
- af54323 Merge pull request #16 from fuko2935/fix/remove-unstable-kiro-auto
- ba4c114 Merge pull request #16 from hkfires/main
- 5da5674 Merge pull request #161 from router-for-me/aistudio
- 3e20b00 Merge pull request #163 from router-for-me/nb
- b27a175 Merge pull request #17 from Ravens2121/master
- ac3d47e Merge pull request #173 from tobwen/feature/dynamic-model-routing
- d6272d3 Merge pull request #177 from router-for-me/aistudio
- 69fccf0 Merge pull request #18 from Ravens2121/master
- 8dba32a Merge pull request #185 from router-for-me/thinking
- 3e7b645 Merge pull request #186 from router-for-me/doc
- 242b4d5 Merge pull request #19 from router-for-me/plus
- 96c7271 Merge pull request #191 from router-for-me/gemini
- 4d08046 Merge pull request #194 from router-for-me/gemini-key
- 4419b71 Merge pull request #2 from router-for-me/v6.5.32
- 8dc690a Merge pull request #20 from Ravens2121/master
- 75ce091 Merge pull request #21 from router-for-me/plus
- aca8523 Merge pull request #22 from Ravens2121/master
- 32c964d Merge pull request #221 from router-for-me/gemini
- b9eef45 Merge pull request #222 from router-for-me/api
- d4064e3 Merge pull request #225 from jeffnash/feat/codex-mini-variants
- 3264605 Merge pull request #226 from router-for-me/headers
- 87291c0 Merge pull request #227 from router-for-me/api
- 7b9cfbc Merge pull request #23 from luispater/dev
- 7ecc7aa Merge pull request #23 from router-for-me/plus
- 6ae1dd7 Merge pull request #230 from router-for-me/api
- 09ecba6 Merge pull request #237 from TUGOhost/feature/support_auto_model
- e73b9e1 Merge pull request #24 from Ravens2121/master
- 1ede134 Merge pull request #249 from ben-vargas/fix-gpt5-1-reasoning
- 8fb1f11 Merge pull request #25 from Ravens2121/master
- faa483b Merge pull request #257 from lollipopkit/main
- 56a05d2 Merge pull request #26 from luispater/flash-lite
- 567227f Merge pull request #268 from router-for-me/tools
- 14ddfd4 Merge pull request #270 from router-for-me/iflow
- c40e005 Merge pull request #274 from router-for-me/log
- 9acfbcc Merge pull request #275 from router-for-me/iflow
- 798f65b Merge pull request #28 from luispater/bugfix
- 734b7e4 Merge pull request #28 from tsln1998/main
- 618511f Merge pull request #280 from ben-vargas/feat-enable-gemini-3-cli
- 670ce2e Merge pull request #285 from router-for-me/iflow
- b70bfd8 Merge pull request #287 from ben-vargas/feat-amp-cli-module
- 4f18809 Merge pull request #29 from luispater/bugfix
- 10e77fc Merge pull request #29 from router-for-me/plus
- b4d15ac Merge pull request #296 from router-for-me/antigravity
- 5eb8453 Merge pull request #3 from fuko2935/feature/kiro-integration
- d1cdedc Merge pull request #303 from router-for-me/image
- 7c3c24a Merge pull request #306 from router-for-me/usage
- d10ef7b Merge pull request #31 from luispater/docker-build-sh
- 4ebaf6f Merge pull request #31 from router-for-me/plus
- d1736cb Merge pull request #315 from router-for-me/aistudio
- 0ceee56 Merge pull request #318 from router-for-me/log
- cd0b14d Merge pull request #32 from Ravens2121/master
- 1aa0b6c Merge pull request #322 from ben-vargas/feat-claude-opus-4-5
- 1305f2f Merge pull request #33 from luispater/docker
- d08a245 Merge pull request #33 from router-for-me/plus
- 9c1e3c0 Merge pull request #334 from nestharus/feat/claude-thinking-and-beta-headers
- 0832122 Merge pull request #340 from nestharus/fix/339-thinking-openai-gemini-compat
- 3675542 Merge pull request #343 from router-for-me/misc
- bcb8092 Merge pull request #35 from router-for-me/plus
- 179b8aa Merge pull request #36 from luispater/ssh-tunnel
- f7b17ee Merge pull request #36 from rezhajulio/feat/gpt-5.2
- fa087ee Merge pull request #362 from em4go/feature/github-copilot-auth
- 18b5c35 Merge pull request #366 from router-for-me/blacklist
- 54a9c4c Merge pull request #371 from ben-vargas/test-amp-tools
- 73208c4 Merge pull request #376 from auroraflux/feat/reasoning-suffix-support
- cb580cd Merge pull request #377 from router-for-me/gemini
- 0de2560 Merge pull request #379 from kaitranntt/docs/add-ccs-project
- 462a705 Merge pull request #38 from router-for-me/plus
- 54e2411 Merge pull request #386 from auroraflux/feat/dedupe-thinking-metadata-helpers
- d4dc7b0 Merge pull request #39 from luispater/config_hash
- 08a1d2e Merge pull request #390 from NguyenSiTrung/main
- 0155a01 Merge pull request #40 from router-for-me/plus
- 6eb94da Merge pull request #404 from router-for-me/config
- d72886c Merge pull request #405 from thurstonsand/fix/amp-missing-proxy-routes
- 6efba3d Merge pull request #406 from router-for-me/api
- bd68472 Merge pull request #41 from kaixxx/main
- b87b9b4 Merge pull request #416 from router-for-me/amp
- a7eeb06 Merge pull request #418 from router-for-me/amp
- ca99323 Merge pull request #42 from Ravens2121/master
- c5df8e7 Merge pull request #422 from router-for-me/amp
- d282585 Merge pull request #423 from router-for-me/amp
- 7ea1447 Merge pull request #428 from router-for-me/amp
- b211c35 Merge pull request #429 from heyhuynhgiabuu/feature/add-proxypal
- 7f0c9b1 Merge pull request #43 from kyle-the-dev/fix/gemini-schema-sanitization
- 1b638b3 Merge pull request #432 from huynguyen03dev/fix/amp-gemini-model-mapping
- 42e818c Merge pull request #435 from heyhuynhgiabuu/fix/amp-model-mapping-priority
- 6f5f817 Merge pull request #439 from router-for-me/log
- 9ec8478 Merge pull request #44 from luispater/gemini-web
- d26ed06 Merge pull request #441 from huynguyen03dev/fix/claude-to-openai-whitespace-text
- 6cf1d8a Merge pull request #444 from router-for-me/agry
- 2d4c54b Merge pull request #448 from router-for-me/iflow
- 14ce6ae Merge pull request #449 from sususu98/fix/gemini-cli-429-retry-delay-parsing
- de77903 Merge pull request #450 from router-for-me/amp
- 5aa386d Merge pull request #453 from router-for-me/amp
- 0adc0ee Merge pull request #455 from router-for-me/requestlog
- 3efbd86 Merge pull request #457 from router-for-me/requestlog
- 15ed98d Merge pull request #458 from router-for-me/agry
- 6ad5e07 Merge pull request #46 from router-for-me/cookie_snapshot
- 92df0ca Merge pull request #461 from router-for-me/aistudio
- b7e3820 Merge pull request #465 from router-for-me/think
- b449d17 Merge pull request #47 from router-for-me/dev
- 5db3b58 Merge pull request #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 #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
- aa6c7fa Merge pull request #5 from router-for-me/plus
- c16a989 Merge pull request #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 #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 #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
- 3b51a0f Merge pull request #54 from StriveMario/fix/kiro-config-synthesis
- c28a5d2 Merge pull request #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 #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
- d3f4783 Merge pull request #57 from PancakeZik/my-idc-changes
- 45d382f Merge pull request #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
- a862984 Merge pull request #58 from router-for-me/plus
- c159180 Merge pull request #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 #59 from router-for-me/gemini-web-v6
- bbd1fe8 Merge pull request router-for-me#598 from BigUncle/fix/token-refresh-loop
- ee6fc4e Merge pull request #60 from router-for-me/pr-59-resolve-conflicts
- 68be2f0 Merge pull request #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 #61 from router-for-me/gemini-web
- 6b80ec7 Merge pull request #61 from tinyc0der/fix/kiro-tool-results
- 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 #62 from router-for-me/dev
- 1cb6bdb Merge pull request #62 from router-for-me/plus
- 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 #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 #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 #65 from router-for-me/gemini-web
- 7af5a90 Merge pull request #65 from router-for-me/plus
- 27b43ed Merge pull request router-for-me#658 from moxi000/fix-responses-convert
- 7e54156 Merge pull request #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
- cf8b2dc Merge pull request #67 from router-for-me/plus
- 9bbe644 Merge pull request #67 from router-for-me/rr
- 4fd95ea Merge pull request #68 from router-for-me/log
- 6186069 Merge pull request #68 from router-for-me/plus
- 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 #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 #70 from router-for-me/log
- 790a17c Merge pull request #70 from router-for-me/plus
- 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 #71 from ben-vargas/fix-max_output_tokens-codex-oauth
- 8e88a61 Merge pull request #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
- 06075c0 Merge pull request #75 from router-for-me/plus
- 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 #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
- f81ff16 Merge pull request #8 from Ravens2121/main
- 5ca3508 Merge pull request #80 from router-for-me/plus
- 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
- 89e34bf Merge pull request #82 from FakerL/feat/kiro-oauth-model-mappings
- cf5476e Merge pull request #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 #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 #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
- e124db7 Merge pull request router-for-me#862 from router-for-me/gemini
- 6dbfdd1 Merge pull request router-for-me#871 from decolua/patch-1
- 109cf39 Merge pull request #88 from router-for-me/plus
- c1db2c7 Merge pull request router-for-me#888 from router-for-me/api-call-TOKEN-fix
- 4bc8a52 Merge pull request #90 from router-for-me/dethink
- d73b61d Merge pull request router-for-me#901 from uzhao/vscode-plugin
- 58d45b4 Merge pull request #91 from router-for-me/plus
- 2574eec Merge pull request #92 from router-for-me/main
- 4adb9ee Merge pull request router-for-me#921 from router-for-me/atgy
- d7dc966 Merge pull request #93 from jc01rho/main
- c83365a Merge pull request router-for-me#938 from router-for-me/log
- a68e0dd Merge pull request #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
- 0d66522 Merge pull request #95 from ZqinKing/main
- d6721e4 Merge pull request #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
- 5a2bf19 Merge pull request #98 from router-for-me/plus
- 8056af4 Merge pull request #99 from router-for-me/banana
- bb45fee Merge remote-tracking branch 'origin/dev' into dev
- c29839d Merge remote-tracking branch 'origin/main' into pr-104
- cdb9c2e Merge remote-tracking branch 'origin/main' into router-for-me/main
- 3c5390a Merge remote-tracking branch 'origin/v6' into v6
- a277302 Merge remote-tracking branch 'upstream/main'
- 47b5ebf Modify docker compose for remote image and local build
- 0371062 Normalize
selecttoSTRINGtype in Gemini OpenAI request outputs - 5ec6450 Numerous Comments Added and Extensive Optimization Performed using Roo-Code with CLIProxyAPI itself.
- 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
cliCancelcalls to remove unusedrespargument 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
- e3994ac Refactor translator packages for OpenAI Chat Completions
- 1f46dc2 Refactor translator packages for OpenAI Chat Completions
- bff6f66 Refactor translator packages for OpenAI Chat Completions
- e0bff9f Refactor translator packages for OpenAI Chat Completions
- e11637d 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
dataUglyTagparsing 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
pathwithfilepathfor cross-platform compatibility - 4375822 Resolve
logsDirpath relative to configuration directory inFileRequestLogger - 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
- 7481c0e Revert "Fix invalid thinking signature when proxying Claude via Antigravity"
- 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
- 7a6adfa Suppress debug logs for model routing and ignore empty tools arrays
- 9319602 UPDATE README
- 09b9d3b Unlock mutex before returning error in
handlers.goto 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 - 1bb0d11 Update README
- e074e95 Update README
- 2a2a276 Update README
- c2b2c9e Update README documentation to clarify
auth-dirconfiguration for Windows users - f1d9364 Update README documentation to clarify
auth-dirconfiguration 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-nanotogpt-5-minimalin usage examples - 386ccff Update README.md
- c04c383 Update README.md
- ffddd1c Update README.md
- 9fc2e1b Update README.md
- cbcb061 Update README_CN.md
- 00bd6a3 Update
.goreleaser.ymlto includeconfig.example.yamlinstead ofconfig.yamlin release assets - d2394b0 Update
.goreleaser.ymlto specify archive formats for different OS targets - ed6e775 Update config key
gpt-5-codextoforce-gpt-5-codexfor clarity in example configuration file - 4883349 Update doc
- 0b02693 Update example configuration file (
config.example.yaml) - 9fce13f Update internal module imports to use
v5package path - 27734a2 Update internal/util/translator.go
- d222469 Update issue templates
- 1aad033 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
- 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
- 2d91c2a add missing Kiro config synthesis
- 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
- f957b89 chore(deps): bump
golang.org/x/termto v0.37.0 - 0db0b03 chore(docs): add and refine package-level comments across modules
- d1220de chore(docs): remove legacy documentation and unused PR workflow file
- 72325f7 chore(docs): remove outdated
allow-localhost-unauthenticatedsection from API docs - 4832297 chore(docs): update README with GUI client, WebUI links, and detailed SDK documentation
- c5df806 chore(executor): add debug logging for API request errors
- c6b3913 chore(executor): add debug logging for API request errors
- 5010b09 chore(gitignore): add
cli-proxy-apito ignored files - aa25820 chore(log): Refine debug messages for config reloads
- 837ae1b chore(logging): add debug logs for executor
Refreshmethods - 1bbbd16 chore(logging): clarify 429 rate-limit retries in Gemini executor
- cb83985 chore(server): remove debug println statement from
server.go - 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
- f3d1cc8 chore: change debug logs from INFO to DEBUG level
- e0be6c5 chore: ignore .bmad directory
- 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/translatordirectory in PRs - d829ac4 docs(config): add github-copilot and kiro to oauth-excluded-models documentation
- 375ef25 docs(config): clarify merge mapping behavior
- b693d63 docs(config): comment out example API key configurations
- c4e3646 docs(config): expand model exclusion examples
- 695eaa5 docs(instructions): add Codex operational and review guidelines
- 41975c9 docs(management): document
remote-management.disable-control-paneloption - 717c703 docs(readme): add CCS (Claude Code Switch) to projects 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
- 6ec0288 docs(readme): add
MANAGEMENT_PASSWORDenvironment 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
- 69e09d9 docs(readme): update GLM model version from 4.6 to 4.7 in README and README_CN
- 8e749ac docs(readme): update GLM model version from 4.6 to 4.7 in README and README_CN
- 92ca507 docs(readme): update contributors for Kiro integration (AWS CodeWhisperer)
- 21bbcec docs(runtime): document reasoning effort precedence
- 3ffd87d docs(sdk-access): add SDK usage guides in English and Chinese
- 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
- ee171bc feat(api): add ManagementTokenRequester interface for management token request endpoints
- bbed134 feat(api): add
GetAuthStatusmethod toManagementTokenRequesterinterface - 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
- 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
TokenStorefor 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
- 5a7e5bd feat(auth): add Antigravity onboarding with tier selection
- 2724630 feat(auth): add Gemini Web token saving endpoint
- 3a9ac7e feat(auth): add GitHub Copilot authentication and API integration
- 4fd70d5 feat(auth): add callback forwarder support for Web UI in OAuth flows
- 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
- 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
DoLoginto include Gemini CLI user onboarding flow - 6046a8c feat(auth): enhance watcher with asynchronous dispatch and buffering
- 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.providersfor 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_refreshmetadata handling across executors - a4767fd feat(auth, docs): add SDK guides and local password support for management
- 9761ac5 feat(auth, docs): add
labelsupport for Gemini web token management - ce569ab feat(buildinfo): add build metadata and expose via HTTP headers
- bbcb555 feat(cache): add signature cache for Claude thinking blocks
- 6b23e2d feat(claude): add Claude 4.5 Haiku model definition
- c7196ba feat(claude): add model alias mapping and improve key normalization
- d0e694d feat(claude): add thinking model variants and beta headers support
- 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
- 829dd06 feat(cliproxy/auth): restructure auth candidate selection and ensure synchronization
- ac62611 feat(codex): add OpenCode instructions based on user agent
- ca09db2 feat(codex): add gpt-5.2 codex prompt handling
- 6494330 feat(codex): add subscription date fields to ID token claims
- 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-modeto optimize HTTP middleware for lower memory usage - 5c3a013 feat(config): add configurable host binding for server (#454)
- f064f6e feat(config): add github-copilot to oauth-model-mappings supported channels
- 3e4858a feat(config): add log file size limit configuration router-for-me#535
- 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
Forkin 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
- cfb9cb8 feat(config): support HTTP headers across providers
- 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-enabledoption 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
- 8f27fd5 feat(executor): add HttpRequest method with credential injection for GitHub Copilot and Kiro executors
- e8e3bc8 feat(executor): add HttpRequest support across executors for better http request handling
- ac59023 feat(executor): add
CountTokenssupport 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
- 7a77b23 feat(executor): add token refresh timeout and improve context handling during refresh
- 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
- b1f1cee feat(executor): refine payload handling by integrating original request context
- 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
- 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
- d0aa741 feat(gemini-cli): add multi-project support and enhance credential handling
- e313d39 feat(gemini-executor): implement
CountTokensmethod 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-modewith flexiblegem-mode - e4dd22b feat(gemini-web): squash all features and fixes for gemini-web
- 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
- 75793a1 feat(kiro): Add Kiro OAuth login entry and auth file filter in Web UI
- c3ed3b4 feat(kiro): Add token usage cross-validation and simplify thinking mode handling
- 02d8a1c feat(kiro): add AWS Builder ID authentication support
- 08e8fdd feat(kiro): add OAuth model name mappings support for Kiro
- 84920cb feat(kiro): add multi-endpoint fallback & thinking mode support
- 6133bac feat(kiro): enhance Kiro executor stability and compatibility
- 40e7f06 feat(kiro): enhance Kiro executor with retry, deduplication and event filtering
- cd4e84a feat(kiro): enhance request format, stream handling, and usage tracking
- 9c04c18 feat(kiro): enhance request translation and fix streaming issues
- db80b20 feat(kiro): enhance thinking support and fix truncation issues
- d687ee2 feat(kiro): implement official reasoningContentEvent and improve metadat
- 01cf221 feat(kiro): 代码优化重构 + OpenAI翻译器实现
- 5b433f9 feat(kiro): 实现动态工具压缩功能
- cf9a246 feat(kiro): 新增 AWS Builder ID 授权码流程认证及用户邮箱获取增强
- 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
- 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
- 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
- ab76cb3 feat(management): add Vertex service account import and WebSocket auth management
- 2662f91 feat(management): add
PostOAuthCallbackhandler 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 Sonnetmodel in registry - cfa8ddb feat(oauth): add remote OAuth callback support with session management
- a174d01 feat(openai): handle thinking.budget_tokens from Anthropic-style requests
- e41d127 feat(openai-compat): enhance provider key handling and model resolution
- 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
- 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
- fcb0293 feat(registry): add GPT-5 Codex Mini model variants
- 2d5d06c feat(registry): add Qwen3 Vision Model definition #164
- 8d15723 feat(registry): add
GetAvailableModelsByProvidermethod 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
- fa70b22 feat(registry): add gpt 5.2 codex model definition
- 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
- e02ceec feat(registry): introduce
ModelRegistryHookfor monitoring model registrations and unregistrations - 5dced4c feat(registry): unify Gemini models and add AI Studio set
- d45ebff feat(registry, executor): add support for
gemini-2.5-flash-imagemodel - b2cdbbd feat(registry, executor): add support for
glm-4.6model and enhance Gemini CLI token handling - 20787cd feat(registry, executor, util): add support for
gemini-2.5-flash-image-previewand 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
- 3ffd120 feat(runtime): add thinking config normalization
- de796ac feat(runtime): introduce
newProxyAwareHTTPClientfor enhanced proxy handling - 12c09f1 feat(runtime): remove
previous_response_idfrom Codex executor request body - 19a0488 feat(runtime): track antigravity usage and token counts
- f40bd0c feat(script): add usage statistics preservation across container rebuilds
- 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
- 50c8448 feat(store)!: Lock AuthDir when use gitstore/pgstore
- 78989d6 feat(store)!: Lock AuthDir when use gitstore/pgstore
- 42087d5 feat(store): add PostgreSQL-backed config store with env selection
- 5123cfd feat(store): add PostgreSQL-backed config store with env selection
- a83978f feat(store): introduce
GitTokenStorefor token persistence via Git backend - d00e3ea feat(thinking): add numeric budget to thinkingLevel conversion fallback
- 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
thoughtSignatureto node parts for Gemini and Antigravity requests - 2f477df feat(translator): add built-in translator registry and helpers
- ede4471 feat(translator): add default thinkingConfig for gemini-3-pro-preview
- 6762e08 feat(translator): add developer role support for Gemini translators
- 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
- 644a3ad feat(translator): emit
response.output_item.doneevent for reasoning summary completion - 5999864 feat(translator): enhance OpenAI Gemini request handling for mixed content
- c945e35 feat(translator): improve Claude request handling with enhanced content processing
- f4d4249 feat(translator): sanitize tool/function names for upstream provider compatibility
- dc8d320 feat(translator): support image size and googleSearch tools
- 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
- 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
- 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
- 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_urlin 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
- 3297f75 feat(watcher, auth): add stable hash for OpenAI compatibility models
- 359b8de feat(ws): add WebSocket auth
- 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 (#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
- 7fd98f3 feat: add IDC auth support with Kiro IDE headers
- 92f4278 feat: add auto model resolution and model creation timestamp tracking
- 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
- 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
- 0a3a955 feat: enhance thinking mode support for Kiro translator
- 243bf5c feat: enhance tool call handling in OpenAI response conversion
- 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
- 58866b2 feat: optimize connection pooling and improve Kiro executor reliability
- 98db5aa feat: persist refreshed IDC tokens to auth file
- d16599f feat: prefer util.WritablePath() for logs and local storage
- 5dcf7cb feat: regex support for model-mappings
- a33f5d3 feat: use thinkingLevel for Gemini 3 models per Google documentation
- 07279f8 feat: using Client Model Infos;
- 68cbe20 feat: 添加Kiro渠道图片支持功能,借鉴justlovemaki/AIClient-2-API实现
- 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
- 1fa5514 fix kiro cannot refresh the token
- 35fdc4c fix some bugs (#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 stream chunks
- c84ff42 fix(amp): add /docs routes to proxy
- 3fc410a fix(amp): add /settings routes to proxy
- db1119d fix(amp): add /threads.rss root-level route for AMP CLI
- 9d9b9e7 fix(amp): add management auth skipper
- e216d26 fix(amp): add missing /auth/* and /api/tab/* proxy routes
- 7ae0032 fix(amp): enable OAuth fallback for Gemini v1beta1 routes
- 89d6896 fix(amp): filter amp request logging to only provider endpoint
- 72d8226 fix(amp): filter context-1m beta header for local OAuth providers
- caa48e7 fix(amp): improve proxy state management and request logging behavior
- 0858633 fix(amp): pass mapped model to gemini bridge via context
- 54af96d fix(amp): restore request body before fallback handler execution
- 88bdd25 fix(amp): set status on claude stream errors
- 55cd31f fix(amp): suppress ErrAbortHandler panics in reverse proxy handler
- 969ff6b fix(amp): update explicit API key on config change
- 9426be7 fix(amp): update log message wording for disabled proxy state
- 06ddf57 fix(antigravity): inject required placeholder when properties exist without required
- 414db44 fix(antigravity): parse retry-after delay from 429 response body
- af00304 fix(antigravity): remove
exclusiveMaximumfrom JSON during key deletion - f25f419 fix(antigravity): remove references to
autopushendpoint and update fallback logic - d756417 fix(antigravity): restore production base URL in the executor
- f383840 fix(antigravity): update toolNode role from "tool" to "user" in chat completions
- 608d745 fix(api): Enable management routes based on secret key presence
- 14aa6cc fix(api): ensure all response writes are captured for logging
- 1f6a384 fix(api): omit auth file entries lacking path unless runtime-only
- 3bc4892 fix(api): prevent double logging for error responses
- 97ab623 fix(api): prevent double logging for streaming responses
- 6706851 fix(api): update route patterns to support wildcards for Gemini actions
- eac8b1a fix(auth): Correct iFlow OAuth callback port to 11451
- 759bb88 fix(auth): Improve file-based auth handling and consistency
- e836b4a fix(auth): Make round-robin auth selection deterministic
- 64f4c18 fix(auth): Return error if iFlow API key fetch fails
- c63dc7f fix(auth): Scope unavailability checks to specific models
- 5bf7a95 fix(auth): address index logic bug and remove redundant conditions
- 8bc6df3 fix(auth): apply API key model mapping to request model
- 5e5d814 fix(auth): error when antigravity refresh token missing during refresh
- 6a19135 fix(auth): fix runtime auth reload on oauth blacklist change
- 8be0625 fix(auth): make provider rotation atomic
- e7cedbe fix(auth): prevent duplicate iflow BXAuth tokens
- 3959726 fix(auth): prevent token refresh loop by ignoring timestamp fields
- ec08500 fix(auth): resolve drain label for correct loop termination in
cliproxyservice - 847be0e fix(auth): use base model name for auth matching by stripping suffix
- 27faf71 fix(auth): use fixed antigravity callback port 51121
- e0194d8 fix(ci): revert Docker image build and push workflow for tagging releases
- c73b3fa fix(claude translator): guard tool schema properties
- e73cdf5 fix(claude): ensure max_tokens exceeds thinking budget for thinking models
- a895149 fix(claude): prevent final events when no content streamed
- 5ab0854 fix(claude): track message_start event in streaming response
- 6d1e20e fix(claude_executor): update header logic for API key handling
- d9f8129 fix(client): Add reason to unregistration to skip persistence
- 6bd37b2 fix(client): Prevent overwriting auth file on update
- f17ec7f fix(client): Prevent overwriting auth file on update
- b0f2ad7 fix(cliproxy): Clear stale compatibility model registrations
- dd1e0da fix(cliproxy): Use model name as fallback for ID if alias is empty
- b86ed46 fix(codex): Remove reasoning.effort for default gpt-5-codex model
- 70a82d8 fix(codex): only override instructions in responses for OpenCode UA
- 220ca45 fix(codex): only override instructions when upstream provides them
- d131435 fix(codex): raise default reasoning effort to medium
- da72ac1 fix(config): Inline SDKConfig for proper YAML parsing
- 2e88c48 fix(config): avoid adding new keys when merging
- 16be3f0 fix(config): dedupe and normalize Gemini keys and headers
- 09455f9 fix(config): make streaming keepalive and retries ints
- 2021ae3 fix(config): skip persisting empty API key and compat entries
- c8e72ba fix(config): smart merge writes non-default new keys only
- 5c65938 fix(config): stabilize YAML sequence merges by reordering items
- 78738ca fix(config): treat directory as absent for optional config in cloud deploy mode
- d52b28b fix(config): use correct formatting function for prefix change details
- 660aabc fix(executor): add
allowCompatsupport for reasoning effort normalization - c8f20a6 fix(executor): add logging and prompt cache key handling for OpenAI responses
- 38cfbac fix(executor): adjust
Anthropic-Betaheader handling for consistent API requests - 9b202b6 fix(executor): centralize default thinking config
- 5be4d22 fix(executor): ensure consistent header application in Claude API requests
- ef7e820 fix(executor): ensure usage reporting for upstream responses lacking usage data
- 8356b35 fix(executor): expire stop chunks without usage metadata
- ef6bafb fix(executor): handle context cancellation and deadline errors explicitly
- 9f511f0 fix(executor): improve model compatibility handling for OpenAI-compatibility
- 76c563d fix(executor): increase buffer size for stream scanners to 50MB across multiple executors
- 7dd93a4 fix(executor): only apply thinking config to supported models
- 663b9b3 fix(executor): pass authID to relay instead of provider
- ed23472 fix(executor): prevent streaming from 429 response when fallback available
- 0ff094b fix(executor): prevent streaming on failed response when no fallback
- 72f2125 fix(executor): properly handle thinking application errors
- 89b0d53 fix(executor): remove
safetySettingsfrom payload for Gemini requests - 64774a5 fix(executor): remove
safetySettingsfrom payload in token counting request - 67ad26c fix(executor): remove default reasoning effort for
gpt-5-codex-mini - 3ce1b41 fix(executor): remove outdated Gemini model previews from CLI fallback order
- f4ba1ab fix(executor): remove unused
tokenRefreshTimeoutconstant and pass zero timeout to HTTP client - b6a0f7a fix(executor): update gemini model identifier to gemini-3-pro-preview
- 30d448e fix(executor): update model name from
codex-mini-latesttogpt-5-codex-mini - b055e00 fix(executor): use upstream model for thinking config and payload translation
- c62ecc2 fix(gemini): Disable thinking config for incompatible models
- 05444cf fix(gemini): abort default injection on existing thinking keys
- 2039062 fix(gemini): add optional skip for gemini3 thinking conversion
- 9855615 fix(gemini): avoid stale manual oauth prompt and accept schemeless callbacks
- 88e5662 fix(gemini): filter SSE usage metadata in streams
- 05d201e fix(gemini): gate callback prompt on project_id
- 48bbd9e fix(gemini): handle "[DONE]" chunk, trim "data:" prefix, and remove session_id from requests
- d7afb6e fix(gemini): improve reasoning effort conversion for Gemini 3 models
- 7061cd6 fix(gemini): map responseModalities to uppercase IMAGE/TEXT
- da23ddb fix(gemini): normalize model listing output
- 166fa9e fix(gemini): parse stream usage from JSON, skip thoughtSignature
- fdf5720 fix(gemini): remove default thinking for gemini 3 models
- b018072 fix(gemini): trim "data:" prefix in raw JSON and resolve variable shadowing in stream translation
- eb2549a fix(gemini): update response template to omit finishReason until known
- 58d3036 fix(gemini-cli): correctly strip/normalize thinking config by model
- 07d2146 fix(gemini-cli): enhance 429 retry delay parsing
- abc2465 fix(gemini-cli): ignore thoughtSignature and empty parts
- e370f86 fix(gemini-executor): uppercase responseModalities
- 1d70336 fix(gemini-web): Correct ambiguity check in conversation lookup
- 108dcb7 fix(gemini-web): Correct history on conversation reuse
- bb6ec7c fix(gemini-web): Correct inaccurate cookie refresh log message
- 73cf491 fix(gemini-web): Correct stream translation and reduce auth refresh lead
- d33a89b fix(gemini-web): Ignore tool messages to fix sticky selection
- 1d7abc9 fix(gemini-web): ensure colon spacing in JSON output for compatibility
- 3ca5fb1 fix(handlers): match raw error text before JSON body for duplicate detection
- a95428f fix(handlers): preserve upstream response logs before duplicate detection
- 8f6740f fix(iflow): add missing applyExcludedModels call for iflow provider
- b285b07 fix(iflow): adjust auth filename email sanitization
- 3902fd7 fix(iflow): remove thinking field from ...