Goose with Nbility
Goose supports custom providers. This example is for releases with custom_providers JSON support. Its base_url is a complete endpoint, unlike a typical SDK base URL.
Define the provider
Create ~/.config/goose/custom_providers/nbility.json:
{
"name": "nbility",
"engine": "openai",
"display_name": "Nbility",
"description": "Nbility Chat Completions",
"api_key_env": "NBILITY_API_KEY",
"base_url": "https://api.nbility.ai/v1/chat/completions",
"models": [{ "name": "YOUR_MODEL_ID", "context_limit": 8192 }],
"supports_streaming": true
}
Replace the ID and context limit. 8192 is illustrative. Check the current Goose documentation for the Windows configuration location.
Select credentials and model
Set export NBILITY_API_KEY="YOUR_API_KEY", run goose configure, and choose the new provider and model. Creating the file alone does not select it.
Test ordinary chat before extension tools and verify requests in Usage logs.
Common issues
- No provider configured: select the provider in the configuration wizard.
- 404: keep the complete path, including
/chat/completions, in this custom provider definition. - Old service still used: inspect the active provider and leftover
OPENAI_HOST/OPENAI_BASE_PATHoverrides. - Missing model: match the filename, provider
name, and selection, then check token model access.
The built-in OpenAI provider’s host/base-path settings are a different configuration surface; do not mix their URL rules with this JSON.
References
Adapted and rewritten for Nbility from aicentos’s Goose guide, licensed under CC BY 4.0. Its account, plan, and proprietary service instructions do not apply here. See the client’s official documentation.