> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aihubmix.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenCode

> Use AIHubMix in OpenCode: install, authorize with an API key, select models, configure models manually, and set a custom base URL on macOS, Linux, Windows.

OpenCode now supports major model families such as GPT, Claude, DeepSeek, Gemini, and Qwen. For OpenCode usage scenarios, the following models are recommended:

* `coding-minimax-m2.1-free`
* `coding-glm-4.7-free`
* `claude-sonnet-4-5`
* `gpt-5`
* `gpt-5-codex`

This document explains how to install, configure, and launch OpenCode on different operating systems, and how to integrate the AIHubMix API.

***

Before installation, ensure that your system meets the following requirements:

* **Node.js ≥ 18.0.0**
* Optional package managers for your operating system:
  * macOS / Linux: `brew`
  * Arch Linux: `paru`
  * Windows: `choco`, `winget`, or `scoop`

***

## 1. Installing OpenCode

Choose any of the following installation methods based on your operating system and tooling preferences.

### 1. Install via Node.js

```bash theme={null}
# Quick install using a CURL script
curl -fsSL https://opencode.ai/install | bash

# Using NPM
npm install -g opencode-ai

# Using Bun
bun install -g opencode-ai

# Using PNPM
pnpm install -g opencode-ai

# Using Yarn
yarn global add opencode-ai
```

### 2. Install via Homebrew (macOS / Linux)

```bash theme={null}
brew install sst/tap/opencode
```

### 3. Install via Paru (Arch Linux)

```bash theme={null}
paru -S opencode-bin
```

### 4. Windows Installation

```bash theme={null}
# Chocolatey
choco install opencode

# WinGet
winget install opencode

# Scoop
scoop bucket add extras
scoop install extras/opencode

# Or install via NPM (Node.js required)
# Note: Administrator privileges are required
npm install -g opencode-ai
```

## 2. Launching and Logging in to OpenCode

After installation, follow the steps below to complete authentication and configuration.

### 1. Log in to OpenCode

Run the following command in your terminal:

```bash theme={null}
opencode auth login
```

### 2. Select the AI Provider

On the login screen, select **AiHubMix** as the model provider.

<img src="https://mintcdn.com/aihubmix/XeJJLFET_XPqNDov/public/en/opencode-1.jpg?fit=max&auto=format&n=XeJJLFET_XPqNDov&q=85&s=fbbe597b6ce890d5fa0ecf46ed3abf77" alt="Opencode 1" width="936" height="600" data-path="public/en/opencode-1.jpg" />

### 3. API Key Authorization

Enter your AiHubMix API Key on the OpenCode login page to complete authorization.

<img src="https://mintcdn.com/aihubmix/XeJJLFET_XPqNDov/public/en/opencode-2.jpg?fit=max&auto=format&n=XeJJLFET_XPqNDov&q=85&s=06043e1e8ba2d401a1e86f2c92ee8ab1" alt="Opencode 2" width="920" height="512" data-path="public/en/opencode-2.jpg" />

***

## 3. Using Models

### 1. Installation Verification

Run the following command to verify that OpenCode is installed and configured correctly:

```bash theme={null}
opencode
```

<img src="https://mintcdn.com/aihubmix/XeJJLFET_XPqNDov/public/en/opencode-3.jpg?fit=max&auto=format&n=XeJJLFET_XPqNDov&q=85&s=12d0db106c8d2f0c692b9167ad9c0cdd" alt="Opencode 3" width="2750" height="1420" data-path="public/en/opencode-3.jpg" />

***

### 2. Select a Model

Type `/models`, search for `aihubmix`, and select the desired model.

<img src="https://mintcdn.com/aihubmix/XeJJLFET_XPqNDov/public/en/opencode-4.jpg?fit=max&auto=format&n=XeJJLFET_XPqNDov&q=85&s=4c0f9ae0764bc401215761846c7edac8" alt="Opencode 4" width="1982" height="1290" data-path="public/en/opencode-4.jpg" />

***

## 4. Using AiHubMix in the OpenCode Desktop Client

1. Download the OpenCode desktop application: [https://opencode.ai/download](https://opencode.ai/download) .
2. Open OpenCode and follow the steps:`/model` → `Connect provider` → search for `aihubmix` → enter your API Key → `Submit`.

   <img src="https://mintcdn.com/aihubmix/XeJJLFET_XPqNDov/public/en/opencode-5.jpg?fit=max&auto=format&n=XeJJLFET_XPqNDov&q=85&s=a8b5de9e4200adb9b17847ab6878e8f7" alt="Opencode 5" width="2552" height="1420" data-path="public/en/opencode-5.jpg" />
3. In the model selection panel, search for `aihubmix` and select the model you want to use.

   <img src="https://mintcdn.com/aihubmix/XeJJLFET_XPqNDov/public/en/opencode-6.jpg?fit=max&auto=format&n=XeJJLFET_XPqNDov&q=85&s=8b0e2107a35b656179154f6c99f56b76" alt="Opencode 6" width="2550" height="1422" data-path="public/en/opencode-6.jpg" />

***

## 5. Manually Configuring and Updating Models

This example adds **DeepSeek V4 Pro**.

### Step 1: Confirm the model ID

Find the target model on the [AIHubMix](https://aihubmix.com/models) models page and copy its ID.

You can also query it directly through the API:

```bash theme={null}
curl https://aihubmix.com/v1/models \
  -H "Authorization: Bearer YOUR_API_KEY" \
  | python3 -m json.tool | grep "id"
```

### Step 2: Open the configuration file

Run the command for your operating system in a terminal:

**Mac**

```bash theme={null}
mkdir -p ~/.config/opencode && open -a TextEdit ~/.config/opencode/opencode.json
```

**Linux**

```bash theme={null}
mkdir -p ~/.config/opencode && nano ~/.config/opencode/opencode.json
```

**Windows** (run in PowerShell)

```powershell theme={null}
New-Item -ItemType Directory -Force "$env:USERPROFILE\.config\opencode"
notepad "$env:USERPROFILE\.config\opencode\opencode.json"
```

Once the file opens, you will see either an empty file or existing JSON content.

### Step 3: Write the configuration

**If the file is empty**, paste the following:

```json theme={null}
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "aihubmix": {
      "models": {
        "deepseek-v4-pro": {
          "name": "DeepSeek-V4-Pro",
          "contextLength": 131072,
          "type": "language"
        }
      }
    }
  }
}
```

**If the file already has content**, append the new model inside `"models"`, separating each model with a comma:

```json theme={null}
"models": {
  "deepseek-v4-pro": {
    "name": "DeepSeek-V4-Pro",
    "contextLength": 131072,
    "type": "language"
  },
  "deepseek-v4-flash-think": {
    "name": "DeepSeek-V4-Flash-Think",
    "contextLength": 131072,
    "type": "language"
  }
}
```

> **Note**: Do not add a comma after the last model, otherwise the file format will be invalid.

Save the file: `Command + S` on Mac, `Ctrl + S` on Windows.

**Field reference:**

| Field           | Description                                        |
| --------------- | -------------------------------------------------- |
| `name`          | Model ID                                           |
| `contextLength` | Context length (in tokens)                         |
| `type`          | Model type; use `"language"` for text conversation |

### Step 4: Restart OpenCode

After saving the configuration file, **fully quit OpenCode and restart it** for the new model to load.

### Step 5: Verify

Open the model selector (default shortcut `;`), search for `V4` or `DeepSeek`, and confirm that `DeepSeek-V4-Pro` appears in the list.

***

<h2 id="custom-base-url">
  6. Custom Base URL
</h2>

By default, OpenCode sends AIHubMix requests to `https://aihubmix.com/v1`. If you need requests to go through a self-hosted gateway, an enterprise proxy, or an acceleration node, you can override this in the configuration file via `options.baseURL`, **without modifying the OpenCode source code or reinstalling**.

### Step 1: Open the configuration file

Open `~/.config/opencode/opencode.json` as described in section 5 (on Windows, `%USERPROFILE%\.config\opencode\opencode.json`).

### Step 2: Add `options.baseURL`

Add `options.baseURL` under the `aihubmix` provider. You only need to write this single field, and OpenCode will automatically deep-merge it with the built-in configuration, so there is no need to rewrite the entire provider:

```json theme={null}
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "aihubmix": {
      "options": {
        "baseURL": "https://api.inferera.com"
      }
    }
  }
}
```

> **Note**: `baseURL` only needs to be specified at the domain level (e.g., `https://api.inferera.com`). Paths such as `/v1` and `/chat/completions` are appended automatically by the SDK. Do not add `/v1` yourself (e.g., `https://api.inferera.com/v1`), otherwise it will be concatenated into `/v1/v1/` and result in a 404.

### Step 3: Restart and verify

Fully quit OpenCode and restart it. You can run the following command to confirm that the configuration has taken effect:

```bash theme={null}
opencode debug config
```

You should see the address you entered in the output under `provider.aihubmix.options.baseURL`; from then on, every model request will be sent to that address.

**Field reference:**

| Field             | Description                                                                                                                            |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `options.baseURL` | Custom request address; takes priority over the default address. Specify it at the domain level only, paths are appended automatically |

***

## 7. FAQ and Tips

* If the API Key fails validation, log back into the AiHubMix Console and verify that the key is valid: [https://console.aihubmix.com/token](https://console.aihubmix.com/token)
* View the built-in help documentation: `opencode` → `/help`
* OpenCode official documentation: [https://opencode.ai/docs/](https://opencode.ai/docs/)

***

Last updated: 2026-07-29
