mirror of
https://github.com/Twigpine/openclaude.git
synced 2026-11-09 13:31:28 -10:00
* feat(opengateway): live model list, Twigpine OpenGateway name, api.twigpine.com The gateway now lists only active models at GET /v1/models and is about to retire old ones, so the picker follows the live list instead of a hand-kept catalog. - Rename the route to "Twigpine OpenGateway"; keys move to https://twigpine.com/console/gateway/keys. - Default address https://api.twigpine.com/v1 and default model mimo-v2.6-pro. opengateway.gitlawb.com and opengateway.fly.dev still route to the gateway (base URL matching and /v1/xiaomi-mimo path normalization accept all three hosts). - Replace the stale curated catalog (MiMo V2.5, Gemini, Qwen 3.7, GLM, Nemotron, Ling, Macaron, HY3) with an offline floor: auto, MiMo V2.6 Pro and MiMo V2.6 Flash. Every other live model is appended from discovery. - mapOpenGatewayModel skips entries with status "retired". - Map the live z-ai/glm-5.2 id onto the shared glm-5.2 descriptor (providerModelMap) so GLM 5.2 through the gateway stays text-only for the vision gate after its curated entry is gone. GLM requests keep the name-inferred Z.AI shim on top of the gateway contract. - Provider id gitlawb-opengateway and the credential env vars are unchanged, so saved profiles keep working. - Update fresh-install, --provider and auto-detect fallbacks, the generated manifest, README, advanced-setup and web provider data. * docs(opengateway): describe the cached model list and drop stale model notes Address CodeRabbit review on #2488: - advanced-setup and README no longer promise that retired models drop out of /model on their own. The picker reads a one-day cache that is refreshed at startup once it expires or on demand with `r`; a failed refresh keeps the last cached list, and the auto / mimo-v2.6-pro / mimo-v2.6-flash floor is always listed. - The web provider notes drop the stale free-model list (Nemotron 3 Ultra, Ling 3.0 Flash, Tencent HY3) and point at the live /v1/models catalog for current models and pricing. - Add docstrings to the gateway URL normalizers, detectBestProvider and buildStartupEnvFromProfile, which this PR touches. Co-Authored-By: Claude Opus 5.5 <[email protected]> * test(opengateway): pin failed-refresh model list behaviour; fix web naming Address CodeRabbit re-review on #2488: - web env var descriptions use "Twigpine OpenGateway" consistently, and OPENGATEWAY_BASE_URL names its https://api.twigpine.com/v1 default. - The cache wording in advanced-setup and README now matches the code: a failed startup refresh keeps the last cached list, while a manual `r` refresh clears the cache first, so a failed one leaves only the offline floor. - discoveryService: a failed OpenGateway refresh keeps the floor when nothing was fetched and keeps the last cached live list after an earlier success. - /model: after a failed refresh the picker shows the cached list plus the floor, the "Showing cached ... Last refresh failed" warning, and the refresh action. mockDescriptorDiscovery gains an optional cachedError. Co-Authored-By: Claude Opus 5.5 <[email protected]> * docs(opengateway): describe the offline models as the catalog floor Address CodeRabbit review of67350553on #2488: auto, mimo-v2.6-pro and mimo-v2.6-flash are the route's catalog floor, not guaranteed picker entries. A saved profile's own model list or an `availableModels` allowlist can still narrow what /model shows. Co-Authored-By: Claude Opus 5.5 <[email protected]> * docs(readme): point OpenGateway refresh details at advanced-setup Address CodeRabbit review of2818de02on #2488. The README summary kept dropping one refresh case (startup vs manual `r`, the floor, profile and allowlist narrowing), so it no longer restates the cache behaviour. It names the cached live list and the catalog floor and links to the advanced-setup section, which documents each case. Co-Authored-By: Claude Opus 5.5 <[email protected]> --------- Co-authored-by: Claude Opus 5.5 <[email protected]>