summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/content
diff options
context:
space:
mode:
authorJay V <[email protected]>2025-09-02 17:28:32 -0400
committerJay V <[email protected]>2025-09-02 17:28:35 -0400
commitc141b88087e7d1383883a5642710fbab3d2eec88 (patch)
treee8bb64e34eefa422f5ea8fe02107b851de9e5470 /packages/web/src/content
parent023c4532c1767128e510237f76cc5a4e34582a5e (diff)
downloadopencode-c141b88087e7d1383883a5642710fbab3d2eec88.tar.gz
opencode-c141b88087e7d1383883a5642710fbab3d2eec88.zip
ignore: zen
Diffstat (limited to 'packages/web/src/content')
-rw-r--r--packages/web/src/content/docs/docs/enterprise.mdx7
-rw-r--r--packages/web/src/content/docs/docs/providers.mdx281
-rw-r--r--packages/web/src/content/docs/docs/zen.mdx95
3 files changed, 270 insertions, 113 deletions
diff --git a/packages/web/src/content/docs/docs/enterprise.mdx b/packages/web/src/content/docs/docs/enterprise.mdx
index 3783f5478..3e4b281e0 100644
--- a/packages/web/src/content/docs/docs/enterprise.mdx
+++ b/packages/web/src/content/docs/docs/enterprise.mdx
@@ -3,13 +3,16 @@ title: Enterprise
description: Using opencode in your organization.
---
+import config from "../../../../config.mjs"
+export const email = `mailto:${config.email}`
+
opencode does not store any of your code or context data. This makes it easy for
you to use opencode at your organization.
To get started, we recommend:
1. Do a trial internally with your team.
-2. [**Contact us**](mailto:[email protected]) to discuss pricing and implementation options.
+2. **<a href={email}>Contact us</a>** to discuss pricing and implementation options.
---
@@ -55,7 +58,7 @@ We recommend you disable this for your trial.
## Deployment
Once you have completed your trial and you are ready to self-host opencode at
-your organization, you can [**contact us**](mailto:[email protected]) to discuss
+your organization, you can **<a href={email}>contact us</a>** to discuss
pricing and implementation options.
---
diff --git a/packages/web/src/content/docs/docs/providers.mdx b/packages/web/src/content/docs/docs/providers.mdx
index de1cf8b39..2e8a3b5a3 100644
--- a/packages/web/src/content/docs/docs/providers.mdx
+++ b/packages/web/src/content/docs/docs/providers.mdx
@@ -3,6 +3,9 @@ title: Providers
description: Using any LLM provider in opencode.
---
+import config from "../../../../config.mjs"
+export const console = config.console
+
opencode uses the [AI SDK](https://ai-sdk.dev/) and [Models.dev](https://models.dev) to support for **75+ LLM providers** and it supports running local models.
To add a provider you need to:
@@ -45,123 +48,21 @@ You can customize the base URL for any provider by setting the `baseURL` option.
---
-## Custom provider
+## opencode zen
-To add any **OpenAI-compatible** provider that's not listed in `opencode auth login`:
+opencode zen is a list of models provided by the opencode team that have been
+tested and verified to work well with opencode. [Learn more](/docs/zen).
:::tip
-You can use any OpenAI-compatible provider with opencode. Most modern AI providers offer OpenAI-compatible APIs.
+If you are new, we recommend starting with opencode zen.
:::
-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"
- }
- }
- }
- }
-}
-```
+1. You sign in to **<a href={console}>opencode zen</a>** and get your API key.
+2. You run `opencode auth login` and select opencode zen and add your API key.
+3. Run `/models` in the TUI to see the list of models we recommend.
-We are setting the `apiKey` using the `env` variable syntax, [learn more](/docs/config#env-vars).
+It works like any other provider in opencode. And is completely optional to use
+it.
---
@@ -648,6 +549,44 @@ In this example:
---
+### opencode zen
+
+opencode zen is a list of tested and verified models provided by the opencode team. [Learn more](/docs/zen).
+
+1. Sign in to **<a href={console}>opencode zen</a>** and click **Create API Key**.
+
+2. Run `opencode auth login` and select **opencode zen**.
+
+ ```bash
+ $ opencode auth login
+
+ ┌ Add credential
+ │
+ ◆ Select provider
+ │ ● opencode zen
+ │ ...
+ └
+ ```
+
+3. Enter your opencode API key.
+
+ ```bash
+ $ opencode auth login
+
+ ┌ Add credential
+ │
+ ◇ Select provider
+ │ opencode zen
+ │
+ ◇ Enter your API key
+ │ _
+ └
+ ```
+
+4. Run the `/models` command to select a model like _Qwen 3 Coder 480B_.
+
+---
+
### OpenRouter
1. Head over to the [OpenRouter dashboard](https://openrouter.ai/settings/keys), click **Create API Key**, and copy the key.
@@ -812,6 +751,126 @@ monitor and improve Grok Code.
---
+## 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).
+
+---
+
## Troubleshooting
If you are having trouble with configuring a provider, check the following:
diff --git a/packages/web/src/content/docs/docs/zen.mdx b/packages/web/src/content/docs/docs/zen.mdx
new file mode 100644
index 000000000..46d457932
--- /dev/null
+++ b/packages/web/src/content/docs/docs/zen.mdx
@@ -0,0 +1,95 @@
+---
+title: Zen
+description: Curated list of models provided by opencode.
+---
+
+import config from "../../../../config.mjs"
+export const console = config.console
+export const email = `mailto:${config.email}`
+
+opencode zen is a list of tested and verified models provided by the opencode team.
+
+:::note
+opencode zen is currently in beta.
+:::
+
+Zen works like any other provider in opencode. You login to opencode zen and get
+your API key. It's **completely optional** and you don't need to use it to use
+opencode.
+
+---
+
+## Background
+
+There are a large number of models out there but only a few of
+these models work well as coding agents. Additionally, most providers are
+configured very differently; so you get very different performance and quality.
+
+:::tip
+We tested a select group of models and providers that work well with opencode.
+:::
+
+So if you are using a model through something like OpenRouter, you can never be
+sure if you are getting the best version of the model you want.
+
+To fix this, we did a couple of things:
+
+1. We tested a select group of models and talked to their teams about how to
+ best run them.
+2. We then worked with a few providers to make sure these were being served
+ correctly.
+3. Finally, we benchmarked the combination of the model/provider and came up
+ with a list that we feel good recommending.
+
+opencode zen is an AI gateway that gives you access to these models.
+
+---
+
+## Motivation
+
+We created opencode zen to:
+
+1. **Benchmark** the best models/providers for coding agents.
+2. Access to **highest quality**; we don't downgrade performance or route to cheaper providers.
+3. **Sell at cost**; the only markup is to cover our processing fees and any price
+ drops will be passed along.
+4. **No lock-in**; you can use opencode zen with any other coding agent and you
+ can use any other provider with opencode.
+
+---
+
+## How it works
+
+opencode zen works like any other provider in opencode.
+
+1. You sign in to **<a href={console}>opencode zen</a>** and get your API key.
+2. You run `opencode auth login` and select opencode zen and add your API key.
+3. Run `/models` in the TUI to see the list of models we recommend.
+
+You are charged per request and you can add credits to your account.
+
+---
+
+## Pricing
+
+Below are the models that we currently support and their prices **per 1M
+tokens**.
+
+| Model | Input | Output |
+| ----- | ----- | ------ |
+| Qwen3 Coder 480B | $0.38 | $0.50 |
+| Grok Code Fast 1 | Free | Free |
+| Sonnet 4 | Soon | Soon |
+
+:::note
+We add a small markup to cover our costs.
+:::
+
+A couple of notes:
+
+- These are the raw prices based on the provider we are using internally. We
+charge a small markup on top of this to cover our processing fees.
+- Grok Code Fast 1 is currently free on opencode till Sep 10th. The xAI team is
+ using this time to collect feedback and improve Grok Code.
+
+<a href={email}>Contact us</a> if you have any questions.