From ebfaeba07e92f41db6237e073a1c91648a515ada Mon Sep 17 00:00:00 2001 From: Steve Dudenhoeffer Date: Wed, 12 Aug 2026 17:22:08 -0400 Subject: [PATCH] docs(qwen): warn that Model Studio keys are endpoint-scoped MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A workspace-scoped Qwen endpoint rejects a key issued for the shared international host with a genuine 'Incorrect API key provided', so a valid key reads as invalid and the obvious next move โ€” checking the key โ€” confirms it is fine and leads nowhere. Watched this cost real debugging time on a live deployment today; gadfly would hit it identically. Documents the GADFLY_ENDPOINT_* form, which reaches a workspace host with no code change. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index 825513b..1592557 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,21 @@ gets you a skip notice naming it, not a mis-keyed call. Note `kimi/` (Moo API, `KIMI_API_KEY`) is a different route than the `kimi-k2.6:cloud` entry in the default swarm, which is Ollama Cloud and keyed by `OLLAMA_CLOUD_API_KEY`. +> **Qwen keys are endpoint-scoped, and the failure looks like a bad key.** +> Alibaba Model Studio issues *workspace-scoped* endpoints of the form +> `https://..maas.aliyuncs.com/compatible-mode/v1`. A key +> issued for one host is rejected by another with a genuine +> `401 Incorrect API key provided` โ€” so a perfectly good key reads as invalid if +> the endpoint doesn't match. The built-in defaults to the shared international +> host; point at your own with a named endpoint, which needs no code change: +> +> ``` +> GADFLY_ENDPOINT_QWENWS = "qwen|https://.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1|" +> GADFLY_MODELS = "qwenws/qwen3.8-max,..." +> ``` +> +> (Verified the hard way against a live deployment.) + > ### ๐Ÿงช Honest status > Only the **Ollama** paths above are actually exercised. The OpenAI / Qwen / Kimi / > Anthropic / Google