summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJay V <[email protected]>2025-07-31 17:47:20 -0400
committerJay V <[email protected]>2025-07-31 17:47:24 -0400
commit69966c73f839a655c5db405625bb61a8e4064b9e (patch)
tree222f6dc455474403eb95fdd3b950333a58033e3c
parenta00de2df08c462cf227884c947ce51732477fcf3 (diff)
downloadopencode-69966c73f839a655c5db405625bb61a8e4064b9e.tar.gz
opencode-69966c73f839a655c5db405625bb61a8e4064b9e.zip
docs: add more providers
-rw-r--r--packages/web/src/content/docs/docs/providers.mdx584
1 files changed, 301 insertions, 283 deletions
diff --git a/packages/web/src/content/docs/docs/providers.mdx b/packages/web/src/content/docs/docs/providers.mdx
index f51cfabbe..afc39d746 100644
--- a/packages/web/src/content/docs/docs/providers.mdx
+++ b/packages/web/src/content/docs/docs/providers.mdx
@@ -45,6 +45,126 @@ You can customize the base URL for any provider by setting the `baseURL` option.
---
+## Custom provider
+
+To add any **OpenAI-compatible** provider that's not listed in `opencode auth login`:
+
+:::tip
+You can use any OpenAI-compatible provider with opencode. Most modern AI providers offer OpenAI-compatible APIs.
+:::
+
+1. Run `opencode auth login` and scroll down to **Other**.
+
+ ```bash
+ $ opencode auth login
+
+ ┌ Add credential
+ │
+ ◆ Select provider
+ │ ...
+ │ ● Other
+ └
+ ```
+
+2. Enter a unique ID for the provider.
+
+ ```bash
+ $ opencode auth login
+
+ ┌ Add credential
+ │
+ ◇ Enter provider id
+ │ myprovider
+ └
+ ```
+
+ :::note
+ Choose a memorable ID, you'll use this in your config file.
+ :::
+
+3. Enter your API key for the provider.
+
+ ```bash
+ $ opencode auth login
+
+ ┌ Add credential
+ │
+ ▲ This only stores a credential for myprovider - you will need configure it in opencode.json, check the docs for examples.
+ │
+ ◇ Enter your API key
+ │ sk-...
+ └
+ ```
+
+4. Create or update your `opencode.json` file in your project directory:
+
+ ```json title="opencode.json" ""myprovider"" {5-15}
+ {
+ "$schema": "https://opencode.ai/config.json",
+ "provider": {
+ "myprovider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "name": "My AI ProviderDisplay Name",
+ "options": {
+ "baseURL": "https://api.myprovider.com/v1"
+ },
+ "models": {
+ "my-model-name": {
+ "name": "My Model Display Name"
+ }
+ }
+ }
+ }
+ }
+ ```
+
+ Here are the configuration options:
+
+ - **npm**: AI SDK package to use, `@ai-sdk/openai-compatible` for OpenAI-compatible providers
+ - **name**: Display name in UI.
+ - **models**: Available models.
+ - **options.baseURL**: API endpoint URL.
+ - **options.apiKey**: Optionally set the API key, if not using auth.
+ - **options.headers**: Optionally set custom headers.
+
+ More on the advanced options in the example below.
+
+5. Run the `/models` command and your custom provider and models will appear in the selection list.
+
+---
+
+##### Example
+
+Here's an example setting the `apiKey` and `headers` options.
+
+```json title="opencode.json" {9,11}
+{
+ "$schema": "https://opencode.ai/config.json",
+ "provider": {
+ "myprovider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "name": "My AI ProviderDisplay Name",
+ "options": {
+ "baseURL": "https://api.myprovider.com/v1",
+ "apiKey": "{env:ANTHROPIC_API_KEY}",
+ "headers": {
+ "Authorization": "Bearer custom-token"
+ }
+ },
+ "models": {
+ "my-model-name": {
+ "name": "My Model Display Name"
+ }
+ }
+ }
+ }
+}
+```
+
+We are setting the `apiKey` using the `env` variable syntax, [learn more](/docs/config#env-vars).
+
+---
+
## Directory
Let's look at some of the providers in detail. If you'd like to add a provider to the
@@ -117,8 +237,30 @@ $ opencode auth login
```
-This will ask you login with your Anthropic account in your browser. Now all the
-the Anthropic models should be available when you use the `/models` command.
+Here you can select the **Claude Pro/Max** option and it'll open your browser
+and ask you to authenticate.
+
+```bash
+$ opencode auth login
+┌ Add credential
+│
+◇ Select provider
+│ Anthropic
+│
+◆ Login method
+│ ● Claude Pro/Max
+│ ○ Create API Key
+│ ○ Manually enter API Key
+└
+```
+
+Now all the the Anthropic models should be available when you use the `/models` command.
+
+##### Using API keys
+
+You can also select **Create API Key** if you don't have a Pro/Max subscription. It'll also open your browser and ask you to login to Anthropic and give you a code you can paste in your terminal.
+
+Or if you already have an API key, you can select **Manually enter API Key** and paste it in your terminal.
---
@@ -185,6 +327,78 @@ the Anthropic models should be available when you use the `/models` command.
---
+### DeepSeek
+
+1. Head over to the [DeepSeek console](https://platform.deepseek.com/), create an account, and click **Create new API key**.
+
+2. Run `opencode auth login` and select **DeepSeek**.
+
+ ```bash
+ $ opencode auth login
+
+ ┌ Add credential
+ │
+ ◆ Select provider
+ │ ● DeepSeek
+ │ ...
+ └
+ ```
+
+3. Enter your DeepSeek API key.
+
+ ```bash
+ $ opencode auth login
+
+ ┌ Add credential
+ │
+ ◇ Select provider
+ │ DeepSeek
+ │
+ ◇ Enter your API key
+ │ _
+ └
+ ```
+
+4. Run the `/models` command to select a DeepSeek model like _DeepSeek Reasoner_.
+
+---
+
+### Fireworks AI
+
+1. Head over to the [Fireworks AI console](https://app.fireworks.ai/), create an account, and click **Create API Key**.
+
+2. Run `opencode auth login` and select **Fireworks AI**.
+
+ ```bash
+ $ opencode auth login
+
+ ┌ Add credential
+ │
+ ◆ Select provider
+ │ ● Fireworks AI
+ │ ...
+ └
+ ```
+
+3. Enter your Fireworks AI API key.
+
+ ```bash
+ $ opencode auth login
+
+ ┌ Add credential
+ │
+ ◇ Select provider
+ │ Fireworks AI
+ │
+ ◇ Enter your API key
+ │ _
+ └
+ ```
+
+4. Run the `/models` command to select a model like _Kimi K2 Instruct_.
+
+---
+
### GitHub Copilot
To use your GitHub Copilot subscription with opencode:
@@ -290,6 +504,78 @@ In this example:
---
+### Moonshot AI
+
+To use Kimi K2 from Moonshot AI:
+
+1. Head over to the [Moonshot AI console](https://platform.moonshot.ai/console), create an account, and click **Create API key**.
+
+2. Run `opencode auth login` and select **Other**.
+
+ ```bash
+ $ opencode auth login
+
+ ┌ Add credential
+ │
+ ◆ Select provider
+ │ ...
+ │ ● Other
+ └
+ ```
+
+3. Enter `moonshot` as the provider ID.
+
+ ```bash
+ $ opencode auth login
+
+ ┌ Add credential
+ │
+ ◇ Select provider
+ │ Other
+ │
+ ◇ Enter provider id
+ │ moonshot
+ └
+ ```
+
+4. Enter your Moonshot API key.
+
+ ```bash
+ $ opencode auth login
+
+ ┌ Add credential
+ │
+ ◇ Enter your API key
+ │ sk-...
+ └
+ ```
+
+5. Configure Moonshot in your opencode config.
+
+ ```json title="opencode.json" "\"moonshot\"" {5-15}
+ {
+ "$schema": "https://opencode.ai/config.json",
+ "provider": {
+ "moonshot": {
+ "npm": "@ai-sdk/openai-compatible",
+ "name": "Moonshot AI",
+ "options": {
+ "baseURL": "https://api.moonshot.ai/v1"
+ },
+ "models": {
+ "kimi-k2-0711-preview": {
+ "name": "Kimi K2"
+ }
+ }
+ }
+ }
+ }
+ ```
+
+6. Run the `/models` command to select _Kimi K2_.
+
+---
+
### Ollama
You can configure opencode to use local models through Ollama.
@@ -435,8 +721,12 @@ https://platform.openai.com/api-keys
}
```
+{ /*
---
+TODO: Test a model that actually works, currently getting errors form the API
+for Qwen non-thinking models.
+
### Cerebras
Cerebras offers fast inference with generous free tiers and competitive pricing.
@@ -510,87 +800,15 @@ Cerebras offers fast inference with generous free tiers and competitive pricing.
6. Run the `/models` command to select a Cerebras model.
----
-
-### DeepSeek
-
-DeepSeek offers powerful reasoning models at competitive prices.
-
-1. Head over to the [DeepSeek console](https://platform.deepseek.com/), create an account, and generate an API key.
-
-2. Run `opencode auth login` and select **Other**.
-
- ```bash
- $ opencode auth login
-
- ┌ Add credential
- │
- ◆ Select provider
- │ ...
- │ ● Other
- └
- ```
-
-3. Enter `deepseek` as the provider ID.
-
- ```bash
- $ opencode auth login
-
- ┌ Add credential
- │
- ◇ Select provider
- │ Other
- │
- ◇ Enter provider id
- │ deepseek
- └
- ```
-
-4. Enter your DeepSeek API key.
-
- ```bash
- $ opencode auth login
-
- ┌ Add credential
- │
- ◇ Enter your API key
- │ sk-...
- └
- ```
-
-5. Configure DeepSeek in your opencode config.
-
- ```json title="opencode.json" "deepseek" {5-17}
- {
- "$schema": "https://opencode.ai/config.json",
- "provider": {
- "deepseek": {
- "npm": "@ai-sdk/openai-compatible",
- "name": "DeepSeek",
- "options": {
- "baseURL": "https://api.deepseek.com/v1"
- },
- "models": {
- "deepseek-reasoner": {
- "name": "DeepSeek Reasoner"
- }
- }
- }
- }
- }
- ```
-
-6. Run the `/models` command to select a DeepSeek model.
+*/ }
---
-### Moonshot AI (Kimi)
+### Together AI
-Moonshot AI offers the Kimi models with long context capabilities.
+1. Head over to the [Together AI console](https://api.together.ai), create an account, and click **Add Key**.
-1. Head over to the [Moonshot AI console](https://platform.moonshot.cn/), create an account, and generate an API key.
-
-2. Run `opencode auth login` and select **Other**.
+2. Run `opencode auth login` and select **Together AI**.
```bash
$ opencode auth login
@@ -598,12 +816,12 @@ Moonshot AI offers the Kimi models with long context capabilities.
┌ Add credential
◆ Select provider
+ │ ● Together AI
│ ...
- │ ● Other
```
-3. Enter `moonshot` as the provider ID.
+3. Enter your Together AI API key.
```bash
$ opencode auth login
@@ -611,214 +829,14 @@ Moonshot AI offers the Kimi models with long context capabilities.
┌ Add credential
◇ Select provider
- │ Other
- │
- ◇ Enter provider id
- │ moonshot
- └
- ```
-
-4. Enter your Moonshot API key.
-
- ```bash
- $ opencode auth login
-
- ┌ Add credential
- │
- ◇ Enter your API key
- │ sk-...
- └
- ```
-
-5. Configure Moonshot in your opencode config.
-
- ```json title="opencode.json" "moonshot" {5-17}
- {
- "$schema": "https://opencode.ai/config.json",
- "provider": {
- "moonshot": {
- "npm": "@ai-sdk/openai-compatible",
- "name": "Moonshot AI",
- "options": {
- "baseURL": "https://api.moonshot.cn/v1"
- },
- "models": {
- "kimi-k2-0711-preview": {
- "name": "Kimi K2"
- }
- }
- }
- }
- }
- ```
-
-6. Run the `/models` command to select a Kimi model.
-
----
-
-### Custom
-
-To add any **OpenAI-compatible** provider that's not listed in `opencode auth login`:
-
-:::tip
-You can use any OpenAI-compatible provider with opencode. Most modern AI providers offer OpenAI-compatible APIs.
-:::
-
-1. Run `opencode auth login` and scroll down to **Other**.
-
- ```bash
- $ opencode auth login
-
- ┌ Add credential
- │
- ◆ Select provider
- │ ...
- │ ● Other
- └
- ```
-
-2. Enter a unique ID for the provider.
-
- ```bash
- $ opencode auth login
-
- ┌ Add credential
- │
- ◇ Enter provider id
- │ myprovider
- └
- ```
-
- :::note
- Choose a memorable ID, you'll use this in your config file.
- :::
-
-3. Enter your API key for the provider.
-
- ```bash
- $ opencode auth login
-
- ┌ Add credential
- │
- ▲ This only stores a credential for myprovider - you will need configure it in opencode.json, check the docs for examples.
+ │ Together AI
◇ Enter your API key
- │ sk-...
+ │ _
```
-4. Create or update your `opencode.json` file in your project directory:
-
- ```json title="opencode.json" ""myprovider"" {5-15}
- {
- "$schema": "https://opencode.ai/config.json",
- "provider": {
- "myprovider": {
- "npm": "@ai-sdk/openai-compatible",
- "name": "My AI ProviderDisplay Name",
- "options": {
- "baseURL": "https://api.myprovider.com/v1"
- },
- "models": {
- "my-model-name": {
- "name": "My Model Display Name"
- }
- }
- }
- }
- }
- ```
-
- Here are the configuration options:
-
- - **npm**: AI SDK package to use, `@ai-sdk/openai-compatible` for OpenAI-compatible providers
- - **name**: Display name in UI.
- - **models**: Available models.
- - **options.baseURL**: API endpoint URL.
- - **options.apiKey**: Optionally set the API key, if not using auth.
- - **options.headers**: Optionally set custom headers.
-
- More on the advanced options in the example below.
-
-5. Run the `/models` command and your custom provider and models will appear in the selection list.
-
----
-
-##### Example
-
-Here's an example setting the `apiKey` and `headers` options.
-
-```json title="opencode.json" {9,11}
-{
- "$schema": "https://opencode.ai/config.json",
- "provider": {
- "myprovider": {
- "npm": "@ai-sdk/openai-compatible",
- "name": "My AI ProviderDisplay Name",
- "options": {
- "baseURL": "https://api.myprovider.com/v1",
- "apiKey": "{env:ANTHROPIC_API_KEY}",
- "headers": {
- "Authorization": "Bearer custom-token"
- }
- },
- "models": {
- "my-model-name": {
- "name": "My Model Display Name"
- }
- }
- }
- }
-}
-```
-
-We are setting the `apiKey` using the `env` variable syntax, [learn more](/docs/config#env-vars).
-
-#### Common Examples
-
-**Together AI:**
-
-```json title="opencode.json"
-{
- "$schema": "https://opencode.ai/config.json",
- "provider": {
- "together": {
- "npm": "@ai-sdk/openai-compatible",
- "name": "Together AI",
- "options": {
- "baseURL": "https://api.together.xyz/v1"
- },
- "models": {
- "meta-llama/Llama-3.2-11B-Vision-Instruct-Turbo": {
- "name": "Llama 3.2 11B Vision"
- }
- }
- }
- }
-}
-```
-
-**Fireworks AI:**
-
-```json title="opencode.json"
-{
- "$schema": "https://opencode.ai/config.json",
- "provider": {
- "fireworks": {
- "npm": "@ai-sdk/openai-compatible",
- "name": "Fireworks AI",
- "options": {
- "baseURL": "https://api.fireworks.ai/inference/v1"
- },
- "models": {
- "accounts/fireworks/models/llama-v3p1-70b-instruct": {
- "name": "Llama 3.1 70B"
- }
- }
- }
- }
-}
-```
+4. Run the `/models` command to select a model like _Kimi K2 Instruct_.
---