中文
文档
提供商

提供商

OpenCode 通过 AI SDK 和 Models.dev 支持 75+ LLM 提供商,可以集成众多语言模型服务和本地模型。

配置流程

  1. 使用 /connect 命令添加 API 密钥
  2. 在 OpenCode 配置中配置提供商
  3. 凭证存储在 ~/.local/share/opencode/auth.json

提供商目录

以下是支持的提供商快速参考:

提供商配置方式主要特性
AnthropicOAuth 或 API 密钥支持 Claude Pro/Max
OpenAIChatGPT Plus/Pro 或 API 密钥GPT-4o、o1 模型
GitHub Copilot设备码认证Pro+ 订阅模型
Google Vertex AI服务账号或 gcloud 认证40+ 模型
Amazon BedrockAWS 凭证/配置文件支持 VPC 端点
Azure OpenAIAPI 密钥 + 资源名称自定义部署
GroqAPI 密钥高速推理
DeepSeekAPI 密钥推理模型
OpenRouterAPI 密钥多提供商路由
GitLab DuoAPI 密钥GitLab 集成
Ollama本地配置本地运行模型
LM Studio本地配置本地模型管理

其他提供商包括:302.AI、Baseten、Cerebras、Cloudflare AI Gateway、Cortecs、Deep Infra、Firmware、Fireworks AI、Hugging Face、Helicone、IO.NET、Moonshot AI、MiniMax、Nebius Token Factory、OVHcloud AI Endpoints、SAP AI Core、Scaleway、Together AI、Venice AI、Vercel AI Gateway、xAI、Z.AI、ZenMux。

Base URL 配置

你可以通过设置 baseURL 选项来自定义任何提供商的基础 URL。这在使用代理服务或自定义端点时非常有用。

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "anthropic": {
      "options": {
        "baseURL": "https://api.anthropic.com/v1"
      }
    }
  }
}

OpenCode Zen

OpenCode Zen 是由 OpenCode 团队提供的模型列表,这些模型经过测试和验证,可以良好运行。

  1. 运行 /connect,选择 opencode
  2. 访问 opencode.ai/auth 进行认证
  3. 复制并粘贴你的 API 密钥
  4. 使用 /models 查看推荐模型

热门提供商

Anthropic

  1. 运行 /connect 并选择 Anthropic
  2. 选择 Claude Pro/Max 进行浏览器认证
  3. 通过 /models 命令访问模型

OpenAI

  1. 在 platform.openai.com/api-keys 创建 API 密钥
  2. 运行 /connect 并搜索 OpenAI
  3. 输入 API 密钥
  4. 使用 /models 选择模型

Groq

Groq 为各种模型提供高速推理。

  1. 在 console.groq.com 创建 API 密钥
  2. 运行 /connect 并搜索 Groq
  3. 输入 API 密钥
  4. 使用 /models 选择模型
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "groq": {
      "options": {
        "apiKey": "{env:GROQ_API_KEY}"
      }
    }
  }
}

DeepSeek

DeepSeek 提供强大的推理模型。

  1. 在 platform.deepseek.com 创建 API 密钥
  2. 运行 /connect 并搜索 DeepSeek
  3. 输入 API 密钥
  4. 使用 /models 选择模型
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "deepseek": {
      "options": {
        "apiKey": "{env:DEEPSEEK_API_KEY}"
      }
    }
  }
}

GitHub Copilot

GitHub Copilot 集成需要 Pro+ 订阅。

  1. 运行 /connect 并选择 GitHub Copilot
  2. 完成设备码认证
  3. 通过 /models 命令访问模型
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "github-copilot": {
      "models": {
        "gpt-4o": {
          "name": "GPT-4o (Copilot)"
        }
      }
    }
  }
}

GitLab Duo

GitLab Duo 提供与 GitLab 集成的 AI 功能。

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "gitlab-duo": {
      "options": {
        "apiKey": "{env:GITLAB_API_KEY}"
      }
    }
  }
}

OpenRouter

{
  "provider": {
    "openrouter": {
      "models": {
        "moonshotai/kimi-k2": {
          "options": {
            "provider": {
              "order": ["baseten"],
              "allow_fallbacks": false
            }
          }
        }
      }
    }
  }
}

Ollama(本地)

{
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama (local)",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "llama2": {
          "name": "Llama 2"
        }
      }
    }
  }
}

LM Studio(本地)

{
  "provider": {
    "lmstudio": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "LM Studio (local)",
      "options": {
        "baseURL": "http://127.0.0.1:1234/v1"
      },
      "models": {
        "google/gemma-3n-e4b": {
          "name": "Gemma 3n-e4b (local)"
        }
      }
    }
  }
}

Amazon Bedrock

{
  "provider": {
    "amazon-bedrock": {
      "options": {
        "region": "us-east-1",
        "profile": "my-aws-profile"
      }
    }
  }
}

认证优先级

使用 Amazon Bedrock 时,认证遵循以下优先级顺序:

  1. Bearer Token - 如果设置了 AWS_BEARER_TOKEN_BEDROCK(通过 /connect 或环境变量),它优先于所有其他方法
  2. AWS 凭证链 - 标准 AWS 凭证解析:
    • AWS 配置文件配置
    • 访问密钥(AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
    • IAM 角色
    • EKS IRSA(服务账号的 IAM 角色)

Azure OpenAI

  1. 在 Azure 门户创建 Azure OpenAI 资源
  2. 在 Azure AI Foundry 部署模型
  3. 运行 /connect 并搜索 Azure
  4. 设置 AZURE_RESOURCE_NAME 环境变量

自定义提供商配置

对于 OpenAI 兼容的提供商:

{
  "provider": {
    "myprovider": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "My AI Provider",
      "options": {
        "baseURL": "https://api.myprovider.com/v1",
        "apiKey": "{env:MY_API_KEY}"
      },
      "models": {
        "my-model": {
          "name": "My Model",
          "limit": {
            "context": 200000,
            "output": 65536
          }
        }
      }
    }
  }
}

环境变量语法

使用 {env:VARIABLE_NAME} 语法在配置中引用环境变量:

{
  "provider": {
    "myprovider": {
      "options": {
        "apiKey": "{env:MY_PROVIDER_API_KEY}"
      }
    }
  }
}

这样可以将敏感凭证保存在配置文件之外。

模型限制

limit 字段帮助 OpenCode 了解模型的上下文窗口和输出限制:

{
  "provider": {
    "myprovider": {
      "models": {
        "my-model": {
          "name": "My Model",
          "limit": {
            "context": 200000,
            "output": 65536
          }
        }
      }
    }
  }
}
  • context:模型可处理的最大输入 token 数
  • output:模型可生成的最大输出 token 数

自定义请求头

你可以为 API 请求添加自定义请求头:

{
  "provider": {
    "myprovider": {
      "options": {
        "headers": {
          "Authorization": "Bearer custom-token",
          "X-Custom-Header": "value"
        }
      }
    }
  }
}

故障排除

  1. 检查认证: 运行 opencode auth list 验证凭证
  2. 自定义提供商问题:
    • 验证 /connect 和配置中的提供商 ID 是否匹配
    • 确认正确的 npm 包
    • 检查 options.baseURL 中的 API 端点