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
13 changes: 12 additions & 1 deletion packages/opencode/src/provider/provider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,17 @@ export namespace Provider {
},
}
},
"sap-ai-core": async () => {
const auth = await Auth.get("sap-ai-core")
const serviceKey = Env.get("SAP_AI_SERVICE_KEY") || (auth?.type === "api" ? auth.key : undefined)
const deploymentId = Env.get("SAP_AI_DEPLOYMENT_ID") || "d65d81e7c077e583"
const resourceGroup = Env.get("SAP_AI_RESOURCE_GROUP") || "default"

return {
autoload: !!serviceKey,
options: serviceKey ? { serviceKey, deploymentId, resourceGroup } : {},
}
},
zenmux: async () => {
return {
autoload: false,
Expand Down Expand Up @@ -776,7 +787,7 @@ export namespace Provider {
const mod = await import(installedPath)

const fn = mod[Object.keys(mod).find((key) => key.startsWith("create"))!]
const loaded = fn({
const loaded = await fn({
name: model.providerID,
...options,
})
Expand Down
55 changes: 55 additions & 0 deletions packages/web/src/content/docs/providers.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -891,6 +891,61 @@ OpenCode Zen is a list of tested and verified models provided by the OpenCode te

---

### SAP AI Core

SAP AI Core provides access to 40+ models from OpenAI, Anthropic, Google, Amazon, Meta, Mistral, and AI21 through a unified platform.

1. Go to your [SAP BTP Cockpit](https://account.hana.ondemand.com/), navigate to your SAP AI Core service instance, and create a service key.

:::tip
The service key is a JSON object containing `clientid`, `clientsecret`, `url`, and `serviceurls.AI_API_URL`. You can find your AI Core instance under **Services** > **Instances and Subscriptions** in the BTP Cockpit.
:::

2. Run the `/connect` command and search for **SAP AI Core**.

```txt
/connect
```

3. Enter your service key JSON.

```txt
┌ Service key
└ enter
```

Or set the `SAP_AI_SERVICE_KEY` environment variable:

```bash
SAP_AI_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}' opencode
```

Or add it to your bash profile:

```bash title="~/.bash_profile"
export SAP_AI_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}'
```

4. Optionally set deployment ID and resource group:

```bash
SAP_AI_DEPLOYMENT_ID=your-deployment-id SAP_AI_RESOURCE_GROUP=your-resource-group opencode
```

:::note
If not set, uses deployment ID `d65d81e7c077e583` (general-purpose) and resource group `default`. Configure these for your specific setup.
:::

5. Run the `/models` command to select from 40+ available models.

```txt
/models
```

---

### OVHcloud AI Endpoints

1. Head over to the [OVHcloud panel](https://ovh.com/manager). Navigate to the `Public Cloud` section, `AI & Machine Learning` > `AI Endpoints` and in `API Keys` tab, click **Create a new API key**.
Expand Down