fusionAIze Gate works best when clients use the same OpenAI-compatible base URL and let the gateway handle routing and failover.
That keeps integrations shallow and makes routing policy reusable across tools.
OpenClaw is a first-class target for fusionAIze Gate.
Current coverage:
- one-agent traffic through the normal OpenAI-compatible endpoint
- many-agent or delegated traffic when
x-openclaw-sourceis present - direct model aliases via the OpenClaw-side config
- caller-aware defaults through the
openclawclient preset or explicit profile rules - image generation and image editing through the same fusionAIze Gate provider entry
Use:
- openclaw-integration.jsonc
- examples/openclaw-faigate.jsonc
- examples/openclaw-faigate-full.jsonc
client_profiles.presets: ["openclaw"]for a standard starting point
Important rule:
- the model ids under
models.providers.faigate.modelsin OpenClaw must match the provider ids returned byGET /v1/modelsfrom fusionAIze Gate - that means OpenClaw should use ids such as
auto,deepseek-chat,local-worker, orimage-provider - it should not guess raw upstream ids unless fusionAIze Gate itself exposes those exact provider ids
Minimal direction:
{
"baseUrl": "http://127.0.0.1:8090/v1",
"primary": "faigate/auto"
}For a smaller starter snippet without the full alias block, use examples/openclaw-faigate.jsonc.
Recommended OpenClaw defaults:
model.primary: "faigate/auto"imageModel.primary: "faigate/auto"when fusionAIze Gate should choose among image-capable providerssubagents.model: "faigate/auto"when delegated traffic should stay inside the same routing plane
Use an explicit image provider only when OpenClaw should pin image traffic:
{
"imageModel": {
"primary": "faigate/image-provider",
"fallbacks": []
}
}fusionAIze Gate-side config that helps OpenClaw most:
- readable, stable provider ids because those become OpenClaw model ids
client_profiles.presets: ["openclaw"]contract: local-workerfor local LLM workerscontract: image-providerfor image-capable backendscapabilities.image_editing: trueonly when edits really work upstreamimage.policy_tags,supported_sizes, andmax_outputsfor stronger image routing
For delegated or many-agent traffic, start from examples/openclaw-delegated-request.json and keep x-openclaw-source stable across sub-agents so traces stay attributable.
Keep delegated/client headers short and stable. The runtime now bounds routing-header values before they reach traces, metrics, and rollout logic.
Validate OpenClaw wiring in this order:
GET /v1/modelsto confirm the provider ids OpenClaw should referencePOST /api/routefor chat routing previewsPOST /api/route/imagefor image routing previews- only then send real
POST /v1/chat/completions,POST /v1/images/generations, orPOST /v1/images/editstraffic
n8n can use fusionAIze Gate as a stable local model gateway.
Recommended pattern:
- send requests to the OpenAI-compatible endpoint
- set
X-faigate-Client: n8n - enable the
n8nclient preset or an explicitn8nprofile - optionally enable
request_hooksif a workflow should prefer one provider or stay local-only
This gives you:
- cheaper default routing for workflow traffic
- shared fallback behavior
- route debugging through
POST /api/route
Minimal direction:
Base URL: http://127.0.0.1:8090/v1
Model: auto
Header: X-faigate-Client: n8n
For an importable HTTP Request node example, use examples/n8n-faigate-http-request.json.
CLI tools should also use the same local gateway where possible.
Examples:
- Codex CLI
- Claude Code wrappers
- KiloCode CLI
- future DeepSeek-oriented wrappers
Recommended pattern:
- point the client to fusionAIze Gate
- set
X-faigate-Client: codex,claude,kilocode, or another stable client tag - use the built-in
clipreset or a tighter custom profile - optionally enable request hooks for per-request locality or provider hints:
X-faigate-Prefer-ProviderX-faigate-LocalityX-faigate-Profile
Minimal direction:
export OPENAI_BASE_URL=http://127.0.0.1:8090/v1
export OPENAI_API_KEY=localFor a reusable shell starter, use examples/cli-faigate-env.sh.
As with other clients, prefer token-like client tags over long free-form values so the bounded header surface remains readable in traces and operator views.
If you want a small Node-facing helper instead of shell aliases, the separate npm package lives in packages/faigate-cli.
opencode can use fusionAIze Gate as a custom OpenAI-compatible provider through its provider config.
- starter: examples/opencode-faigate.json
- recommended header:
X-faigate-Client: opencode - recommended models:
coding-autofor normal coding sessionscoding-fastfor fast, cheaper iterationscoding-premiumfor architecture, review, or higher-risk changesautoonly when you really want the generic cross-client router surface
The current opencode docs recommend @ai-sdk/openai-compatible for custom OpenAI-compatible providers and a custom provider.<id>.options.baseURL value for the gateway endpoint. This fusionAIze Gate starter follows that pattern and keeps the provider-local model ids aligned with GET /v1/models.
For future app-specific clients, keep the same OpenAI-compatible base URL and add one stable app header before creating multiple custom profiles.
Recommended pattern:
- set
X-faigate-Client: your-app - create one explicit app profile
- only split into
ops,private, orlocal-onlyprofiles when real routing differences emerge
Starter snippet:
The first post-1.0 expansion wave focuses on clients that can already use fusionAIze Gate cleanly through the common OpenAI-compatible path.
- starter: examples/swe-af-faigate.env.example
- recommended header:
X-faigate-Client: swe-af - recommended profile name:
swe-af
- starter: examples/paperclip-faigate.env.example
- recommended header:
X-faigate-Client: paperclip - recommended profile name:
paperclip
- starter: examples/ship-faster-faigate.env.example
- recommended header:
X-faigate-Client: ship-faster - recommended profile name:
ship-faster
- starter: examples/langchain-faigate.env.example
- recommended header:
X-faigate-Client: langchain - recommended profile name:
langchain
- starter: examples/langgraph-faigate.env.example
- recommended header:
X-faigate-Client: langgraph - recommended profile name:
langgraph
These starters are intentionally small:
- keep one local OpenAI-compatible base URL
- keep one stable client tag
- use client profiles only when the framework traffic really needs distinct routing behavior
- validate with
POST /api/routeandGET /api/tracesbefore adding policies or hooks
The second wave keeps the same integration discipline while extending fusionAIze Gate coverage into more active agent ecosystems.
- starter: examples/agno-faigate.env.example
- recommended header:
X-faigate-Client: agno - recommended profile name:
agno
- starter: examples/semantic-kernel-faigate.env.example
- recommended header:
X-faigate-Client: semantic-kernel - recommended profile name:
semantic-kernel
- starter: examples/haystack-faigate.env.example
- recommended header:
X-faigate-Client: haystack - recommended profile name:
haystack
- starter: examples/mastra-faigate.env.example
- recommended header:
X-faigate-Client: mastra - recommended profile name:
mastra
- starter: examples/google-adk-faigate.env.example
- recommended header:
X-faigate-Client: google-adk - recommended profile name:
google-adk
The third wave rounds out the most visible remaining framework set from the AI-native matrix.
- starter: examples/autogen-faigate.env.example
- recommended header:
X-faigate-Client: autogen - recommended profile name:
autogen
- starter: examples/llamaindex-faigate.env.example
- recommended header:
X-faigate-Client: llamaindex - recommended profile name:
llamaindex
- starter: examples/crewai-faigate.env.example
- recommended header:
X-faigate-Client: crewai - recommended profile name:
crewai
- starter: examples/pydanticai-faigate.env.example
- recommended header:
X-faigate-Client: pydanticai - recommended profile name:
pydanticai
- starter: examples/camel-faigate.env.example
- recommended header:
X-faigate-Client: camel - recommended profile name:
camel
When onboarding a new provider:
- define the provider stanza in
config.yaml - declare the right contract and capabilities
- verify health and
/v1/models - test routing with
POST /api/route - then route real traffic
Starter snippets:
- examples/provider-openai-compat.yaml
- examples/provider-openai-compat.env.example
- examples/provider-local-worker.yaml
- examples/provider-local-worker.env.example
- examples/provider-image-provider.yaml
- examples/provider-image-provider.env.example
- examples/provider-kilocode.yaml
- examples/provider-kilocode.env.example
- examples/provider-blackbox.yaml
- examples/provider-blackbox.env.example
- examples/faigate-multi-provider-stack.yaml
When onboarding a new client:
- keep the client on the OpenAI-compatible API if possible
- assign a stable client tag or header
- start with a built-in preset or a minimal custom profile
- add request hooks only if the client needs per-request overrides
- use
/api/routeand/api/tracesto validate behavior - only add a dedicated adapter if the client cannot cleanly use the common API surface
These are the main extension seams beyond the common client starters:
- image generation and image editing through
POST /v1/images/generationsandPOST /v1/images/editsfor providers that declarecontract: image-provider - optional request hooks for context or optimization
- richer CLI-sidecar adapters
- provider and client onboarding helpers