Repository navigation
OAuth Integration Request: ZCode with GLM Models #9056
Replies: 14 comments 8 replies
|
Thanks, @Minus-Brain. GLM model access is already present through the The part that may still be new is OAuth specifically through the ZCode client. If ZCode has a public OAuth or device-flow specification that differs from the existing ZAI paths, please link it here with the authorization URL, token URL, and model endpoint. I can then assess that as an authentication integration rather than duplicating the GLM provider itself. |
|
Excellent -- those endpoints are exactly what I needed, @Minus-Brain. The three-step flow (OAuth authorize -> token exchange -> business JWT mint -> One thing to flag before I wire it up: this feature was requested before in #3873, which was closed after investigation found the ZCode model endpoint behind an invisible Aliyun captcha that required browser anti-detection. The reference implementation (LuckyWithLab/zcode_proxy) was also dead at the time. The OAuth path you described may bypass that captcha entirely -- but I need to verify that the I will open a tracking issue with your endpoints and the captcha caveat. If you have a working curl example that shows a successful model call with the OAuth-minted token, that would be the fastest way to confirm the path is clean. |
|
Follow-up @Minus-Brain - ZCode OAuth integration for GLM free-tier quotas is already tracked in #9107. I am linking this discussion there rather than opening a duplicate. |
|
Looks like the ZCode starter plan is available again, it might be worth revisiting this. |
|
Hey @spiwar! Thanks for testing. That matches what @Minus-Brain's investigation found in #9107 -- traceless-captcha acquisition is the hard blocker (would take significant reverse-engineering effort to reproduce reliably, and it's fragile against ZCode API changes). #9107 stays on hold for that reason; the starter plan being temporarily available again doesn't change the captcha-wall problem. If you find a way past the captcha that doesn't involve browser automation, that would reopen the case. |
|
Note at here http://github.com/vibe-coding-labs/zcode-reverse-engineer/blob/main/README.md |
|
Thanks for the pointer, @xz-dev -- will take a look. Doesn't change the outcome in #9107 by itself (the captcha-wall blocker was the hard stop, not lack of endpoint knowledge), but if that repo has a working captcha-bypass approach that isn't browser automation, that would be worth revisiting. I'll check it out. |
|
@diegosouzapw As per #9107 it is already a work in progress, but it's closed as Not planned. It's quite confusing. I don't see any zcode-related commit within origin/release/v3.8.51 branch. Plz clarify. |
|
@shabeer you are right to be confused, and the confusion is our fault, not a gap in your reading. There is no ZCode work in progress, and you will not find a commit because none exists. What actually happened to #9107The real outcome, from @Minus-Brain's investigation in this thread, was hold (blocked-upstream). The OAuth chain works end to end in plain HTTP, and the captcha is solvable via traceless verification, but reproducing captcha acquisition reliably requires deep reverse engineering and stays fragile against any ZCode API change. @spiwar independently hit the same wall in August, with the starter plan disabling for an hour on each failed attempt. Then #9107 picked up an automated closing comment that said the opposite:
That is a template applied by a bulk-closing pass, and it was wrong for this issue. It landed on a ticket that was explicitly on hold, contradicting the hold verdict sitting directly above it, and the So the correct reading: ZCode OAuth is not planned for now, blocked on the captcha wall, not on endpoint knowledge or on anyone's willingness to build it. What would reopen itA way past the captcha that does not require browser automation. @xz-dev pointed to the Meanwhile GLM models are reachable today through the Thanks for flagging the contradiction rather than assuming the tracker was right. I am going to fix the closing template so it stops claiming work is in progress on issues that are on hold. |
|
@diegosouzapw glm, zai and zai-web providers - do not provide the starter plan which is available in zCode. Thats the impact. I am trying to use the starter plan credits of Zcode in omniroute. |
|
@shabeer short answer: no, a manual captcha step does not work, and I owe you a correction on the details, since I simplified the blocker too far in my last reply. Correcting what I saidRe-reading @Minus-Brain's August report, the captcha was not the wall that stopped the investigation. It was solved: AliyunCaptcha has a traceless mode that completes without a slider, and it was driven successfully through a headless browser (Xvfb plus the Chrome DevTools Protocol). What actually stopped it was server-side: with valid OAuth, a valid captcha and correct headers, every model call returned @spiwar later reported the starter plan was available again and hit the captcha when trying it. Nobody has re-run the full investigation since, so the current state of the plan is unverified. Why a manual captcha does not helpTwo findings from that report decide it:
That is why the acceptance gate on #9107 was "a model call succeeds without a browser". Browser automation was not missing know-how, it was the thing the gate ruled out. What would actually move thisRe-validation that the Start Plan grants quota today, followed by a clean model call. If you have a ZCode account with an active starter plan, the billing endpoint ( |
|
@xz-dev, @shabeer: I owe this thread the verdict on the What I did. I read the README of What it documents. The three-step OAuth chain (authorization code, then access token, then a business JWT), a Start Plan quota path at What it doesn't cover. The README never mentions the captcha. I searched it in English and in Chinese. The blocker recorded in #9107 is that model calls carried a fresh So this isn't a rejection of the repo. It just doesn't move the case yet, and the state stays as I described it on 09-15: not planned, blocked upstream, with no ZCode work in progress on our side. What would move it. A successful model call through that path, without a browser, using an account whose starter plan is active today. Post the request/response with the token and the captcha header value redacted, and note the date. If that works, it reopens the case. If it needs a browser for each request, it doesn't. Until then, GLM models stay reachable through |
|
@spiwar Thanks for the update. If ZCode really dropped the captcha, that changes this case. I can't see their changelog from here, so I haven't verified it myself and I'm taking your word for it until someone tests. If you do re-test, this is what would settle it, and it's simpler than before:
@Minus-Brain offered an end-to-end script earlier in this thread; if you two can compare notes, that's the fastest route. If the call works, I'll reopen #9107 and treat it as a real implementation task. Until a result is posted I can't promise anything. (Side note: the link you posted is OmniRoute's v3.8.51 release page. If you meant ZCode's changelog, please post that link so others can check the entry.) |
ZCode Start Plan API: current state on 3.14.4Status report from testing against my own account on 2026-10-04/05, ZCode 3.14.4 on Windows. Context for the earlier posts in this thread: those were run against ZCode 3.5.3. ZCode has since published its client source (zai-org/ZCode, repo created 2026-09-20) and the current build differs from the one the August investigation used. The captcha work and the plan-loss behavior described earlier belong to that older client. What follows is what the endpoint does today. AuthThe credential is the 255-char No captcha is involved. The 3.14.4 bundle contains no No client signing is involved for this provider. The app log emits Session id, query id, The 3012 response
The rule that fits every row is ConclusionThis is not viable as a provider. The check is on the request's |
Uh oh!
There was an error while loading. Please reload this page.
Hello OmniRoute team,
I would like to suggest adding OAuth provider support to ZCode within OmniRoute. The goal is to make it possible to authenticate and access GLM models directly through ZCode.
This integration would bring several benefits:
Simplified authentication: Developers could securely connect using OAuth without handling tokens manually.
Unified access: GLM models would be available through the same OmniRoute gateway, alongside other providers.
Improved usability: Easier onboarding for new users and smoother workflows for existing projects.
Flexibility: OAuth support would allow broader compatibility with enterprise and cloud environments.
Could you please consider implementing this feature? I believe it would make OmniRoute even more powerful and developer‑friendly.
Thank you for your great work on this project!
All reactions