Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
553 commits
Select commit Hold shift + click to select a range
b9ff916
Merge branch 'main' into plus
luispater Jan 23, 2026
1e4f9dd
Merge pull request #123 from router-for-me/plus
luispater Jan 23, 2026
7468356
chore(deps): update go.mod to add golang.org/x/sync and golang.org/x/…
luispater Jan 23, 2026
9fccc86
fix(executor): include requested model in payload configuration
luispater Jan 23, 2026
8f780e7
fix(kiro): always attempt token refresh on 401 before checking retry …
Jan 24, 2026
497339f
feat(kiro): 添加用于令牌额度查询的api-call兼容
jellyfish-p Jan 25, 2026
275839e
Merge pull request #124 from gogoing1024/main
luispater Jan 25, 2026
2abf00b
Merge pull request #126 from jellyfish-p/main
luispater Jan 25, 2026
dbb433f
Merge branch 'main' into plus
luispater Jan 25, 2026
c2ab288
Merge pull request #130 from router-for-me/plus
luispater Jan 25, 2026
7b2ae73
chore(auth): add `net/url` import to `auth_files.go` for URL handling
luispater Jan 25, 2026
fe8c7a6
Merge branch 'router-for-me:main' into main
luispater Jan 25, 2026
7c7c5fd
Fix Kiro tool schema defaults
Darley-Wey Jan 26, 2026
e3e741d
Default Claude tool input schema
Darley-Wey Jan 26, 2026
f74a688
refactor(auth): extract token filename generation into unified function
Jan 26, 2026
9e34323
Merge branch 'router-for-me:main' into main
luispater Jan 26, 2026
851712a
Merge pull request #132 from ClubWeGo/codex/resolve-issue-#131
luispater Jan 26, 2026
e08f48c
Merge branch 'router-for-me:main' into main
gogoing1024 Jan 27, 2026
de6b1ad
fix: case-insensitive auth_method comparison for IDC tokens
geen02 Jan 27, 2026
33ab3a9
fix: add Copilot-Vision-Request header for vision requests
cybito Jan 27, 2026
2395b7a
Merge pull request #135 from gogoing1024/main
luispater Jan 27, 2026
ee54ee8
Merge pull request #137 from geen02/fix/idc-auth-method-case-sensitivity
luispater Jan 27, 2026
3dc001a
Merge branch 'main' into plus
luispater Jan 27, 2026
8f522ee
Merge pull request #138 from router-for-me/plus
luispater Jan 27, 2026
5829076
fix: support github-copilot provider in AccountInfo logging
cybito Jan 27, 2026
b18b2eb
fix: Implement graceful token refresh degradation and enhance IDC SSO…
Jan 28, 2026
b8652b7
feat: normalize authentication method to lowercase for case-insensiti…
Jan 28, 2026
f2b0ce1
fix: handle zero output_tokens for kiro non-streaming requests
woopencri Jan 28, 2026
acdfa1c
fix: handle Write tool truncation when content exceeds API limits
PancakeZik Jan 29, 2026
876b86f
fix: handle json.Marshal error for truncated write bash input
PancakeZik Jan 29, 2026
38094a2
feat(kiro): Add dynamic region support for API endpoints
taetaetae Jan 30, 2026
9293c68
fix: Correct Amazon Q endpoint URL path
taetaetae Jan 30, 2026
b3d292a
Merge branch 'main' into plus
luispater Jan 30, 2026
3631fab
Merge pull request #153 from router-for-me/plus
luispater Jan 30, 2026
403a731
Merge pull request #139 from janckerchen/fix/github-copilot-vision-he…
luispater Jan 30, 2026
33f89a2
Merge pull request #140 from janckerchen/fix/github-copilot-logging
luispater Jan 30, 2026
e7cd7b5
fix: Support separate OIDC and API regions via ProfileARN extraction
taetaetae Jan 30, 2026
2448691
Merge pull request #143 from CheesesNguyen/fix/kiro-refresh-token
luispater Jan 30, 2026
30d832c
Merge pull request #144 from woopencri/main
luispater Jan 30, 2026
fd5b669
Merge pull request #150 from PancakeZik/fix/write-tool-truncation-han…
luispater Jan 30, 2026
fcefa2c
Merge pull request #152 from taetaetae/feat/kiro-dynamic-region-support
luispater Jan 30, 2026
ca29c42
Merge branch 'main' into plus
luispater Jan 30, 2026
b3b8d71
Merge pull request #154 from router-for-me/plus
luispater Jan 30, 2026
1e764de
feat(kiro): switch to Amazon Q endpoint as primary
PancakeZik Jan 30, 2026
fafef32
fix(kiro): Do not use OIDC region for API endpoint
Jan 30, 2026
101498e
Fix: Support token extraction from Metadata for file-based Kiro auth
crossly Jan 30, 2026
0263f9d
Restore README files
crossly Jan 30, 2026
bf66bca
Merge pull request #155 from PancakeZik/feature/use-q-endpoint
luispater Jan 30, 2026
24cf7fa
Merge pull request #156 from taetaetae/fix/kiro-api-region
luispater Jan 30, 2026
43ca112
Merge pull request #157 from crossly/bugfix/kiro-token-extraction-fro…
luispater Jan 30, 2026
b1204b1
Merge branch 'router-for-me:main' into main
luispater Jan 30, 2026
b0433c9
chore(docs): update image source and config URLs in README files
luispater Jan 30, 2026
2959408
chore(docs): add links to mainline repository in README files
luispater Jan 30, 2026
e662c02
Merge branch 'router-for-me:main' into main
luispater Jan 30, 2026
0606a77
Merge branch 'router-for-me:main' into main
luispater Jan 30, 2026
f3fd7a9
Merge branch 'router-for-me:main' into main
luispater Jan 30, 2026
dcd0ae7
Merge branch 'router-for-me:main' into main
luispater Jan 31, 2026
b436101
Merge branch 'router-for-me:main' into main
luispater Jan 31, 2026
0de86a3
Merge branch 'main' into plus
luispater Jan 31, 2026
c287378
Merge pull request #161 from router-for-me/plus
luispater Jan 31, 2026
b45ede0
fix(kiro): handle empty content in messages to prevent Bad Request er…
taetaetae Feb 1, 2026
38f7e75
Merge branch 'router-for-me:main' into main
luispater Feb 1, 2026
80d3fa3
Update docker-image.yml
starsdream666 Feb 1, 2026
4c50a72
Update docker-image.yml
starsdream666 Feb 1, 2026
a12e22c
Revert "Merge pull request #150 from PancakeZik/fix/write-tool-trunca…
Skyuno Feb 1, 2026
ba168ec
fix(kiro): skip _partial field (may contain hallucinated paths), add …
Skyuno Feb 1, 2026
5dc936a
fix: filter out web_search/websearch tools unsupported by Kiro API
Skyuno Jan 28, 2026
3c7a5af
feat: inject web_search alternative hint instead of silently filtering
Skyuno Jan 31, 2026
95a3e32
feat: add .air.toml configuration file and update .gitignore for buil…
Feb 2, 2026
7c943b3
feat(kiro): redesign fingerprint system and add IDC authentication su…
Xm798 Feb 2, 2026
7613dbb
feat(kiro): add IDC login CLI command
Xm798 Feb 2, 2026
e8b05b6
docs: add CLI auth documentation and update translator payload
Xm798 Feb 2, 2026
ab3b015
feat(kiro): add direct IDC login and fix auth server cleanup
Xm798 Feb 2, 2026
36a258f
fix(logging): expand tilde in auth-dir and log resolution errors
Xm798 Feb 2, 2026
c7d0a16
fix(kiro): use actual OS type in fingerprint generation
Xm798 Feb 2, 2026
4bbbfd7
fix(kiro): initialize fingerprint config for login commands and use c…
Xm798 Feb 2, 2026
7b406a3
fix(kiro): fetch missing profileArn for imported IDC accounts and fix…
Xm798 Feb 2, 2026
e1a353c
Merge pull request #159 from Skyuno/fix/filter-web-search-tool
luispater Feb 2, 2026
420937c
Merge pull request #166 from cielhaidir/main
luispater Feb 2, 2026
5e23975
Merge branch 'router-for-me:main' into main
luispater Feb 2, 2026
b9cdc2f
chore: remove `.air.toml` configuration file and update `.gitignore`
luispater Feb 2, 2026
1f7c58f
refactor: use constants for default assistant messages
taetaetae Feb 2, 2026
9279119
feat(copilot): add GitHub Copilot quota management endpoints and resp…
Feb 3, 2026
ebd58ef
feat(copilot): enhance quota response with reset dates for enterprise…
Feb 3, 2026
6cd3202
refactor: clean up whitespace in enrichCopilotTokenResponse function
Feb 3, 2026
9e9a860
Merge branch 'router-for-me:main' into main
starsdream666 Feb 3, 2026
8dc4fc4
fix(idc): prioritize email for filename to prevent collisions
Skyuno Feb 3, 2026
fcdd918
Merge remote-tracking branch 'upstream/main' into fix/json-truncation…
Skyuno Feb 3, 2026
f6bb001
修复kiro模型列表缺失
starsdream666 Feb 3, 2026
0b889c6
feat(registry): add kiro channel support for model definitions
Feb 3, 2026
1a81e8a
一致性问题修复
starsdream666 Feb 3, 2026
3354fae
Merge pull request #162 from taetaetae/fix/kiro-compaction-empty-content
luispater Feb 3, 2026
7accae4
Merge pull request #171 from cielhaidir/main
luispater Feb 3, 2026
f628e4d
Merge pull request #172 from Skyuno/fix/idc-filename-collision
luispater Feb 3, 2026
8d4554b
Merge pull request #173 from starsdream666/main
luispater Feb 3, 2026
e85305c
Merge pull request #174 from gogoing1024/main
luispater Feb 3, 2026
e2169e3
Merge pull request #175 from Skyuno/fix/json-truncation-rework
luispater Feb 3, 2026
45546c1
Merge branch 'main' into plus
luispater Feb 3, 2026
533a6bd
Merge pull request #176 from router-for-me/plus
luispater Feb 3, 2026
b854ee4
fix(registry): remove redundant kiro model definition entry
luispater Feb 3, 2026
a1261a5
fix(kiro): prevent incorrect session ID association across multi-task…
Xm798 Feb 3, 2026
a998a28
Merge remote-tracking branch 'upstream/main' into feat/kiro
Xm798 Feb 4, 2026
ae46387
fix(kiro): handle tool_use in content array for compaction requests
taetaetae Feb 4, 2026
49ef22a
refactor: simplify inputMap initialization logic
taetaetae Feb 4, 2026
6b6b343
Merge branch 'main' into plus
luispater Feb 5, 2026
1c0e102
Merge pull request #185 from router-for-me/plus
luispater Feb 5, 2026
dbecf53
Merge pull request #181 from taetaetae/fix/kiro-compaction-tool-use-c…
luispater Feb 5, 2026
88872ba
fix(kiro): handle empty content in Claude format assistant messages
taetaetae Feb 5, 2026
14f044c
refactor: extract default assistant content to shared constants
taetaetae Feb 5, 2026
e93eebc
Merge branch 'router-for-me:main' into main
luispater Feb 5, 2026
74d9a1f
Merge branch 'router-for-me:main' into main
luispater Feb 5, 2026
84fcebf
feat: add Claude Opus 4.6 support for Kiro
PancakeZik Feb 5, 2026
86bdb78
Merge pull request #189 from PancakeZik/main
luispater Feb 5, 2026
165e03f
Merge branch 'router-for-me:main' into main
luispater Feb 5, 2026
e35ffaa
Merge pull request #186 from taetaetae/fix/kiro-claude-compaction-emp…
luispater Feb 5, 2026
e7e3ca1
Merge branch 'router-for-me:main' into main
luispater Feb 5, 2026
4e3bad3
fix(kiro): handle empty content in current user message for compaction
taetaetae Feb 6, 2026
40efc2b
修改工作流
starsdream666 Feb 6, 2026
1669305
feat(kiro): add contextUsageEvent handler and simplify model structs
Feb 6, 2026
40ad4a4
Merge branch 'main' into plus
luispater Feb 6, 2026
a35d664
Merge pull request #192 from router-for-me/plus
luispater Feb 6, 2026
cc116ce
Merge branch 'router-for-me:main' into main
starsdream666 Feb 6, 2026
98edcad
fix: replace assistant placeholder text to prevent model parroting
PancakeZik Feb 6, 2026
77586ed
Merge branch 'main' into plus
luispater Feb 6, 2026
8fa12af
Merge pull request #195 from router-for-me/plus
luispater Feb 6, 2026
6abd7d2
Merge pull request #190 from taetaetae/fix/kiro-claude-compaction-cur…
luispater Feb 6, 2026
2e8d49a
Merge pull request #191 from CheesesNguyen/feat/kiro-api-models-and-c…
luispater Feb 6, 2026
d182e89
Merge pull request #194 from PancakeZik/fix/assistant-content-parroting
luispater Feb 6, 2026
c20507c
Merge branch 'router-for-me:main' into main
luispater Feb 6, 2026
6b83585
Merge branch 'router-for-me:main' into main
luispater Feb 7, 2026
eddf31e
Merge branch 'main' into plus
luispater Feb 7, 2026
d109be1
Merge pull request #197 from router-for-me/plus
luispater Feb 7, 2026
9bc6cc5
feat: add Claude Opus 4.6 to GitHub Copilot models
ravindra-wheelocity Feb 7, 2026
40e85a6
Merge branch 'router-for-me:main' into main
starsdream666 Feb 7, 2026
d468eec
fix(copilot): prevent premium request count inflation for Claude models
JokerRun Feb 7, 2026
76330f4
feat(copilot): add Claude Opus 4.6 model definition
JokerRun Feb 7, 2026
d5654ee
Merge branch 'router-for-me:main' into main
luispater Feb 8, 2026
d125b7d
Merge pull request #199 from ravindrabarthwal/add-claude-opus-4.6-git…
luispater Feb 8, 2026
1d93608
Merge pull request #203 from JokerRun/fix/copilot-premium-usage-infla…
luispater Feb 8, 2026
a3dc56d
Merge branch 'router-for-me:main' into main
luispater Feb 8, 2026
0f929de
Merge remote-tracking branch 'upstream/main' into feat/kiro
Xm798 Feb 9, 2026
e847627
refactor(kiro): reorganize fingerprint.go and clean up comments
Xm798 Feb 9, 2026
45b6fff
Merge branch 'main' into plus
luispater Feb 9, 2026
532fbf0
Merge pull request #204 from router-for-me/plus
luispater Feb 9, 2026
3ec7991
Merge branch 'router-for-me:main' into main
starsdream666 Feb 9, 2026
91841a5
Merge branch 'router-for-me:main' into main
luispater Feb 9, 2026
15bc99f
Merge branch 'router-for-me:main' into main
starsdream666 Feb 10, 2026
c8cae1f
Merge branch 'main' into plus
luispater Feb 10, 2026
e17d4f8
Merge pull request #207 from router-for-me/plus
luispater Feb 10, 2026
c3f1cdd
feat(config): add default Kiro model aliases for standard Claude mode…
Feb 10, 2026
8192eea
Revert "feat: inject web_search alternative hint instead of silently …
Skyuno Feb 6, 2026
fe6fc62
Revert "fix: filter out web_search/websearch tools unsupported by Kir…
Skyuno Feb 6, 2026
9c65e17
Merge branch 'router-for-me:main' into main
starsdream666 Feb 10, 2026
7b01ca0
fix(kiro): implement web search MCP integration for streaming and non…
Skyuno Feb 10, 2026
09b19f5
fix(kiro): filter orphaned tool_results from compacted conversations
Skyuno Feb 10, 2026
bcd2208
fix(auth): strip model suffix in GitHub Copilot executor before upstr…
anilcancakir Feb 10, 2026
cc8c4ff
Merge branch 'router-for-me:main' into main
luispater Feb 11, 2026
e9dd44e
Merge pull request #209 from Buywatermelon/feature/default-kiro-aliases
luispater Feb 11, 2026
5442387
Merge branch 'router-for-me:main' into main
starsdream666 Feb 11, 2026
dc55fb0
Merge pull request #211 from Skyuno/fix/kiro-websearch
luispater Feb 11, 2026
7726a44
Merge pull request #212 from Skyuno/fix/orphaned-tool-results
luispater Feb 11, 2026
bc61bf3
Merge pull request #214 from anilcancakir/fix/github-copilot-model-al…
luispater Feb 11, 2026
2334a2b
Merge branch 'router-for-me:main' into main
luispater Feb 11, 2026
ab0bf1b
Merge branch 'router-for-me:main' into main
starsdream666 Feb 11, 2026
09cd3cf
增加kiro新模型:deepseek-3.2,minimax-m2.1,qwen3-coder-next,gpt-4o,gpt-4,gpt…
starsdream666 Feb 11, 2026
2573358
根据其他提供商同模型配置Thinking
starsdream666 Feb 11, 2026
5a2cf0d
fix: prevent merging assistant messages with tool_calls
Darley-Wey Feb 11, 2026
55c3197
fix(kiro): merge adjacent assistant messages while preserving tool_calls
Darley-Wey Feb 11, 2026
627dee1
fix(kiro): 修复之前提交的错误的application/cbor请求处理逻辑
jellyfish-p Feb 12, 2026
086d8d0
fix(kiro): prepend placeholder user message when conversation starts …
Feb 12, 2026
d0f3fd9
Merge pull request #225 from router-for-me/main
luispater Feb 12, 2026
99266be
Merge pull request #216 from starsdream666/main
luispater Feb 12, 2026
c727e42
ci(github): trigger Docker image workflow on version tags matching `v*`
luispater Feb 12, 2026
8c6be49
Merge pull request #218 from ClubWeGo/fix/merge-assistant-tool-calls
luispater Feb 12, 2026
e4bc9da
Merge pull request #220 from jellyfish-p/main
luispater Feb 12, 2026
d02df01
Merge pull request #224 from Buywatermelon/fix/kiro-assistant-first-m…
luispater Feb 12, 2026
68f3bed
Merge remote-tracking branch 'upstream/main' into feat/kiro
Xm798 Feb 12, 2026
a803e73
Merge remote-tracking branch 'upstream/main' into feat/kiro
Xm798 Feb 12, 2026
726f1a5
Merge branch 'router-for-me:main' into main
luispater Feb 12, 2026
8ea6ac9
Merge branch 'main' into plus
luispater Feb 13, 2026
cbe5695
Merge pull request #227 from router-for-me/plus
luispater Feb 13, 2026
75818b1
fix(antigravity): add warn-level logging to silent failure paths in F…
xilu0 Feb 13, 2026
587371e
refactor: align web search with executor layer patterns
Skyuno Feb 12, 2026
2db8921
kiro: use payloadRequestedModel for response model name
Skyuno Feb 12, 2026
5626637
security: remove query content from web search logs to prevent PII le…
Skyuno Feb 12, 2026
632a2fd
refactor: align GenerateSearchIndicatorEvents return type with other …
Skyuno Feb 12, 2026
6df16be
fix: preserve explicitly deleted kiro aliases across config reload (#…
Feb 14, 2026
f9a9913
Update internal/runtime/executor/antigravity_executor.go
xilu0 Feb 14, 2026
c4722e4
fix(copilot): forward Claude-format tools to Copilot Responses API
ultraplan-bit Feb 14, 2026
af15083
feat(models): add Thinking support to GitHub Copilot models
ChrAlpha Feb 15, 2026
9e652a3
fix(github-copilot): remove 'xhigh' level from Thinking support
ChrAlpha Feb 15, 2026
795da13
feat(tests): add comprehensive GitHub Copilot tests for reasoning eff…
ChrAlpha Feb 15, 2026
c0d8e0d
Merge pull request #226 from Skyuno/refactor/websearch-alignment
luispater Feb 15, 2026
edb2993
Merge pull request #228 from xilu0/fix/antigravity-fetch-models-logging
luispater Feb 15, 2026
65bec4d
Merge pull request #229 from Buywatermelon/fix/issue-222-kiro-alias-d…
luispater Feb 15, 2026
a311040
Merge pull request #230 from ultraplan-bit/main
luispater Feb 15, 2026
294eac3
Merge branch 'main' into main
luispater Feb 15, 2026
5abeca1
Merge pull request #231 from ChrAlpha/main
luispater Feb 15, 2026
d560c20
Merge branch 'router-for-me:main' into main
luispater Feb 15, 2026
f8f8cf1
Fix Copilot codex model Responses API translation for Claude Code
ultraplan-bit Feb 15, 2026
786f25a
Merge remote-tracking branch 'upstream/main' into feat/kiro
Xm798 Feb 15, 2026
1dbeb08
added kilocode auth, needs adjusting
detroittommy879 Feb 15, 2026
5a7932c
Added Kilo Code as a provider, with auth. It fetches the free models,…
detroittommy879 Feb 15, 2026
d328e54
refactor(kilo): address code review suggestions for robustness
detroittommy879 Feb 15, 2026
a12d907
Merge branch 'main' into plus
luispater Feb 16, 2026
52a257d
Merge pull request #237 from router-for-me/plus
luispater Feb 16, 2026
8fc0b08
Merge pull request #233 from ultraplan-bit/fix/copilot-codex-response…
luispater Feb 16, 2026
e186ccb
Merge pull request #234 from detroittommy879/feature/add-kilocode-pro…
luispater Feb 16, 2026
b5756bf
Fix Copilot 0x model incorrectly consuming premium requests
ultraplan-bit Feb 17, 2026
5726a99
Improve Copilot provider based on ericc-ch/copilot-api comparison
ultraplan-bit Feb 17, 2026
c552753
feat(registry): add GPT-5.3 Codex to GitHub Copilot provider
TonyRL Feb 17, 2026
922d414
feat(registry): add Sonnet 4.6 to GitHub Copilot provider
TonyRL Feb 17, 2026
abf1629
Merge branch 'main' of https://github.com/ultraplan-bit/CLIProxyAPIPlus
ultraplan-bit Feb 18, 2026
e42ef9a
feat(registry): add Claude Sonnet 4.6 model definitions
gl11tchy Feb 18, 2026
b0cde62
feat: add Claude Sonnet 4.6 model support for Kiro provider
PancakeZik Feb 18, 2026
f9a09b7
style: sort model entries per review feedback
gl11tchy Feb 18, 2026
dc375d1
Merge pull request #239 from TonyRL/feat/copilot-codex-5.3
luispater Feb 18, 2026
5db244a
Merge pull request #240 from TonyRL/feat/copilot-sonnet-4.6
luispater Feb 18, 2026
357c191
Merge pull request #242 from ultraplan-bit/main
luispater Feb 18, 2026
9eb3e7a
Merge pull request #243 from gl11tchy/feat/claude-sonnet-4-6
luispater Feb 18, 2026
22c0c00
Merge branch 'main' into feat/sonnet-4-6
luispater Feb 18, 2026
ecb01d3
Merge pull request #244 from PancakeZik/feat/sonnet-4-6
luispater Feb 18, 2026
ec60680
Merge branch 'main' into plus
luispater Feb 18, 2026
ae4c502
Merge pull request #248 from router-for-me/plus
luispater Feb 18, 2026
c09fb2a
Merge branch 'main' into plus
luispater Feb 19, 2026
ca2174e
Merge pull request #249 from router-for-me/plus
luispater Feb 19, 2026
2b8c466
refactor(executor, handlers): replace channel-based streams with `Str…
luispater Feb 19, 2026
f2b1ec4
feat(registry): add Gemini 3.1 Pro to GitHub Copilot provider
TonyRL Feb 19, 2026
7c9c89d
fix(kiro): keep thinking enabled across request formats
DragonBaiMo Feb 20, 2026
7094992
fix(kiro): deduplicate thinking stream emission
DragonBaiMo Feb 20, 2026
b24786f
Merge pull request #250 from TonyRL/feat/copilot-gemini-3.1
luispater Feb 20, 2026
10b9c6c
Merge pull request #252 from DragonBaiMo/fix/kiro-thinking-stream-dedup
luispater Feb 20, 2026
57d18bb
Merge branch 'router-for-me:main' into main
luispater Feb 20, 2026
f91807b
Add GPT-4o model variants while keeping Gemini 3.1 Pro preview
ladeng07 Feb 20, 2026
740277a
refactor(registry): deduplicate GitHub Copilot GPT-4o model definitions
ladeng07 Feb 20, 2026
b3da00d
fix: add default copilot claude model aliases for oauth routing
kavore Feb 20, 2026
950de29
Merge pull request #255 from ladeng07/main
luispater Feb 21, 2026
cec6f99
Merge pull request #256 from kavore/fix/oauth-copilot-claude-aliases
luispater Feb 21, 2026
af8e9ef
Merge branch 'router-for-me:main' into main
luispater Feb 21, 2026
837aa6e
Merge branch 'router-for-me:main' into main
luispater Feb 22, 2026
0993413
Merge branch 'main' into plus
luispater Feb 22, 2026
21d2329
Merge pull request #261 from router-for-me/plus
luispater Feb 22, 2026
6e634fe
fix: filter out orphaned tool results from history and current context
Darley-Wey Feb 23, 2026
c785c1a
fix(kiro): support OR-group field matching in truncation detector
possible055 Feb 24, 2026
e6626c6
Merge pull request #269 from ClubWeGo/fix/filterOrphanedToolResults
luispater Feb 24, 2026
37dfea1
Merge pull request #287 from possible055/main
luispater Feb 24, 2026
77cc4ce
Merge branch 'main' into plus
luispater Feb 24, 2026
4eeec29
Merge pull request #288 from router-for-me/plus
luispater Feb 24, 2026
33aba3e
Merge remote-tracking branch 'upstream/main' into feat/kiro
Xm798 Feb 25, 2026
1872392
Merge remote-tracking branch 'upstream/main' into feat/kiro
Xm798 Feb 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
name: docker-image

on:
workflow_dispatch:
push:
tags:
- v*

env:
APP_NAME: CLIProxyAPI
DOCKERHUB_REPO: eceasy/cli-proxy-api
DOCKERHUB_REPO: ${{ secrets.DOCKERHUB_USERNAME }}/cli-proxy-api-plus

jobs:
docker_amd64:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ jobs:
cache: true
- name: Generate Build Metadata
run: |
echo VERSION=`git describe --tags --always --dirty` >> $GITHUB_ENV
VERSION=$(git describe --tags --always --dirty)
echo "VERSION=${VERSION}" >> $GITHUB_ENV
echo COMMIT=`git rev-parse --short HEAD` >> $GITHUB_ENV
echo BUILD_DATE=`date -u +%Y-%m-%dT%H:%M:%SZ` >> $GITHUB_ENV
- uses: goreleaser/goreleaser-action@v4
Expand Down
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
# Binaries
cli-proxy-api
cliproxy
*.exe

# Configuration
config.yaml
.env

.mcp.json
# Generated content
bin/*
logs/*
conv/*
temp/*
refs/*
tmp/*

# Storage backends
pgstore/*
Expand Down Expand Up @@ -44,7 +46,9 @@ GEMINI.md
.bmad/*
_bmad/*
_bmad-output/*
.mcp/cache/

# macOS
.DS_Store
._*
*.bak
8 changes: 4 additions & 4 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
builds:
- id: "cli-proxy-api"
- id: "cli-proxy-api-plus"
env:
- CGO_ENABLED=0
goos:
Expand All @@ -10,11 +10,11 @@ builds:
- amd64
- arm64
main: ./cmd/server/
binary: cli-proxy-api
binary: cli-proxy-api-plus
ldflags:
- -s -w -X 'main.Version={{.Version}}' -X 'main.Commit={{.ShortCommit}}' -X 'main.BuildDate={{.Date}}'
- -s -w -X 'main.Version={{.Version}}-plus' -X 'main.Commit={{.ShortCommit}}' -X 'main.BuildDate={{.Date}}'
archives:
- id: "cli-proxy-api"
- id: "cli-proxy-api-plus"
format: tar.gz
format_overrides:
- goos: windows
Expand Down
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ ARG VERSION=dev
ARG COMMIT=none
ARG BUILD_DATE=unknown

RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w -X 'main.Version=${VERSION}' -X 'main.Commit=${COMMIT}' -X 'main.BuildDate=${BUILD_DATE}'" -o ./CLIProxyAPI ./cmd/server/
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w -X 'main.Version=${VERSION}-plus' -X 'main.Commit=${COMMIT}' -X 'main.BuildDate=${BUILD_DATE}'" -o ./CLIProxyAPIPlus ./cmd/server/

FROM alpine:3.22.0

RUN apk add --no-cache tzdata

RUN mkdir /CLIProxyAPI

COPY --from=builder ./app/CLIProxyAPI /CLIProxyAPI/CLIProxyAPI
COPY --from=builder ./app/CLIProxyAPIPlus /CLIProxyAPI/CLIProxyAPIPlus

COPY config.example.yaml /CLIProxyAPI/config.example.yaml

Expand All @@ -32,4 +32,4 @@ ENV TZ=Asia/Shanghai

RUN cp /usr/share/zoneinfo/${TZ} /etc/localtime && echo "${TZ}" > /etc/timezone

CMD ["./CLIProxyAPI"]
CMD ["./CLIProxyAPIPlus"]
230 changes: 103 additions & 127 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,174 +1,150 @@
# CLI Proxy API
# CLIProxyAPI Plus

English | [中文](README_CN.md)
English | [Chinese](README_CN.md)

A proxy server that provides OpenAI/Gemini/Claude/Codex compatible API interfaces for CLI.
This is the Plus version of [CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI), adding support for third-party providers on top of the mainline project.

It now also supports OpenAI Codex (GPT models) and Claude Code via OAuth.
All third-party provider support is maintained by community contributors; CLIProxyAPI does not provide technical support. Please contact the corresponding community maintainer if you need assistance.

So you can use local or multi-account CLI access with OpenAI(include Responses)/Gemini/Claude-compatible clients and SDKs.
The Plus release stays in lockstep with the mainline features.

## Sponsor
## Differences from the Mainline

[![z.ai](https://assets.router-for.me/english-4.7.png)](https://z.ai/subscribe?ic=8JVLJQFSKB)
- Added GitHub Copilot support (OAuth login), provided by [em4go](https://github.com/em4go/CLIProxyAPI/tree/feature/github-copilot-auth)
- Added Kiro (AWS CodeWhisperer) support (OAuth login), provided by [fuko2935](https://github.com/fuko2935/CLIProxyAPI/tree/feature/kiro-integration), [Ravens2121](https://github.com/Ravens2121/CLIProxyAPIPlus/)

This project is sponsored by Z.ai, supporting us with their GLM CODING PLAN.
## New Features (Plus Enhanced)

GLM CODING PLAN is a subscription service designed for AI coding, starting at just $3/month. It provides access to their flagship GLM-4.7 model across 10+ popular AI coding tools (Claude Code, Cline, Roo Code, etc.), offering developers top-tier, fast, and stable coding experiences.
- **OAuth Web Authentication**: Browser-based OAuth login for Kiro with beautiful web UI
- **Rate Limiter**: Built-in request rate limiting to prevent API abuse
- **Background Token Refresh**: Automatic token refresh 10 minutes before expiration
- **Metrics & Monitoring**: Request metrics collection for monitoring and debugging
- **Device Fingerprint**: Device fingerprint generation for enhanced security
- **Cooldown Management**: Smart cooldown mechanism for API rate limits
- **Usage Checker**: Real-time usage monitoring and quota management
- **Model Converter**: Unified model name conversion across providers
- **UTF-8 Stream Processing**: Improved streaming response handling

Get 10% OFF GLM CODING PLAN:https://z.ai/subscribe?ic=8JVLJQFSKB
## Kiro Authentication

---
### Web-based OAuth Login

<table>
<tbody>
<tr>
<td width="180"><a href="https://www.packyapi.com/register?aff=cliproxyapi"><img src="./assets/packycode.png" alt="PackyCode" width="150"></a></td>
<td>Thanks to PackyCode for sponsoring this project! PackyCode is a reliable and efficient API relay service provider, offering relay services for Claude Code, Codex, Gemini, and more. PackyCode provides special discounts for our software users: register using <a href="https://www.packyapi.com/register?aff=cliproxyapi">this link</a> and enter the "cliproxyapi" promo code during recharge to get 10% off.</td>
</tr>
<tr>
<td width="180"><a href="https://www.aicodemirror.com/register?invitecode=TJNAIF"><img src="./assets/aicodemirror.png" alt="AICodeMirror" width="150"></a></td>
<td>Thanks to AICodeMirror for sponsoring this project! AICodeMirror provides official high-stability relay services for Claude Code / Codex / Gemini CLI, with enterprise-grade concurrency, fast invoicing, and 24/7 dedicated technical support. Claude Code / Codex / Gemini official channels at 38% / 2% / 9% of original price, with extra discounts on top-ups! AICodeMirror offers special benefits for CLIProxyAPI users: register via <a href="https://www.aicodemirror.com/register?invitecode=TJNAIF">this link</a> to enjoy 20% off your first top-up, and enterprise customers can get up to 25% off!</td>
</tr>
</tbody>
</table>
Access the Kiro OAuth web interface at:

## Overview
```
http://your-server:8080/v0/oauth/kiro
```

- OpenAI/Gemini/Claude compatible API endpoints for CLI models
- OpenAI Codex support (GPT models) via OAuth login
- Claude Code support via OAuth login
- Qwen Code support via OAuth login
- iFlow support via OAuth login
- Amp CLI and IDE extensions support with provider routing
- Streaming and non-streaming responses
- Function calling/tools support
- Multimodal input support (text and images)
- Multiple accounts with round-robin load balancing (Gemini, OpenAI, Claude, Qwen and iFlow)
- Simple CLI authentication flows (Gemini, OpenAI, Claude, Qwen and iFlow)
- Generative Language API Key support
- AI Studio Build multi-account load balancing
- Gemini CLI multi-account load balancing
- Claude Code multi-account load balancing
- Qwen Code multi-account load balancing
- iFlow multi-account load balancing
- OpenAI Codex multi-account load balancing
- OpenAI-compatible upstream providers via config (e.g., OpenRouter)
- Reusable Go SDK for embedding the proxy (see `docs/sdk-usage.md`)
This provides a browser-based OAuth flow for Kiro (AWS CodeWhisperer) authentication with:
- AWS Builder ID login
- AWS Identity Center (IDC) login
- Token import from Kiro IDE

## Getting Started
### CLI Authentication

CLIProxyAPI Guides: [https://help.router-for.me/](https://help.router-for.me/)
#### AWS Builder ID (Default)

## Management API
```bash
# Authorization Code Flow (recommended, automatic browser callback)
./CLIProxyAPI --kiro-aws-authcode

see [MANAGEMENT_API.md](https://help.router-for.me/management/api)
# Device Code Flow (manual code entry)
./CLIProxyAPI --kiro-aws-login
```

## Amp CLI Support
#### AWS Identity Center (IDC)

CLIProxyAPI includes integrated support for [Amp CLI](https://ampcode.com) and Amp IDE extensions, enabling you to use your Google/ChatGPT/Claude OAuth subscriptions with Amp's coding tools:
For enterprise users with AWS Identity Center:

- Provider route aliases for Amp's API patterns (`/api/provider/{provider}/v1...`)
- Management proxy for OAuth authentication and account features
- Smart model fallback with automatic routing
- **Model mapping** to route unavailable models to alternatives (e.g., `claude-opus-4.5` → `claude-sonnet-4`)
- Security-first design with localhost-only management endpoints
```bash
# Authorization Code Flow (default, automatic browser callback)
./CLIProxyAPI --kiro-idc-login --kiro-idc-start-url https://d-xxx.awsapps.com/start

**→ [Complete Amp CLI Integration Guide](https://help.router-for.me/agent-client/amp-cli.html)**
# Device Code Flow (manual code entry, for headless environments)
./CLIProxyAPI --kiro-idc-login --kiro-idc-start-url https://d-xxx.awsapps.com/start --kiro-idc-flow device

## SDK Docs
# Specify OIDC region (default: us-east-1)
./CLIProxyAPI --kiro-idc-login --kiro-idc-start-url https://d-xxx.awsapps.com/start --kiro-idc-region us-east-2
```

- Usage: [docs/sdk-usage.md](docs/sdk-usage.md)
- Advanced (executors & translators): [docs/sdk-advanced.md](docs/sdk-advanced.md)
- Access: [docs/sdk-access.md](docs/sdk-access.md)
- Watcher: [docs/sdk-watcher.md](docs/sdk-watcher.md)
- Custom Provider Example: `examples/custom-provider`
**IDC Options:**
| Option | Description | Default |
|--------|-------------|---------|
| `--kiro-idc-login` | Enable IDC login mode | - |
| `--kiro-idc-start-url` | Your IDC Start URL (required) | - |
| `--kiro-idc-region` | OIDC region for login and token refresh | `us-east-1` |
| `--kiro-idc-flow` | Login flow: `authcode` or `device` | `authcode` |

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## Who is with us?

Those projects are based on CLIProxyAPI:

### [vibeproxy](https://github.com/automazeio/vibeproxy)

Native macOS menu bar app to use your Claude Code & ChatGPT subscriptions with AI coding tools - no API keys needed

### [Subtitle Translator](https://github.com/VjayC/SRT-Subtitle-Translator-Validator)

Browser-based tool to translate SRT subtitles using your Gemini subscription via CLIProxyAPI with automatic validation/error correction - no API keys needed

### [CCS (Claude Code Switch)](https://github.com/kaitranntt/ccs)

CLI wrapper for instant switching between multiple Claude accounts and alternative models (Gemini, Codex, Antigravity) via CLIProxyAPI OAuth - no API keys needed
#### Google OAuth (Not Available)

### [ProxyPal](https://github.com/heyhuynhgiabuu/proxypal)
> **Note:** Google/GitHub login is not available for third-party applications due to AWS Cognito redirect_uri restrictions. Please use AWS Builder ID or import your token from Kiro IDE.

Native macOS GUI for managing CLIProxyAPI: configure providers, model mappings, and endpoints via OAuth - no API keys needed.
```bash
./CLIProxyAPI --kiro-google-login
```

### [Quotio](https://github.com/nguyenphutrong/quotio)
#### Import from Kiro IDE

Native macOS menu bar app that unifies Claude, Gemini, OpenAI, Qwen, and Antigravity subscriptions with real-time quota tracking and smart auto-failover for AI coding tools like Claude Code, OpenCode, and Droid - no API keys needed.
If you've already logged in via Kiro IDE:

### [CodMate](https://github.com/loocor/CodMate)
```bash
./CLIProxyAPI --kiro-import
```

Native macOS SwiftUI app for managing CLI AI sessions (Codex, Claude Code, Gemini CLI) with unified provider management, Git review, project organization, global search, and terminal integration. Integrates CLIProxyAPI to provide OAuth authentication for Codex, Claude, Gemini, Antigravity, and Qwen Code, with built-in and third-party provider rerouting through a single proxy endpoint - no API keys needed for OAuth providers.
## Quick Deployment with Docker

### [ProxyPilot](https://github.com/Finesssee/ProxyPilot)
### One-Command Deployment

Windows-native CLIProxyAPI fork with TUI, system tray, and multi-provider OAuth for AI coding tools - no API keys needed.
```bash
# Create deployment directory
mkdir -p ~/cli-proxy && cd ~/cli-proxy

### [Claude Proxy VSCode](https://github.com/uzhao/claude-proxy-vscode)
# Create docker-compose.yml
cat > docker-compose.yml << 'EOF'
services:
cli-proxy-api:
image: eceasy/cli-proxy-api-plus:latest
container_name: cli-proxy-api-plus
ports:
- "8317:8317"
volumes:
- ./config.yaml:/CLIProxyAPI/config.yaml
- ./auths:/root/.cli-proxy-api
- ./logs:/CLIProxyAPI/logs
restart: unless-stopped
EOF

VSCode extension for quick switching between Claude Code models, featuring integrated CLIProxyAPI as its backend with automatic background lifecycle management.
# Download example config
curl -o config.yaml https://raw.githubusercontent.com/router-for-me/CLIProxyAPIPlus/main/config.example.yaml

### [ZeroLimit](https://github.com/0xtbug/zero-limit)
# Pull and start
docker compose pull && docker compose up -d
```

Windows desktop app built with Tauri + React for monitoring AI coding assistant quotas via CLIProxyAPI. Track usage across Gemini, Claude, OpenAI Codex, and Antigravity accounts with real-time dashboard, system tray integration, and one-click proxy control - no API keys needed.
### Configuration

### [CPA-XXX Panel](https://github.com/ferretgeek/CPA-X)
Edit `config.yaml` before starting:

A lightweight web admin panel for CLIProxyAPI with health checks, resource monitoring, real-time logs, auto-update, request statistics and pricing display. Supports one-click installation and systemd service.
```yaml
# Basic configuration example
server:
port: 8317

### [CLIProxyAPI Tray](https://github.com/kitephp/CLIProxyAPI_Tray)
# Add your provider configurations here
```

A Windows tray application implemented using PowerShell scripts, without relying on any third-party libraries. The main features include: automatic creation of shortcuts, silent running, password management, channel switching (Main / Plus), and automatic downloading and updating.
### Update to Latest Version

### [霖君](https://github.com/wangdabaoqq/LinJun)
```bash
cd ~/cli-proxy
docker compose pull && docker compose up -d
```

霖君 is a cross-platform desktop application for managing AI programming assistants, supporting macOS, Windows, and Linux systems. Unified management of Claude Code, Gemini CLI, OpenAI Codex, Qwen Code, and other AI coding tools, with local proxy for multi-account quota tracking and one-click configuration.

### [CLIProxyAPI Dashboard](https://github.com/itsmylife44/cliproxyapi-dashboard)

A modern web-based management dashboard for CLIProxyAPI built with Next.js, React, and PostgreSQL. Features real-time log streaming, structured configuration editing, API key management, OAuth provider integration for Claude/Gemini/Codex, usage analytics, container management, and config sync with OpenCode via companion plugin - no manual YAML editing needed.

> [!NOTE]
> If you developed a project based on CLIProxyAPI, please open a PR to add it to this list.

## More choices

Those projects are ports of CLIProxyAPI or inspired by it:

### [9Router](https://github.com/decolua/9router)

A Next.js implementation inspired by CLIProxyAPI, easy to install and use, built from scratch with format translation (OpenAI/Claude/Gemini/Ollama), combo system with auto-fallback, multi-account management with exponential backoff, a Next.js web dashboard, and support for CLI tools (Cursor, Claude Code, Cline, RooCode) - no API keys needed.

### [OmniRoute](https://github.com/diegosouzapw/OmniRoute)

Never stop coding. Smart routing to FREE & low-cost AI models with automatic fallback.
## Contributing

OmniRoute is an AI gateway for multi-provider LLMs: an OpenAI-compatible endpoint with smart routing, load balancing, retries, and fallbacks. Add policies, rate limits, caching, and observability for reliable, cost-aware inference.
This project only accepts pull requests that relate to third-party provider support. Any pull requests unrelated to third-party provider support will be rejected.

> [!NOTE]
> If you have developed a port of CLIProxyAPI or a project inspired by it, please open a PR to add it to this list.
If you need to submit any non-third-party provider changes, please open them against the [mainline](https://github.com/router-for-me/CLIProxyAPI) repository.

## License

Expand Down
Loading
Loading