Skip to content

Merge#11

Merged
Starry-Sky-World merged 16 commits into
mainfrom
dev
Apr 28, 2026
Merged

Merge#11
Starry-Sky-World merged 16 commits into
mainfrom
dev

Conversation

@Starry-Sky-World
Copy link
Copy Markdown

No description provided.

rensumo and others added 16 commits April 23, 2026 16:57
feat(codebuddy): update CodeBuddy and CodeBuddy-AI model lists
…lator

- Add internal/auth/codearts/ package (OAuth flow, HMAC signing, token models)
- Add internal/runtime/executor/codearts_executor.go (full executor)
- Add internal/translator/codearts/openai/ (request/response pass-through)
- Register CodeArts in constant, service, translator init, oauth_model_alias
- Add CodeArts OAuth Web handler with /v0/oauth/codearts/* routes
- Add root /callback route for HuaweiCloud redirect
- Register OAuth Web routes in server.go
feat: add CodeArts IDE provider with OAuth login, executor, and trans…
… support

- Add BT auth module (internal/auth/bt/) with stable serverID per phone
- Add BT executor with OpenAI-compatible request/response translation
- Add dynamic model fetching from BT AI API (/v1/models)
- Add JSON credential storage (phone plaintext, password base64)
- Add config synthesizer for multiple bt entries in config.yaml
- Add --bt-login CLI flag for credential initialization
- Register BT provider in executor and model registration pipeline
…der-auth-url endpoint

Integrate Qoder-login.py and Qoder2api.py into CLIProxyAPIPlus as a native Go provider:

- internal/auth/qoder/: PKCE flow, custom base64 encoding, auth field decoder
- internal/runtime/executor/qoder_executor.go: COSY authenticated executor with
  AES+RSA encryption, MD5 signature, SSE stream parsing
- sdk/auth/qoder.go: QoderAuthenticator with local callback server for qoder:// URI
- GET /v0/management/qoder-auth-url: antigravity-style browser login flow
- GET /qoder/callback: receives tokenString from qoder:// URI redirect
- 11 Qoder models registered (auto, ultimate, performance, efficient, lite, etc.)
…back

On Windows, registers HKCU\Software\Classes\qoder registry keys with a VBS
forwarding script that captures the qoder:// redirect and forwards the
tokenString to the local HTTP callback server. Cleanup removes registry
keys and temp VBS on exit. Non-Windows platforms fall back to manual URL paste.
…lback

The VBS URI handler double-encodes the qoder:// callback URL, causing
tokenString and auth values to remain URL-encoded after the first decode.
Replace url.ParseQuery (which misinterprets encoded & as separator) with
manual parameter extraction + per-value URL decoding.

Also fallback to a token-hash-derived UID when both auth field decoding
and user status API fail, so credentials can always be saved.
… and path parsing

Three critical bugs fixed:

1. Callback: match Python's unquote(raw_url) before parse_qs — VBS double-
   encodes the qoder:// URL, need QueryUnescape before ParseQuery

2. COSY signature: was using literal backslash-n (\\n two chars) instead of
   actual newline character in MD5 signature input — all signatures were wrong

3. Path parsing: sigPath extraction had off-by-one error when stripping the
   host from the URL — was computing wrong /algo prefix strip
@Starry-Sky-World Starry-Sky-World merged commit 2947a80 into main Apr 28, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants