Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions crates/goose/src/providers/declarative/empiriolabs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{
"name": "empiriolabs",
"engine": "openai",
"display_name": "EmpirioLabs",
"description": "Frontier open and proprietary chat models through one OpenAI-compatible API with streaming support",
"api_key_env": "EMPIRIOLABS_API_KEY",
"base_url": "https://api.empiriolabs.ai/v1/chat/completions",
"models": [

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep EmpirioLabs model discovery on chat models

Because dynamic_models is left unset here, OpenAiProvider::fetch_supported_models will prefer GET /v1/models over this curated list whenever the API call succeeds. EmpirioLabs documents that endpoint as the full catalog across text, image, audio, video, etc., so a configured goose install can surface non-chat model IDs and then send them chat-completions requests; set dynamic_models to false or otherwise filter discovery to chat-capable models.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch — addressed in the latest commit by setting "dynamic_models": false so goose uses only the curated chat-model list rather than the full /v1/models catalog (which also contains image/audio/video models). Also merged latest main into the branch.

{
"name": "qwen3-7-plus",
"context_limit": 1000000,
"max_tokens": 65536
},
{
"name": "qwen3-7-max",
"context_limit": 1000000,
"max_tokens": 65536
},
{
"name": "deepseek-v4-pro",
"context_limit": 1000000,
"max_tokens": 65536
},
{
"name": "deepseek-v4-flash",
"context_limit": 1000000,
"max_tokens": 65536
},
{
"name": "glm-5-1",
"context_limit": 202000,
"max_tokens": 131072
},
{
"name": "kimi-k2-7-code",
"context_limit": 256000,
"max_tokens": 131072
},
{
"name": "minimax-m3",
"context_limit": 524000,
"max_tokens": 131072
}
],
"supports_streaming": true,
"dynamic_models": false,
"model_doc_link": "https://docs.empiriolabs.ai",
"setup_steps": [
"Go to https://platform.empiriolabs.ai/dashboard/api-keys",
"Create or copy an existing API key",
"Paste the key above as EMPIRIOLABS_API_KEY"
]
}
42 changes: 42 additions & 0 deletions documentation/docs/getting-started/providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ goose is compatible with a wide range of LLM providers, allowing you to choose a
| [ChatGPT Codex](https://chatgpt.com/codex) | Access GPT-5 Codex models optimized for code generation and understanding. **Requires a ChatGPT Plus/Pro subscription.** | No manual key. Uses browser-based OAuth authentication for both CLI and Desktop. |
| [Databricks](https://www.databricks.com/) | Unified data analytics and AI platform for building and deploying models. | `DATABRICKS_HOST`, `DATABRICKS_TOKEN` |
| [Docker Model Runner](https://docs.docker.com/ai/model-runner/) | Local models running in Docker Desktop or Docker CE with OpenAI-compatible API endpoints. **Because this provider runs locally, you must first [download a model](#local-llms).** | `OPENAI_HOST`, `OPENAI_BASE_PATH` |
| [EmpirioLabs](https://empiriolabs.ai/) | Frontier open and proprietary chat models (Qwen, DeepSeek, GLM, Kimi, MiniMax) through one OpenAI-compatible API with streaming. Catalog available at `https://api.empiriolabs.ai/v1/models`. | `EMPIRIOLABS_API_KEY` |
| [FuturMix](https://futurmix.ai/) | Unified AI gateway providing access to models from Anthropic, Google, OpenAI, and DeepSeek through an OpenAI-compatible API. | `FUTURMIX_API_KEY` |
| [Gemini](https://ai.google.dev/gemini-api/docs) | Advanced LLMs by Google with multimodal capabilities (text, images). Gemini 3 models support configurable [thinking levels](#gemini-3-thinking-levels). | `GOOGLE_API_KEY`, `GEMINI3_THINKING_LEVEL` (optional) |
| [GCP Vertex AI](https://cloud.google.com/vertex-ai) | Google Cloud's Vertex AI platform, supporting Gemini and Claude models. **Credentials must be [configured in advance](https://cloud.google.com/vertex-ai/docs/authentication).** Filters for allowed models by organization policy (if configured). | `GCP_PROJECT_ID`, `GCP_LOCATION` and optionally `GCP_MAX_RATE_LIMIT_RETRIES` (5), `GCP_MAX_OVERLOADED_RETRIES` (5), `GCP_INITIAL_RETRY_INTERVAL_MS` (5000), `GCP_BACKOFF_MULTIPLIER` (2.0), `GCP_MAX_RETRY_INTERVAL_MS` (320_000). |
Expand Down Expand Up @@ -701,6 +702,47 @@ To set up Groq with goose, follow these steps:
</TabItem>
</Tabs>

### EmpirioLabs
[EmpirioLabs](https://empiriolabs.ai/) provides access to frontier open and proprietary chat models through a single OpenAI-compatible API with streaming. To use EmpirioLabs with goose, you need an API key from [EmpirioLabs](https://platform.empiriolabs.ai/dashboard/api-keys).

EmpirioLabs offers models that support tool calling, including:
- **qwen3-7-plus** - Qwen3.7 Plus with a 1M context window
- **qwen3-7-max** - Qwen3.7 Max with a 1M context window
- **deepseek-v4-pro** - DeepSeek V4 Pro with a 1M context window
- **deepseek-v4-flash** - DeepSeek V4 Flash with a 1M context window
- **glm-5-1** - GLM-5.1 with a 202K context window
- **kimi-k2-7-code** - Kimi K2.7 Code with a 256K context window
- **minimax-m3** - MiniMax M3 with a 524K context window

The full live catalog is available at `https://api.empiriolabs.ai/v1/models`. For the complete list of EmpirioLabs models configured in goose, see [empiriolabs.json](https://github.com/aaif-goose/goose/blob/main/crates/goose/src/providers/declarative/empiriolabs.json). For more details, see the [EmpirioLabs documentation](https://docs.empiriolabs.ai).

To set up EmpirioLabs with goose, follow these steps:

<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
**To update your LLM provider and API key:**

1. Click the <PanelLeft className="inline" size={16} /> button in the top-left to open the sidebar.
2. Click the `Settings` button on the sidebar.
3. Click the `Models` tab.
4. Click `Configure Providers`
5. Choose `EmpirioLabs` as provider from the list.
6. Click `Configure`, enter your API key, and click `Submit`.
7. Select the EmpirioLabs model of your choice.

</TabItem>
<TabItem value="cli" label="goose CLI">
1. Run:
```sh
goose configure
```
2. Select `Configure Providers` from the menu.
3. Follow the prompts to choose `EmpirioLabs` as the provider.
4. Enter your API key when prompted.
5. Select the EmpirioLabs model of your choice.
</TabItem>
</Tabs>

### FuturMix
[FuturMix](https://futurmix.ai/) is a unified AI gateway providing access to models from Anthropic, Google, OpenAI, and DeepSeek through an OpenAI-compatible API. To use FuturMix with goose, you need an API key from [FuturMix](https://futurmix.ai/).

Expand Down