OctaFuse Gateway 2.12.0: Provider Account Management, Routing Workspace & Multimodal Endpoint Discovery

OctaFuse Gateway 2.12.0 adds supplier account categorization with live quota queries, a searchable routing workspace showing sticky binding counts, multimodal model endpoint discovery via /v1/models with protocol and operation fields, responsive mobile admin UI, and extends streaming idle timeout from 30 to 90 seconds.

Programmer DD
Programmer DD
Programmer DD
OctaFuse Gateway 2.12.0: Provider Account Management, Routing Workspace & Multimodal Endpoint Discovery

01 | Supplier Management Optimization: Account Categorization & Quota Queries

When multiple accounts exist for the same platform, configuring routes or debugging logs requires distinguishing which account is used. Accounts can now be labeled with an alias (e.g., two ZenMux accounts named "Production" and "Testing"). The alias must be unique within the same provider type; different platforms may reuse the same alias. Adding another account for the same platform is done by importing the platform again from the catalog — the system creates a new account and appends a sequence number on name collision.

Editing only the type or alias no longer requires re-entering the API key. The edit dialog hides the key by default, revealing it only when needed.

Supplier account edit window showing ZenMux type and alias, with cards displaying two accounts for the same platform
Supplier account edit window showing ZenMux type and alias, with cards displaying two accounts for the same platform

No Need to Check Balances Platform by Platform

When a request fails, operators can click "Quota" on the supplier card to see real-time balance or period usage fetched directly from the upstream provider. Results are displayed only and not stored in the Gateway database. Pay-as-you-go accounts show remaining balance; subscription accounts may show usage over 5-hour, weekly, or monthly periods with reset times, depending on what the platform exposes.

Quota query entry on supplier card and examples of balance and period quota from different providers
Quota query entry on supplier card and examples of balance and period quota from different providers

Initial supported providers: DeepSeek, Moonshot AI, SiliconFlow (including international), OpenRouter, Novita AI, DeepInfra, StepFun (阶跃星辰), Vercel AI Gateway, OpenCode Go, MiniMax Token Plan, and Zhipu (智谱) and Z.AI GLM Coding Plan.

02 | Routing Configuration Workspace Upgrade

Finding routes tied to a specific model, upstream model name, or provider used to require manual scanning. The routing page now offers a search box and a provider-type filter. Display density can be toggled between "Compact" and "Detailed"; the preference persists per browser.

Routing page showing search box, provider type filter menu, and detailed display mode
Routing page showing search box, provider type filter menu, and detailed display mode

With sticky routing enabled, each route card now shows the total binding count for the route group and the effective binding count per upstream target. Hovering reveals the intra-group proportion. Disabling a route triggers a warning if unexpired bindings remain. These counts reflect valid binding relationships, not real-time online users, concurrency, or request volume.

Route group showing total sticky bindings, two upstream targets each displaying their effective binding counts
Route group showing total sticky bindings, two upstream targets each displaying their effective binding counts

03 | Model Interface Enhancements: Explicit Entry Protocols & Endpoints

Integrating models into portals, SDKs, or clients requires knowing which endpoint to call: Chat Completions vs. Responses for text, speech recognition vs. synthesis for audio. Hard-coding this in clients creates maintenance overhead when models or routes change. Since 2.10.0, GET /v1/models returned text entry points. Version 2.12.0 adds image generation, image editing, speech-to-text, and text-to-speech, and makes the public catalog endpoint GET /catalog/models return the same inbound structure. Clients can read protocol (e.g., "openai") and operation (e.g., "audio.speech") to dynamically select supported endpoints.

Example response for a TTS model (other fields omitted):

{
  "id": "example-tts",
  "model_info": {
    "inbound": [
      {
        "protocol": "openai",
        "operation": "audio.speech"
      }
    ]
  }
}

A client recognizing openai protocol with audio.speech operation knows to call POST /v1/audio/speech. Portals can display a "Text-to-Speech" label instead of guessing from the model name.

These entries come from active routes in the currently visible route groups. Clients must still implement the corresponding protocols and choose which entry to use; the return order does not imply priority.

To query image or audio models, pass a kind parameter: kind=image for image models, kind=audio for speech-to-text and text-to-speech, kind=all for all types. Omitting the parameter returns only text models (backward compatible).

Refreshing the model list no longer consumes user or API key RPM. Even if rate-limited or quota-exhausted, a valid API key can still fetch the list, preserving model selection and capability display.

04 | Responsive UI Support

The admin console now adapts to narrow screens. On phones or tablets, navigation collapses into a side drawer, secondary filters expand on demand, and the dashboard, provider import, model list, playground, and simulator are usable for common tasks like checking status, adjusting routes, or verifying requests.

Mobile admin dashboard, provider import, model list, playground, and simulator interfaces
Mobile admin dashboard, provider import, model list, playground, and simulator interfaces

05 | Other Updates

Streaming Debug : Fixed Playground and Simulator scrolling the entire page when receiving streamed content; now only the result area scrolls.

Long Streaming Requests : Default idle timeout between upstream data chunks extended from 30 seconds to 90 seconds, reducing interruptions during mid-generation reasoning or retrieval pauses.

Model Info : model_info.pricing_profile now returns an object or null directly (no JSON parsing needed). Empty vendor fields uniformly return other.

Config Display : Fixed placeholder display issue in Gemini endpoint examples.

New Model Presets : Added MiMo series: mimo-v2.6-pro, mimo-v2.6-flash, mimo-v2.6-pro-ultraspeed; also gpt-6-sol, gpt-6-luna, claude-opus-5-5, grok-4.7. Presets include USD/CNY pricing. Importing does not overwrite existing models with the same ID.

Upgrading to 2.12.0

Back up the database.

Run the new migration 0029_provider_kind.

Update Proxy and Admin to 2.12.0.

For D1 deployments: the migration rebuilds and copies provider, route, and sticky binding tables; avoid writes during this process.

Post-upgrade checks:

Manage existing provider accounts : Existing routes continue to work, but accounts remain uncategorized. Edit each account to select the correct type; only then can you filter by type. Supported platforms will show quota after a valid key is configured.

Update model list integration code : If you previously applied JSON.parse to model_info.pricing_profile, change to read the object directly and handle null.

Review streaming timeout configuration : Existing STREAM_IDLE_TIMEOUT_MS values remain effective; unconfigured instances now default to 90 seconds.

Finally, test a quota query, route filter, model list endpoint invocation, and a long streaming request.

Full changelog and upgrade notes: GitHub Release v2.12.0 (https://github.com/OctaFuse/octafuse-gateway/releases/tag/v2.12.0) and CHANGELOG (https://github.com/OctaFuse/octafuse-gateway/blob/v2.12.0/CHANGELOG.md).

OctaFuse website: https://octafuse.dev

GitHub repository: https://github.com/OctaFuse/octafuse-gateway

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

StreamingAPI gatewayroutingmultimodal modelsupgrade guideOctaFuse Gatewaymobile responsiveprovider management
Programmer DD
Written by

Programmer DD

A tinkering programmer and author of "Spring Cloud Microservices in Action"

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.