SDS FabriX Bridge is a small OpenAI-compatible local bridge for the FabriX serving API.
Current product direction:
- Upstream is the FabriX
serving api /v1/modelsis fetched from FabriX and converted to OpenAI model objects/v1/chat/completionsis forwarded to FabriX withx-llm-model-id- Streaming is proxied directly from upstream SSE
- Runtime dependencies are built-in Node modules only
Requirements:
- Node.js 24+
First-time setup:
node app.js configureOn Windows, configure opens the native launcher app by default.
Browser-based setup only:
node app.js setup-uiStart the bridge:
node app.jsList available models:
node app.js modelsInstall or refresh OpenCode config:
node app.js install-opencodeKeep the current OpenCode default model and only add the provider entry:
node app.js install-opencode --keep-default-modelShow the active config path:
node app.js config-path- Enter
x-fabrix-clientandx-openapi-token - Query FabriX model list from
/v1/models - Select a default model
- Optionally install OpenCode config automatically from the setup app
- Start the local bridge
- Connect any OpenAI-compatible client to
http://127.0.0.1:4000
Required:
x-fabrix-clientx-openapi-token- Default model selection
Optional:
- Bridge token
- OpenCode config path
- FabriX base URL, paths, timeout
- Bridge host, port, CORS origin
GET /healthzGET /v1/modelsPOST /v1/chat/completions
If a local bridge token is configured, call the bridge with:
Authorization: Bearer <bridge-token>
The bridge also exposes a stable default model id:
fabrix/default
That id is useful for OpenCode integration because the bridge can keep the actual upstream model selection internally.
Default config location on Windows:
%APPDATA%\sds-fabrix-bridge\config.json
You can override the location with:
node app.js --config .\config.jsonThis project includes a Windows SEA build script.
Build the executable:
npm install
npm run build:seaExpected output:
dist\fabrix-bridge.exe
Notes:
- The build uses Node SEA plus
postject - The build script expects a Windows environment
- Runtime still works without
npm installbecause the bridge itself uses only built-in Node modules
The repository does not commit the built exe binary.
Instead, use the GitHub Actions workflow:
- Workflow:
Build Windows EXE - Output artifact:
fabrix-bridge-windows-exe
That artifact contains:
dist/fabrix-bridge.exeREADME.md
Tagging the repository with v* creates a GitHub Release and uploads:
fabrix-bridge-windows-x64.zipfabrix-bridge.exe
Example:
git tag v0.1.0
git push origin v0.1.0Use the included probe script to inspect upstream responses directly:
node serving-api-probe.js --model-id 16 --client "<FABRIX_CLIENT>" --token "<FABRIX_OPENAPI_TOKEN>"
node serving-api-probe.js --stream --model-id 16 --client "<FABRIX_CLIENT>" --token "<FABRIX_OPENAPI_TOKEN>"The setup flow can update OpenCode config automatically.
Default OpenCode config path on Windows:
%USERPROFILE%\.config\opencode\opencode.json
Installed provider id:
fabrix
Installed model ids:
fabrix/default- one entry for each fetched FabriX model