Add provider instruction for Azure OpenAI

This commit is contained in:
Frank
2025-07-31 14:37:26 -04:00
parent 5ee994c31f
commit 360194e219

View File

@@ -62,7 +62,7 @@ To use Amazon Bedrock with opencode:
1. Head over to the **Model catalog** in the Amazon Bedrock console and request 1. Head over to the **Model catalog** in the Amazon Bedrock console and request
access to the models you want. access to the models you want.
:::tip :::tip
You need to have access to the model you want in Amazon Bedrock. You need to have access to the model you want in Amazon Bedrock.
::: :::
@@ -74,27 +74,27 @@ To use Amazon Bedrock with opencode:
- `AWS_PROFILE`: First login through AWS IAM Identity Center (or AWS SSO) using - `AWS_PROFILE`: First login through AWS IAM Identity Center (or AWS SSO) using
`aws sso login`. Then get the name of the profile you want to use. `aws sso login`. Then get the name of the profile you want to use.
- `AWS_BEARER_TOKEN_BEDROCK`: You can generate a long-term API key from the - `AWS_BEARER_TOKEN_BEDROCK`: You can generate a long-term API key from the
Amazon Bedrock console. Amazon Bedrock console.
Once you have one of the above, set it while running opencode. Once you have one of the above, set it while running opencode.
```bash ```bash
AWS_ACCESS_KEY_ID=XXX opencode AWS_ACCESS_KEY_ID=XXX opencode
``` ```
Or add it to a `.env` file in the project root. Or add it to a `.env` file in the project root.
```bash title=".env" ```bash title=".env"
AWS_ACCESS_KEY_ID=XXX AWS_ACCESS_KEY_ID=XXX
``` ```
Or add it to your bash profile. Or add it to your bash profile.
```bash title="~/.bash_profile" ```bash title="~/.bash_profile"
export AWS_ACCESS_KEY_ID=XXX export AWS_ACCESS_KEY_ID=XXX
``` ```
2. Run the `/models` command to select the model you want. 1. Run the `/models` command to select the model you want.
--- ---
@@ -122,6 +122,69 @@ the Anthropic models should be available when you use the `/models` command.
--- ---
### Azure OpenAI
1. Head over to the [Azure portal](https://portal.azure.com/) and create an **Azure OpenAI** resource. You'll need:
- **Resource name**: This becomes part of your API endpoint (`https://RESOURCE_NAME.openai.azure.com/`)
- **API key**: Either `KEY 1` or `KEY 2` from your resource
2. Go to [Azure AI Foundry](https://ai.azure.com/) and deploy a model.
:::note
The deployment name must match the model name for opencode to work properly.
:::
3. Run `opencode auth login` and select **Azure**.
```bash
$ opencode auth login
┌ Add credential
◆ Select provider
│ ● Azure
│ ...
```
4. Enter your API key.
```bash
$ opencode auth login
┌ Add credential
◇ Select provider
│ Azure
◇ Enter your API key
│ _
```
5. Set your resource name as an environment variable:
```bash
AZURE_RESOURCE_NAME=XXX opencode
```
Or add it to a `.env` file in the project root:
```bash title=".env"
AZURE_RESOURCE_NAME=XXX
```
Or add it to your bash profile:
```bash title="~/.bash_profile"
export AZURE_RESOURCE_NAME=XXX
```
6. Run the `/models` command to select your deployed model.
---
### GitHub Copilot ### GitHub Copilot
To use your GitHub Copilot subscription with opencode: To use your GitHub Copilot subscription with opencode:
@@ -136,7 +199,7 @@ subscription](https://github.com/features/copilot/plans) to use.
```bash ```bash
$ opencode auth login $ opencode auth login
┌ Add credential ┌ Add credential
◇ Select provider ◇ Select provider
│ GitHub Copilot │ GitHub Copilot
@@ -173,7 +236,7 @@ subscription](https://github.com/features/copilot/plans) to use.
│ ... │ ...
``` ```
3. Enter the API key for the provider. 3. Enter the API key for the provider.
```bash ```bash
@@ -279,7 +342,7 @@ https://platform.openai.com/api-keys
│ ... │ ...
``` ```
3. Enter the API key for the provider. 3. Enter the API key for the provider.
```bash ```bash
@@ -317,7 +380,7 @@ https://platform.openai.com/api-keys
│ ... │ ...
``` ```
3. Enter the API key for the provider. 3. Enter the API key for the provider.
```bash ```bash
@@ -336,14 +399,14 @@ https://platform.openai.com/api-keys
4. Many OpenRouter models are preloaded by default, run the `/models` command to select the one you want. 4. Many OpenRouter models are preloaded by default, run the `/models` command to select the one you want.
You can also add additional models through your opencode config. You can also add additional models through your opencode config.
```json title="opencode.json" {6} ```json title="opencode.json" {6}
{ {
"$schema": "https://opencode.ai/config.json", "$schema": "https://opencode.ai/config.json",
"provider": { "provider": {
"openrouter": { "openrouter": {
"models": { "models": {
"somecoolnewmodel": {}, "somecoolnewmodel": {}
} }
} }
} }
@@ -351,7 +414,7 @@ https://platform.openai.com/api-keys
``` ```
5. You can also customize them through your opencode config. Here's an example of specifying a provider 5. You can also customize them through your opencode config. Here's an example of specifying a provider
```json title="opencode.json" ```json title="opencode.json"
{ {
"$schema": "https://opencode.ai/config.json", "$schema": "https://opencode.ai/config.json",
@@ -384,7 +447,7 @@ Cerebras offers fast inference with generous free tiers and competitive pricing.
```bash ```bash
$ opencode auth login $ opencode auth login
┌ Add credential ┌ Add credential
◆ Select provider ◆ Select provider
@@ -397,7 +460,7 @@ Cerebras offers fast inference with generous free tiers and competitive pricing.
```bash ```bash
$ opencode auth login $ opencode auth login
┌ Add credential ┌ Add credential
◇ Select provider ◇ Select provider
@@ -412,7 +475,7 @@ Cerebras offers fast inference with generous free tiers and competitive pricing.
```bash ```bash
$ opencode auth login $ opencode auth login
┌ Add credential ┌ Add credential
◇ Enter your API key ◇ Enter your API key
@@ -459,7 +522,7 @@ DeepSeek offers powerful reasoning models at competitive prices.
```bash ```bash
$ opencode auth login $ opencode auth login
┌ Add credential ┌ Add credential
◆ Select provider ◆ Select provider
@@ -472,7 +535,7 @@ DeepSeek offers powerful reasoning models at competitive prices.
```bash ```bash
$ opencode auth login $ opencode auth login
┌ Add credential ┌ Add credential
◇ Select provider ◇ Select provider
@@ -487,7 +550,7 @@ DeepSeek offers powerful reasoning models at competitive prices.
```bash ```bash
$ opencode auth login $ opencode auth login
┌ Add credential ┌ Add credential
◇ Enter your API key ◇ Enter your API key
@@ -531,7 +594,7 @@ Moonshot AI offers the Kimi models with long context capabilities.
```bash ```bash
$ opencode auth login $ opencode auth login
┌ Add credential ┌ Add credential
◆ Select provider ◆ Select provider
@@ -544,7 +607,7 @@ Moonshot AI offers the Kimi models with long context capabilities.
```bash ```bash
$ opencode auth login $ opencode auth login
┌ Add credential ┌ Add credential
◇ Select provider ◇ Select provider
@@ -559,7 +622,7 @@ Moonshot AI offers the Kimi models with long context capabilities.
```bash ```bash
$ opencode auth login $ opencode auth login
┌ Add credential ┌ Add credential
◇ Enter your API key ◇ Enter your API key
@@ -605,7 +668,7 @@ You can use any OpenAI-compatible provider with opencode. Most modern AI provide
```bash ```bash
$ opencode auth login $ opencode auth login
┌ Add credential ┌ Add credential
◆ Select provider ◆ Select provider
@@ -618,7 +681,7 @@ You can use any OpenAI-compatible provider with opencode. Most modern AI provide
```bash ```bash
$ opencode auth login $ opencode auth login
┌ Add credential ┌ Add credential
◇ Enter provider id ◇ Enter provider id
@@ -634,7 +697,7 @@ You can use any OpenAI-compatible provider with opencode. Most modern AI provide
```bash ```bash
$ opencode auth login $ opencode auth login
┌ Add credential ┌ Add credential
▲ This only stores a credential for myprovider - you will need configure it in opencode.json, check the docs for examples. ▲ This only stores a credential for myprovider - you will need configure it in opencode.json, check the docs for examples.
@@ -646,7 +709,7 @@ You can use any OpenAI-compatible provider with opencode. Most modern AI provide
4. Create or update your `opencode.json` file in your project directory: 4. Create or update your `opencode.json` file in your project directory:
```json title="opencode.json" "\"myprovider\"" {5-15} ```json title="opencode.json" ""myprovider"" {5-15}
{ {
"$schema": "https://opencode.ai/config.json", "$schema": "https://opencode.ai/config.json",
"provider": { "provider": {
@@ -667,7 +730,7 @@ You can use any OpenAI-compatible provider with opencode. Most modern AI provide
``` ```
Here are the configuration options: Here are the configuration options:
- **npm**: AI SDK package to use, `@ai-sdk/openai-compatible` for OpenAI-compatible providers - **npm**: AI SDK package to use, `@ai-sdk/openai-compatible` for OpenAI-compatible providers
- **name**: Display name in UI. - **name**: Display name in UI.
- **models**: Available models. - **models**: Available models.
@@ -714,6 +777,7 @@ We are setting the `apiKey` using the `env` variable syntax, [learn more](/docs/
#### Common Examples #### Common Examples
**Together AI:** **Together AI:**
```json title="opencode.json" ```json title="opencode.json"
{ {
"$schema": "https://opencode.ai/config.json", "$schema": "https://opencode.ai/config.json",
@@ -735,6 +799,7 @@ We are setting the `apiKey` using the `env` variable syntax, [learn more](/docs/
``` ```
**Fireworks AI:** **Fireworks AI:**
```json title="opencode.json" ```json title="opencode.json"
{ {
"$schema": "https://opencode.ai/config.json", "$schema": "https://opencode.ai/config.json",
@@ -754,6 +819,7 @@ We are setting the `apiKey` using the `env` variable syntax, [learn more](/docs/
} }
} }
``` ```
--- ---
## Troubleshooting ## Troubleshooting