OpenCode 入门教程:介绍 · 安装 · 配置第三方 API (如 Claude)

一、什么是 OpenCode?

OpenCode 是一款由社区驱动的 开源 AI 编程代理工具 。它不是单一依赖某个模型厂商,而是支持包括 Anthropic Claude、OpenAI GPT、Google Gemini 等数十种提供商,也可以连接本地模型。

核心特点:

  • 多模型、多服务商支持(通过 Models.dev 提供的 provider 列表)
  • 终端友好,可作为 CLI 工具也可集成 IDE
  • 配置灵活,可通过 JSON 文件修改行为和模型设置
  • 开源透明、没有数据锁定

项目地址:

https://github.com/sst/opencode (OpenCode 是一个开源 AI 编程代理工具,支持多模型与提供商自由切换)


二、如何安装 OpenCode

OpenCode 提供了 多种安装方式,你可以根据系统偏好选择:

官方一键安装脚本

macOS / Linux:

bash 复制代码
curl -fsSL https://opencode.ai/install | bash

这会自动下载并安装最新稳定版。(opencode.ai3)

npm / Bun / Yarn 安装

bash 复制代码
npm install -g opencode-ai

或者:

bash 复制代码
bun install -g opencode-ai
yarn global add opencode-ai

也支持 Homebrew/Brew 安装方式(macOS):

bash 复制代码
brew install sst/tap/opencode

安装成功后可执行:

bash 复制代码
opencode --version

检查是否安装成功。


三、OpenCode 配置基础

OpenCode 的行为由一个 JSON 配置文件控制,通常是:

复制代码
opencode.json

或者支持带注释的:

复制代码
opencode.jsonc

格式由官方 JSON schema 提供定义。

配置文件可以放在各种位置(按优先级合并加载):

✔ 当前项目根目录

✔ ~/.config/opencode/opencode.json (全局)


四、配置第三方 API(比如 Claude)

OpenCode 支持多种 LLM 提供商,你可以通过配置文件手动添加/覆盖 provider 信息。


1、如何在配置文件里启用 Claude(Anthropic)

假设你已经有 Claude 的 API Key(从 Anthropic 官方获取):

下面是在项目根目录下的 opencode.jsonc 示例:

json 复制代码
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "anthropic": {
      "options": {
        "baseURL": "https://api.anthropic.com/v1",
        "apiKey": "YOUR_CLAUDE_API_KEY"
      },
      "models": {
        "claude-3-5-sonnet": {
          "name": "Claude 3.5 Sonnet"
        }
      }
    }
  }
}

解释:

  • "provider.anthropic":标明 Anthropic (Claude)提供商
  • "options.baseURL":API 请求基础地址
  • "options.apiKey":填入你的 Claude API Key
  • "models":在 OpenCode 内使用该模型的别名及展示名称

这让 OpenCode 能识别并调用 Claude 模型。


2、Claude + OpenAI 兼容第三方 API 混合示例

如果你希望 一个项目中同时使用 Claude + 其他 OpenAI 兼容的第三方API服务,可以这样写:

json 复制代码
{
  "$schema": "https://opencode.ai/config.json",

  "provider": {

    "anthropic": {
      "npm": "@ai-sdk/anthropic",
      "name": "Anthropic Claude",
      "options": {
        "baseURL": "https://api.anthropic.com/v1", // 替换第三方URL
        "apiKey": "YOUR_CLAUDE_KEY" // 替换第三方密钥
      },
      "models": {
        "claude-3-5-sonnet": {
          "name": "Claude 3.5 Sonnet"
        }
      }
    },

    "my-other-provider": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "My OpenAI Compatible Provider",
      "options": {
        "baseURL": "https://api.myprovider.ai/v1", // 替换第三方URL
        "apiKey": "MY_OTHER_KEY" // 替换第三方密钥
      },
      "models": {
        "my-model-name": {
          "name": "模型展示名称"
        }
      }
    }

  }
}
相关推荐
金銀銅鐵2 小时前
[Java] 用 GUI 展示 EnumSet 增减元素时的内部变化(上)
java·后端·ai编程
Flynt3 小时前
GitHub 17万星的"懒人规则",我花2毛钱让 AI 带/不带它各写了一遍
agent·ai编程·claude
ServBay4 小时前
AI说代码没漏洞?马上被 PHP 打脸了
aigc·php·ai编程
孟健5 小时前
Claude Code 接入 Cloudflare 3.7万星安全审计 Skill:从全量烧钱到按需裁剪的实战方案
开源·ai编程·claude
殷紫川6 小时前
14款大模型Java编码能力横评:闭源三强断层领先,开源追赶到哪一步了
aigc·openai·ai编程
糟了好像在长脑子7 小时前
如何正确用好 Claude Code 的 general-purpose(附一个反面教材)
claude
文谦南宁AI普工7 小时前
跨组织 Agent 对接收官:12 条硬条款 + 一个能跑的门检校验器
aigc·agent·ai编程
用户4015823324627 小时前
对话一长,AI 就忘了你说过的话?Claude Code、Codex、Aider、WES Code 怎么压缩上下文
人工智能·go·ai编程
qinglongcn7 小时前
如何安全地停下一个正在工作的 Agent——中断与崩溃恢复
agent·ai编程