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": "模型展示名称"
        }
      }
    }

  }
}
相关推荐
Ai拆代码的曹操4 小时前
源码拆解:opencode 如何封装 Git 实现自动 diff 和 review
openai·ai编程
赫媒派4 小时前
MCP 协议升级:Stateless 化对开发者的影响
ai编程
小蠢驴打代码5 小时前
记忆库能通过测试,不等于回答值得信:Coding Agent Memory 的两层评估设计
github·ai编程
喂你一颗橘子糖5 小时前
我用 Codex 跑长任务:快照、Loop 和单线写入,解决三个失控问题
ai编程
李剑一5 小时前
瑞幸也AI上了?我用AI命令行帮我点了一杯咖啡,但是我花了不止一杯咖啡钱
aigc·openai·ai编程
leoZ2316 小时前
记忆系统与 Agent 定制完全指南(六):Agent 编排与调度
ai编程
Ai拆代码的曹操6 小时前
opencode CLI 源码拆解:yargs + effectCmd 双层架构如何管理 20+ 子命令
架构·ai编程·opencode·源码拆解
AINative软件工程6 小时前
LLM 应用的熔断降级工程实践:Circuit Breaker 不只是重试的升级版
后端·llm·ai编程
倔强的石头_15 小时前
不想每次都从头解释:我用 Doubao-Seed-Evolving 做了一个「稿件接力站」
ai编程
大模型码小白17 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程