Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
241 commits
Select commit Hold shift + click to select a range
c449529
fix(openai): preserve tool_use stop reason and omitted-index parallel…
luispater Oct 20, 2026
7db0935
fix(translator): map completion_tokens_details.reasoning_tokens in no…
luispater Oct 20, 2026
3f0cef0
docs(readme): add Xcode sponsor and kedaya.ai to Japanese README
LTbinglingfeng Oct 20, 2026
e198f3c
fix(usage): parse flat reasoning_tokens dialect in OpenAI-compat usag…
sususu98 Oct 20, 2026
9d463e3
fix(meta): measure streaming TTFT on effective token frames
GavinKung Oct 20, 2026
5026f36
feat(executor): pass through downstream User-Agent and set default xA…
luispater Oct 20, 2026
f434192
fix(executor): count completed reasoning items toward TTFT
GavinKung Oct 20, 2026
c644755
Merge pull request #6794 from router-for-me/fix/meta-stream-ttft
GavinKung Oct 20, 2026
02e9e85
fix(antigravity): align Hub requests and invalidate versioned model c…
GavinKung Oct 20, 2026
9cd0de3
Merge pull request #6798 from router-for-me/fix/issue-6619-antigravit…
GavinKung Oct 20, 2026
aadb34f
fix(claude): map refusal, context window and pause_turn stop reasons;…
luispater Oct 20, 2026
77af379
perf(codex): resolve replay target model once per request in Claude t…
luispater Oct 20, 2026
bb2d8f8
fix(auth): resolve relative SIWC binding paths against working directory
luispater Oct 20, 2026
5fe203d
fix(watcher): preserve credentials when auth files return read errors…
luispater Oct 20, 2026
cddc9bb
fix(claude): scope web search result cache by upstream credential
luispater Oct 20, 2026
6bbd2cb
fix(auth): fence SIWC bind commits against replaced credential accounts
luispater Oct 20, 2026
8a3e762
fix(openai): allow xAI image vendor aliases to fall back under force-…
luispater Oct 20, 2026
3870639
fix(translator): preserve gemini thought signatures across openai cha…
luispater Oct 20, 2026
88041f0
fix(auth): serialize legacy auth-file uploads with SIWC bind commits
luispater Oct 20, 2026
20c9095
fix(claude): treat sdk-ts as native Claude Code and preserve caller h…
luispater Oct 20, 2026
d44f868
feat(vertex): support per-model and per-credential openapi routing se…
luispater Oct 20, 2026
4846a28
feat(pluginhost): add host.auth.models callback for per-credential mo…
luispater Oct 20, 2026
06fd5b8
feat(management): add read-only SIWC credential status endpoint
luispater Oct 21, 2026
df07b1e
fix(claude): drop empty text blocks and skip them during cache_contro…
luispater Oct 21, 2026
b12db8c
fix(gemini): preserve usage after terminal stream cancellation
luispater Oct 21, 2026
80d04e1
perf(util): precompute Claude tool-name collision policy
sususu98 Oct 21, 2026
83189e5
perf(gemini/claude): map tool names without rescanning the request
sususu98 Oct 21, 2026
c0e619d
perf(antigravity/claude): resolve request metadata once per stream
sususu98 Oct 21, 2026
33da6ec
Merge pull request #6828 from router-for-me/perf/translator-stream-me…
sususu98 Oct 21, 2026
95e1577
perf(codex/claude): cache short-to-original tool name map per stream
sususu98 Oct 21, 2026
b2e1ab2
Merge pull request #6829 from router-for-me/perf/codex-claude-tool-names
sususu98 Oct 21, 2026
befcba2
feat(home): add planned cluster rebalance handoff
hkfires Oct 21, 2026
3b15314
perf(openai/responses): extract request echo in one pass and drop req…
sususu98 Oct 21, 2026
3fa7639
Merge pull request #6831 from router-for-me/perf/responses-echo-openai
sususu98 Oct 21, 2026
ce07d18
docs: remove FluxA and Baidu AI Cloud sponsor sections and assets
luispater Oct 21, 2026
99d1698
fix(codex): preserve explicit parallel_tool_calls false in OpenAI tra…
luispater Oct 21, 2026
f4a2d04
perf(claude/responses): resolve namespaces from cached state and extr…
sususu98 Oct 21, 2026
7347882
Merge pull request #6832 from router-for-me/home
luispater Oct 21, 2026
9ec96fe
Merge pull request #6834 from router-for-me/perf/responses-echo-claude
sususu98 Oct 21, 2026
74e7ff6
perf(codex/chat): cache tool metadata per stream instead of rescannin…
sususu98 Oct 21, 2026
2957d10
Merge pull request #6836 from router-for-me/perf/codex-chat-tool-cache
sususu98 Oct 21, 2026
80aa2b1
fix(antigravity): preserve tool call replay continuity and caller iso…
luispater Oct 21, 2026
2f6f292
fix(auth): inherit parent credentials for guardian reviews
luispater Oct 21, 2026
009f8d7
fix(thinking): preserve standalone Claude effort on Codex requests
luispater Oct 21, 2026
d232ee1
docs(readme): add Chenju sponsor to README files
sususu98 Oct 21, 2026
0db1902
fix(codex): use original oauth credentials for alpha search
luispater Oct 21, 2026
b9bb031
fix(openai): reauthorize responses websocket turns and support denied…
luispater Oct 21, 2026
633a294
chore(deps): bump Go version to 1.26.10 and update dependencies
luispater Oct 22, 2026
d5816d5
fix(auth,watcher): preserve runtime cooldowns on file snapshots and r…
luispater Oct 22, 2026
ac3cd66
perf(util): skip Gemini schema cleanup when building Responses tool r…
luispater Oct 22, 2026
9e79552
fix(codex): hold response.metadata during stream bootstrap buffering
luispater Oct 22, 2026
c2dfec2
fix(claude): map model_context_window_exceeded to length in chat comp…
luispater Oct 22, 2026
d495e24
fix(claude): map model_context_window_exceeded to incomplete max_outp…
luispater Oct 22, 2026
d2e61d1
fix(claude): validate cloak_mode never headers against configured def…
luispater Oct 22, 2026
4138edb
fix(auth): skip token rejection and refresh for request-scoped 401 rules
luispater Oct 22, 2026
88732ad
fix(vertex): use regional endpoint hosts for multi-region us and eu l…
luispater Oct 22, 2026
df860eb
fix(translator): keep tool_use-deferred Claude web search open across…
luispater Oct 22, 2026
43f27e3
fix(responses): add context_length_exceeded code to Claude prompt ove…
luispater Oct 22, 2026
ad09c77
test(translator): skip replay target model allocation budget test und…
luispater Oct 22, 2026
57a1299
fix(watcher): preserve file credentials when auth directory is unread…
luispater Oct 22, 2026
8bd1795
fix(management): read Handler.cfg under h.mu in OAuth login flows and…
luispater Oct 22, 2026
07b5a7a
feat(usage): report effective outbound service tier after payload rules
luispater Oct 22, 2026
ceb045a
ci(workflow): bump Go version to 1.26.10 in release pipeline
luispater Oct 22, 2026
b90190d
fix(usage): propagate claude usage.speed into response service tier
luispater Oct 22, 2026
a014ba0
test(pluginhost,handlers): fix flaky races in plugin load and stream …
luispater Oct 22, 2026
13874f1
fix(pluginhost): pass decoded request body to frontend auth plugins
luispater Oct 22, 2026
4550161
fix(gemini): enable server-side tool invocations when mixing built-in…
luispater Oct 22, 2026
d946c4f
feat(codex): ignore use_siwc and enforce non-SIWC credentials for Cod…
luispater Oct 23, 2026
e45f942
feat(home): add cluster latency telemetry and probing
hkfires Oct 23, 2026
41a4b9f
Merge pull request #6903 from router-for-me/home
hkfires Oct 23, 2026
376015c
fix(codex): map commentary phase messages to thinking blocks in Claud…
luispater Oct 23, 2026
e1fb252
fix(claude): preserve tool arguments for implicitly open empty object…
luispater Oct 23, 2026
e5434f6
fix(signature): sign the first Gemini function call after a text part
luispater Oct 23, 2026
83cb1b9
fix(gemini): populate token limits in Gemini model catalog responses
luispater Oct 23, 2026
3f5d3a1
fix(gemini/vertex): preserve non-content finish reasons and surface p…
luispater Oct 23, 2026
29150a2
fix(schema): preserve Gemini $ref sibling constraints
luispater Oct 23, 2026
888f238
fix(api): add RESP protocol bounds validation and connection panic re…
luispater Oct 23, 2026
8289ec4
fix(usage): preserve interactions token semantics when merging stream…
luispater Oct 23, 2026
0d3ca1d
fix(store,home): handle repository index and packfile corruption and …
luispater Oct 24, 2026
ab139b4
fix(kimi): share thinking replay across K3.1 Pro variants
sususu98 Oct 24, 2026
da21f1e
fix(antigravity): restore non-stream tool signatures and preserve str…
luispater Oct 24, 2026
9d08f0d
fix(pluginhost): strip credential headers across cross-origin redirects
luispater Oct 24, 2026
44d1ddf
fix(pluginhost): translate plugin count_tokens replies as token counts
luispater Oct 24, 2026
35e834d
feat(pluginabi): carry retry-after metadata from plugin executor errors
luispater Oct 24, 2026
50147ae
fix(home): close underlying transport synchronously when canceling re…
luispater Oct 24, 2026
e42eee6
fix(pluginhost): apply user payload rules to plugin executor requests
luispater Oct 24, 2026
c9af529
fix(pluginhost): run canonical thinking pipeline before plugin execution
luispater Oct 24, 2026
179d43d
fix(logging): prevent path traversal vulnerabilities in request log f…
luispater Oct 24, 2026
bc06434
docs: remove outdated third-party extensions and apps from readmes
luispater Oct 24, 2026
2bb6ac6
fix(lint): resolve go vet lostcancel and static analysis warnings fro…
luispater Oct 24, 2026
6340fe4
fix(codex): bind duplex websocket turns to requested client model aft…
luispater Oct 24, 2026
3e7a21e
fix(openai): isolate duplex turn reauthorization from gin context and…
luispater Oct 24, 2026
32dd2c8
fix(watcher): preserve file snapshot binding on persisted auth updates
luispater Oct 24, 2026
2155350
fix(auth): restore re-logged credentials to rotation after refresh fa…
luispater Oct 24, 2026
b2fda98
fix(util): defer Gemini array placeholder items until after ref and a…
luispater Oct 24, 2026
6b56ce6
perf(thinking): skip document copies when deleting absent fields
JohnsonRan Oct 24, 2026
e48d780
fix(plugin): preserve caller scope for replayed Claude OAuth MCP tool…
luispater Oct 25, 2026
0c61b12
fix(xai): deduplicate tools when promoting historical additional_tools
luispater Oct 25, 2026
ce433b3
fix(cliproxy): back off home subscriber retries
hkfires Oct 25, 2026
86d951c
fix(openai/responses): drop response.metadata for non-Codex clients
soulmachine Oct 25, 2026
cf4fc4e
Merge pull request #6969 from router-for-me/home
sususu98 Oct 25, 2026
ba06ec5
fix(vertex): default credential location to global
LTbinglingfeng Oct 25, 2026
bdde391
fix(translator): preserve finishReason in Codex and OpenAI to Gemini …
luispater Oct 25, 2026
3dae075
feat(devin): aggregate swe-2 lightning UIDs into swe-2-lightning model
luispater Oct 25, 2026
27f3abf
feat(management): support session-scoped OAuth proxy with per-account…
luispater Oct 25, 2026
0fe4cc2
fix(openai): report buffered stream error when responses websocket da…
luispater Oct 25, 2026
90fe5b2
fix(handlers): report stream cancellation when channel closes with ca…
luispater Oct 25, 2026
84e8344
test(executor): fix race conditions in flaky websocket executor tests
luispater Oct 25, 2026
3078035
fix(aistudio): translate every SSE frame of a relay stream chunk
luispater Oct 25, 2026
712e497
fix(handlers): report cancellation when stream closes before first chunk
luispater Oct 25, 2026
e5321f5
fix(auth,pluginapi,usage): share per-selection ID between Scheduler.P…
luispater Oct 25, 2026
8365de8
docs(readme): update Kimi model availability
kdcokenny Oct 25, 2026
064e008
feat(codex): add full-chain compression for Codex upstream and downst…
luispater Oct 26, 2026
bc80710
perf: index web-search support to remove registry write-lock convoy
Oct 26, 2026
43f5386
fix(translator): map Claude thinking_tokens to reasoning_tokens in Op…
luispater Oct 26, 2026
531721b
fix(codex): restore Codex commentary history via internal thinking si…
luispater Oct 26, 2026
058b803
fix(api): explicitly allow Authorization in CORS preflight responses
luispater Oct 26, 2026
6fe654b
perf(pluginhost): gate request interceptor body delivery behind schem…
luispater Oct 26, 2026
ede07ca
fix(interactions): emit [DONE] sentinel after terminal usage frame in…
luispater Oct 26, 2026
8a982a5
feat(discovery): align TXT schema with draft-su-ai-gateway-discovery-00
sususu98 Oct 26, 2026
b214385
chore(config): deprecate discovery advertise-management
sususu98 Oct 26, 2026
1d45a5f
fix(claude): handle forced tool restrictions in claude 5.5
luispater Oct 26, 2026
37bd18b
fix(antigravity): accept bare content-block lists in interactions input
luispater Oct 26, 2026
11e5f67
fix(discovery): resolve split mDNS responses with scoped bounded caches
sususu98 Oct 26, 2026
999526c
docs(discovery): describe LAN resolution limits and trust boundaries
sususu98 Oct 26, 2026
aa4130e
fix(gemini): keep truncated HTTP 200 streams out of credential cooldo…
luispater Oct 26, 2026
ec81e70
Merge pull request #7010 from sususu98/feat/discovery-ietf-draft
sususu98 Oct 26, 2026
58a4d04
fix(signature): recognize Vertex bare-Tink Gemini thought signatures
sususu98 Oct 26, 2026
1398f27
fix(signature): scope Vertex bare-Tink replay to Vertex targets
sususu98 Oct 26, 2026
1f917e7
docs(readme): remove APIMart sponsor sections and assets
luispater Oct 26, 2026
c376712
Merge pull request #6959 from JohnsonRan/patch/thinking-delete-missin…
luispater Oct 26, 2026
3c948a5
perf(executor): decode upstream zstd synchronously and sniff unlabele…
JohnsonRan Oct 26, 2026
b4cbda5
docs(readme): add GPT-6.1 Terra
kdcokenny Oct 26, 2026
9a35fa1
fix(codex): treat turn_rate_limit_exceeded as transient capacity with…
luispater Oct 26, 2026
1939853
feat(codex): add workspace and cloud agent orchestrator restrictions …
luispater Oct 26, 2026
a8582fb
fix(signature): pin Vertex bare-Tink recognition to observed key ids
sususu98 Oct 27, 2026
023dd2a
Merge pull request #7016 from sususu98/fix/vertex-gemini-thought-sign…
sususu98 Oct 27, 2026
be929f0
fix(interactions): normalize gemini stream sse lines
luispater Oct 27, 2026
7517549
fix(signature): do not reject Antigravity CAQS signatures by channel ID
sususu98 Oct 27, 2026
437386d
Merge pull request #7042 from sususu98/fix/antigravity-caqs-channel-id
sususu98 Oct 27, 2026
908e95d
fix(models): preserve channel prefix in Gemini model names during pre…
luispater Oct 27, 2026
10417e5
feat(registry,management): support on-demand v8 management refresh fo…
luispater Oct 27, 2026
f73e66a
fix(responses-ws): keep downstream websocket open on upstream Codex d…
luispater Oct 27, 2026
b4f59d7
fix(devin): log apply_patch rejection diagnostics and recover complet…
luispater Oct 27, 2026
826bb16
fix(images): apply payload default rules to xAI image endpoints
luispater Oct 27, 2026
6431612
feat(translator): support Vertex streaming functionCall partialArgs c…
luispater Oct 27, 2026
86a1aab
fix(codex): retry another credential on early websocket 429 without c…
luispater Oct 27, 2026
c6425a6
docs: add Ebb to "Who is with us?"
lucasnsaraujo Oct 27, 2026
b744221
fix(auth,usage): snapshot request state to avoid reading reused gin.C…
luispater Oct 27, 2026
477605d
fix(api): prevent incomplete unauthenticated request bodies from exha…
luispater Oct 27, 2026
ad8bdd3
fix(middleware): bound zstd decompression output and window in reques…
luispater Oct 27, 2026
a9e0d48
Merge pull request #7057 from lucasnsaraujo/docs/add-ebb
luispater Oct 27, 2026
f6d29ec
Merge pull request #6989 from kdcokenny/docs/kimi-k31-availability
luispater Oct 27, 2026
ba26dea
Merge pull request #7023 from JohnsonRan/patch/response-decode-sync-zstd
luispater Oct 27, 2026
65889d3
test: update tests for default template changes and environment compa…
luispater Oct 27, 2026
16c6b4b
perf(api): reuse response compression encoders with a smaller zstd wi…
JohnsonRan Oct 26, 2026
12f2caf
test(api): measure open-stream heap with empty encoder pools
JohnsonRan Oct 27, 2026
e30575d
Merge pull request #6995: index web-search support
luispater Oct 28, 2026
58874f3
feat(registry): index web-search support
luispater Oct 28, 2026
f6ee1e6
Merge pull request #7022: reuse response compression encoders
luispater Oct 28, 2026
a3e7689
refactor(api): reuse response compression encoders and add tests
luispater Oct 28, 2026
f7342c3
Merge pull request #6970 from soulmachine/responses-drop-metadata-non…
luispater Oct 28, 2026
ae65e26
feat(api): filter private metadata in OpenAI responses and improve SS…
luispater Oct 28, 2026
9717e32
fix(responses): reject late websocket interrupts after terminal events
luispater Oct 28, 2026
e324e48
perf(pluginhost): allow frontend auth providers to opt out of request…
luispater Oct 28, 2026
0fe3822
feat(pluginhost): support raw request body byte-range patching
luispater Oct 28, 2026
535110e
docs(readme): add Nia Live Demo to "Who is with us?"
nia-teams-admin Oct 28, 2026
3f2b8f2
Merge pull request #7082 from nia-teams-admin/docs/add-nia-live-demo
luispater Oct 28, 2026
90c447d
fix(responses): use tsc_ item id prefix for Gemini tool search calls
luispater Oct 28, 2026
fa42f39
test(openai): assert websocket disconnect error event
sususu98 Oct 29, 2026
02ee313
fix(devin): classify JSON control character errors
sususu98 Oct 29, 2026
56efc81
Merge pull request #7092 from sususu98/fix/slow-test-disconnect
sususu98 Oct 29, 2026
7df437c
fix(aistudio): buffer fragmented relay SSE frames
wozhenbang2004 Oct 29, 2026
498170a
fix(aistudio): add relay SSE frame reassembly helper
wozhenbang2004 Oct 29, 2026
89e472f
feat(usage): capture structured Anthropic Messages upstream usage det…
sususu98 Oct 28, 2026
24840fd
feat(usage): capture structured xAI usage across chat, responses, and…
sususu98 Oct 28, 2026
01551f5
feat(usage): capture structured OpenAI and Codex usage across respons…
sususu98 Oct 28, 2026
bd5ec53
feat(usage): capture structured Gemini, Vertex, AI Studio, and Antigr…
sususu98 Oct 28, 2026
d5eb4ca
perf(usage): optimize stream usage observation and large payload parsing
sususu98 Oct 28, 2026
97dd3a4
fix(usage): preserve stream failure usage, multipart image params, an…
sususu98 Oct 29, 2026
a6b4477
fix(home): restrict websocket access in home mode
hkfires Oct 29, 2026
82deffb
fix(usage): preserve output_item.done tool counts and multiline SSE u…
sususu98 Oct 29, 2026
eabcb1b
Merge pull request #7074 from sususu98/feat/structured-usage-7054
sususu98 Oct 29, 2026
265ca17
Merge pull request #7095: reassemble AI Studio SSE frames
hkfires Oct 29, 2026
d30edd7
Merge pull request #7102 from router-for-me/aistudio
hkfires Oct 29, 2026
4cb98e3
fix(logging): prevent deferred request retention on Responses WebSockets
GavinKung Oct 29, 2026
8dfb45d
Merge pull request #7106 from router-for-me/fix/responses-ws-deferred…
GavinKung Oct 29, 2026
43068c8
fix(auth): write the cooldown state next to the auth file when auth-d…
eaxeax Oct 29, 2026
f013eb6
fix(openai): keep incomplete streams without [DONE] out of credential…
luispater Oct 29, 2026
514d09f
feat(codex): guide recovery when automatic credential renewal becomes…
luispater Oct 29, 2026
12d97cf
fix(translator): translate mid-conversation Claude tool_addition blocks
luispater Oct 30, 2026
67beb7a
Merge pull request #7109 from eaxeax/fix/cooldown-state-relative-auth…
luispater Oct 30, 2026
d9a688e
chore(meta): match Muse Code 1.4.14 client headers
Oct 30, 2026
bc81923
feat(pluginhost): allow model registrars to publish models for multip…
luispater Oct 30, 2026
81de4b9
fix(gemini): preserve Claude tool-result error semantics (#6838)
GavinKung Oct 30, 2026
068fe15
fix(antigravity): preserve Claude tool-result error semantics
sususu98 Oct 30, 2026
dbb7062
fix(codex): expand recognized CPA compaction capsules before forwardi…
luispater Oct 30, 2026
b147b8d
fix(meta): include Muse namespace in tool-bearing requests
Oct 30, 2026
cc4b994
feat(claude): add opt-in visible Codex commentary with preserved replay
luispater Oct 31, 2026
4c46f0a
fix(gemini): strip empty part objects from systemInstruction (#7136)
sususu98 Oct 31, 2026
a8dbeba
feat(pluginhost): allow plugins to register multiple OAuth login entries
luispater Oct 31, 2026
f42f587
fix(antigravity): strip empty part objects from Gemini systemInstruct…
luispater Oct 31, 2026
234217d
fix(antigravity): discard excess functionResponse parts per turn in f…
sususu98 Oct 31, 2026
250d598
perf(antigravity): make selectGroupResponses O(N+M) and deduplicate s…
sususu98 Oct 31, 2026
7d2959a
fix(home): keep the release flusher idle when nothing is pending
Oct 31, 2026
f0ddc38
fix(xai): support Grok Imagine Video 1.5 Lite
gabrielrinaldi Oct 31, 2026
95f125f
fix(auth): skip automatic Codex refresh without renewal credentials
LTbinglingfeng Oct 31, 2026
7b4c64b
fix(auth): preserve disabled credential refresh backoff
LTbinglingfeng Oct 31, 2026
c69cdd9
fix(xai): preserve Lite resolution and catalog fallback
gabrielrinaldi Oct 31, 2026
d00267c
fix(auth): treat Anthropic credit balance 400 errors as payment required
luispater Nov 1, 2026
b63322b
fix(registry): preserve explicit thinkingLevel on Antigravity Claude …
luispater Nov 1, 2026
bf83431
feat(config): add per-api-key connection-pool settings
sususu98 Oct 29, 2026
34a01b7
feat(proxy): pool upstream transports per api key
sususu98 Oct 29, 2026
9f0c9ff
docs(config): document per-api-key connection pools
sususu98 Oct 29, 2026
638f5f5
fix(proxy): honour per-key pool opt-in and isolate pools per runtime
sususu98 Oct 29, 2026
6c231c2
fix(proxy): lazily allocate uTLS pools and close fenced transports
sususu98 Oct 29, 2026
893958e
fix(proxy): decline pooling when http.DefaultTransport is not *http.T…
sususu98 Oct 31, 2026
fd02b72
fix(proxy): stamp keepalive on uTLS dialers, rebind stale compat exec…
sususu98 Nov 1, 2026
f692d93
Merge pull request #7101 from sususu98/feat/proxy-connection-pool
sususu98 Nov 1, 2026
5d8fddd
chore(meta): match Muse Code 1.4.14 client headers
Oct 30, 2026
bb6e1aa
fix(meta): include Muse namespace in tool-bearing requests
Oct 30, 2026
ecbaa6c
fix(devin): route compound fast thinking levels to upstream fast vari…
luispater Nov 1, 2026
a96e640
fix(auth): keep sign-in-required Codex credentials quarantined across…
luispater Nov 1, 2026
675debc
Merge pull request #7141 from Ruanyuxi1337/fix/release-flusher-idle
luispater Nov 1, 2026
41c03b7
fix(pluginhost): normalize same-format plugin executor streams throug…
Rick7C2 Nov 1, 2026
9037d54
fix(openai): drop output-only content_token_count from replayed respo…
luispater Nov 1, 2026
d65840f
fix(xai): append identity hash to credential filenames to prevent col…
luispater Nov 1, 2026
9513c2d
docs(auth): explain Codex refresh token key requirement
LTbinglingfeng Nov 1, 2026
a21814e
docs(config): note connection-pool pruning boundaries on save
sususu98 Nov 1, 2026
08437a6
fix(codex): keep shortened gateway mcp tool names readable in claude …
luispater Nov 1, 2026
aca8dfe
Merge pull request #7154
luispater Nov 1, 2026
f7331b5
fix(pluginhost): deframe same-format plugin executor streams and gate…
luispater Nov 1, 2026
ce39bc6
feat(pluginstore): support plugin locales normalization and managemen…
luispater Nov 1, 2026
24f9744
Merge pull request #7143 from router-for-me/fix/codex-no-refresh-toke…
luispater Nov 1, 2026
53ff2f9
feat(pluginhost): expose per-entry name and logo for multi-entry OAut…
luispater Nov 1, 2026
ec06c3c
fix(translator): normalize numeric schema constraints when converting…
luispater Nov 1, 2026
4448b96
Merge pull request #7113 from zoidypuh/pr/muse-1414-client-headers
luispater Nov 1, 2026
00b7677
fix(translator): preserve developer roles in responses to chat comple…
luispater Nov 1, 2026
3ac3849
fix(gemini): preserve parallel responses tool output batches across d…
luispater Nov 1, 2026
7cad1cb
Merge pull request #7142 from gabrielrinaldi/fix/grok-video-1.5-lite
luispater Nov 1, 2026
7759e98
Merge custom features into upstream v8.0.51 update
Raghav-56 Nov 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ permissions:

env:
GH_REPO: ${{ github.repository }}
GO_VERSION: '1.26.4'
GO_VERSION: '1.26.10'

jobs:
prepare-release:
Expand Down
39 changes: 21 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ You can access the following providers locally and with multiple CLI accounts th
</tr>
<tr>
<td align="center"><a href="https://www.kimi.com/code/?aff=cliproxyapi"><img src="./assets/logo/kimi.svg" alt="Kimi" width="28" height="28" /></a></td>
<td>Kimi series models (Kimi K3, K2.8 Preview, etc.). <a href="https://platform.kimi.ai/docs/guide/kimi-k3-quickstart">Kimi K3</a> is Moonshot AI’s most capable model and the world’s first open 3T-class model. With 2.8 trillion parameters, native vision, and a 1-million-token context window, K3 is built for long-horizon coding, knowledge work, and reasoning. CLIProxyAPI supports Kimi through OAuth or compatible API interfaces. Try a <strong>Kimi Code plan</strong> (<a href="https://www.kimi.com/code?aff=cliproxyapi">中文站</a> | <a href="https://www.kimi.ai/code?aff=cliproxyapi">Global</a>), or get an <strong>API key</strong> from the Kimi Open Platform (<a href="https://platform.kimi.com?track_id=track-f15622e7182046baa22ca35e006e13a7&aff=cliproxyapi">中文站</a> | <a href="https://platform.kimi.ai?track_id=track-8a28e4b291d84f62af2fccc3e7a21cb3&aff=cliproxyapi">Global</a>). Thanks to Kimi for supporting CLIProxyAPI and the open-source community!</td>
<td>Kimi series models (Kimi K3.1 Pro, K3.1 Pro Highspeed, K3, K2.8 Preview, etc.). <a href="https://platform.kimi.ai/docs/guide/kimi-k3-quickstart">Kimi K3</a> is Moonshot AI’s previous-generation flagship and the world’s first open 3T-class model. With 2.8 trillion parameters, native vision, and a 1-million-token context window, K3 is built for long-horizon coding, knowledge work, and reasoning. CLIProxyAPI supports Kimi through OAuth or compatible API interfaces. Try a <strong>Kimi Code plan</strong> (<a href="https://www.kimi.com/code?aff=cliproxyapi">中文站</a> | <a href="https://www.kimi.ai/code?aff=cliproxyapi">Global</a>), or get an <strong>API key</strong> from the Kimi Open Platform (<a href="https://platform.kimi.com?track_id=track-f15622e7182046baa22ca35e006e13a7&aff=cliproxyapi">中文站</a> | <a href="https://platform.kimi.ai?track_id=track-8a28e4b291d84f62af2fccc3e7a21cb3&aff=cliproxyapi">Global</a>). Thanks to Kimi for supporting CLIProxyAPI and the open-source community!</td>
</tr>
<tr>
<td align="center"><a href="https://developers.openai.com/api/docs/models"><img src="./assets/logo/openai.svg" alt="OpenAI" width="28" height="28" /></a></td>
<td>OpenAI GPT-6 models (GPT-6 Astra, GPT-6.1 Sol, GPT-6 Luna), including access through Codex OAuth. Astra is the flagship for complex reasoning and coding, Sol balances capability and cost, and Luna handles focused, high-volume work.</td>
<td>OpenAI GPT-6 models (GPT-6 Astra, GPT-6.1 Sol, GPT-6.1 Terra, GPT-6 Luna), including access through Codex OAuth. Astra is the flagship for complex reasoning and coding, Sol balances capability and cost, Terra focuses on visual reasoning and computer use, and Luna handles focused, high-volume work.</td>
</tr>
<tr>
<td align="center"><a href="https://www.anthropic.com/claude/fable"><img src="./assets/logo/claude.svg" alt="Anthropic" width="28" height="28" /></a></td>
Expand Down Expand Up @@ -85,10 +85,6 @@ PackyCode provides special discounts for our software users: register using <a h
<td>Bestproxy provides high-purity residential IPs with dedicated one-IP-per-account support. 🟡Residential Proxy - &#36;0.5/GB;🟡Static Residential Proxy - Starting at &#36;3/IP;🟡Unlimited Residential Proxy - Starting at &#36;67/Day. ✅<a href="https://bestproxy.com/?keyword=ayh7otlb">Get Free Trial.</a></td>
</tr>
<tr>
<td width="180"><a href="https://go.apimart.ai/gh-cliproxyapi"><img src="./assets/apimart-en.png" alt="APIMart" width="150"></a></td>
<td>Thanks to APIMart for sponsoring this project! APIMart is a low-cost API platform for AI image &amp; video generation — GPT-Image-2 from &#36;0.006/image, 160+ images per dollar. One async API covers both image and video: submit a task, get an ID, fetch results via polling or callback. Batch tens of thousands of images without timeouts, switch models without changing code. Pay-as-you-go with no monthly fee — <a href="https://go.apimart.ai/gh-cliproxyapi">sign up here</a> to get started.</td>
</tr>
<tr>
<td width="180"><a href="https://www.swiftproxy.net/?code=PR67S9A95"><img src="./assets/swiftproxy.png" alt="Swiftproxy" width="150"></a></td>
<td>Swiftproxy provides 90M+ clean residential IPs across 220+ locations, supporting HTTP(S)/SOCKS5, IP rotation, Sticky Sessions, and precise location targeting. It helps AI API tools and automation workflows access online services reliably from different locations, making it ideal for API requests, web access, data collection, and location-based testing. Residential proxies from &#36;0.7/GB. Free testing is available, with 10% off using code PROXY90. <a href="https://www.swiftproxy.net/?code=PR67S9A95">Try Swiftproxy Now</a></td>
</tr>
Expand All @@ -101,10 +97,6 @@ PackyCode provides special discounts for our software users: register using <a h
<td>PatewayAI is an API relay service provider for experienced AI developers, with full support for the Claude and Codex model families. All models come from high-quality official channels, with no dilution or counterfeiting, and transparent, verifiable billing details. Economy mode starts at just 5% of the official price. Register through <a href="https://pateway.ai/?ch=jjvdb">this link</a> to receive trial credits and participate in occasional promotions for free credits. The platform also supports enterprise-grade concurrency, a dedicated management dashboard, formal contracts and invoices, and two-way referral rewards of up to &#36;150.</td>
</tr>
<tr>
<td width="180"><a href="https://agentmarket.fluxapay.xyz/marketplace/tokenplans"><img src="./assets/fluxa-baidu-ai-cloud.png" alt="FluxA &amp; Baidu AI Cloud" width="150"></a></td>
<td>Thanks to FluxA &amp; Baidu AI Cloud for supporting this project! FluxA and Baidu AI Cloud jointly launched AgenticPlan, enabling AI Agents to autonomously purchase, manage, and use models, APIs, and tools. It includes Baidu Qianfan TokenPlan at prices as low as 60% of the standard rate, with access to flagship models such as DeepSeek V4, GLM 5.2, and Kimi. It also includes FluxA AgentMarket API call credits, unlocking 1,000+ paid APIs for search, data scraping, social media, finance, cryptocurrency, image generation, video, and more.<br><br>With user authorization, AI Agents can also use official Visa card payments to independently procure resources, manage API keys, monitor usage, and plan renewals—helping Agents evolve from “autonomously completing tasks” to truly being able to “autonomously plan budgets and complete tasks.” <a href="https://agentmarket.fluxapay.xyz/marketplace/tokenplans">Learn more about AgenticPlan</a>.</td>
</tr>
<tr>
<td width="180"><a href="https://www.openlux.ai/register?channel=c_6axb1q5n"><img src="./assets/openlux.png" alt="OpenLux" width="150"></a></td>
<td>Thank you to OpenLux for sponsoring this project!<br><br>OpenLux is an all-in-one AI platform for businesses, bringing together leading AI models from major providers worldwide. With fast, reliable service and responsive technical support, OpenLux offers base pricing for Claude, OpenAI, and Gemini models as low as 8.82%, 4%, and 8% of official rates, respectively.<br><br>Exclusive offer for CLI Proxy API users: Sign up through our referral link and enjoy up to 7.5% off credit top-ups!<br><br>Get started with OpenLux → <a href="https://www.openlux.ai/register?channel=c_6axb1q5n">https://www.openlux.ai/register?channel=c_6axb1q5n</a></td>
</tr>
Expand All @@ -116,6 +108,15 @@ PackyCode provides special discounts for our software users: register using <a h
<td width="180"><a href="https://kedaya.ai/register?aff=824X8RAHCYXM"><img src="./assets/kedaya.jpg" alt="kedaya.ai" width="150"></a></td>
<td>kedaya.ai is a stable and efficient AI model API relay service provider, covering leading models including Claude, GPT, Gemini, Grok, Antigravity, and DeepSeek. It supports native OpenAI (including Responses), Anthropic, and Gemini protocols, enabling seamless integration with clients such as CLIProxyAPI, Claude Code, Codex, Gemini CLI, and Grok CLI. OpenAI and Grok model prices can be as low as 0.1% of official rates! <a href="https://kedaya.ai/register?aff=824X8RAHCYXM">Exclusive registration link</a>.</td>
</tr>
<tr>
<td width="180"><a href="https://xcode.best/register?aff=OuDv"><img src="./assets/xcode.gif" alt="Xcode" width="150"></a></td>
<td>This AI model transfer service provider offers immediate refunds; any user can obtain a free invoice; it can be done for both corporate and individual clients; all major models are available. The customer service is always online and ready to respond to your requests; just let us know what you need and we'll take care of it!!!
<br><br>Xcode VIP access:<a href="https://xcode.best/register?aff=OuDv">https://xcode.best</a></td>
</tr>
<tr>
<td width="180"><a href="https://x.com/chenju_ai"><img src="./assets/chenju.png" alt="Chenju" width="150"></a></td>
<td>Thanks to <a href="https://x.com/chenju_ai">陈局 (Chenju)</a> for sponsoring this project! Probably the only slot here that won't ask you to sign up — no signup link, no promo code. Just raising a glass to the maintainers, because good open source deserves to be paid for. Come shoot the breeze on X: <a href="https://x.com/chenju_ai">@chenju_ai</a></td>
</tr>
</tbody>
</table>

Expand All @@ -142,6 +143,8 @@ PackyCode provides special discounts for our software users: register using <a h

CLIProxyAPI Guides: [https://help.router-for.me/](https://help.router-for.me/)

[Claude Code with a Codex backend](examples/claude-code-codex/README.md): optional visible progress, classifier routing, image-tool pass-through, and latency diagnostics.

## Management API

see [MANAGEMENT_API.md](https://help.router-for.me/management/api)
Expand Down Expand Up @@ -204,14 +207,6 @@ Native macOS menu bar app that unifies Claude, Gemini, OpenAI, and Antigravity s

Windows-native CLIProxyAPI fork with TUI, system tray, and multi-provider OAuth for AI coding tools - no API keys needed.

### [Claude Proxy VSCode](https://github.com/uzhao/claude-proxy-vscode)

VSCode extension for quick switching between Claude Code models, featuring integrated CLIProxyAPI as its backend with automatic background lifecycle management.

### [ZeroLimit](https://github.com/0xtbug/zero-limit)

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.

### [CPA-XXX Panel](https://github.com/ferretgeek/CPA-X)

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.
Expand Down Expand Up @@ -315,6 +310,14 @@ A Cloudflare-based LLM gateway and proxy server: CLIProxyAPI deployed to Cloudfl

Model-provider plugin for [Hermes Agent](https://github.com/NousResearch/hermes-agent) that registers one Hermes provider per CLIProxyAPI provider, each on the wire its executor accepts (Anthropic Messages, Responses or Chat Completions), with context windows and reasoning levels read from CLIProxyAPI. Optional read-only Management API pass for exact provider grouping. Listed in the [Hermes plugin catalog](https://hermes-agent.nousresearch.com/docs/plugins/cliproxyapi-provider): `hermes plugins install cliproxyapi-provider`.

### [Ebb](https://github.com/lucasnsaraujo/ebb)

Native macOS menu bar app for CLIProxyAPI pools. It shows how much of the pool's Claude, Codex and other providers' 5-hour and weekly limits is left and when it comes back, and sets each login's routing weight through the Management API so the accounts drain evenly.

### [Nia Live Demo](https://github.com/nia-teams/nia-live-demo)

Real-time full-duplex voice companion with a live, interactive SVG/HTML canvas. It combines two CLIProxyAPI capabilities: the Codex GPT-Live 1.1 media relay (`gpt-live-1-codex`, WebRTC + Sideband) for voice with instant barge-in, and `ultrafast` Responses (`gpt-6.1-sol` / `gpt-6-astra`) for drawing and editing the canvas while you talk.

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

Expand Down
Loading
Loading