OpenCode

1. OpenCode 是什么

OpenCode 是一个开源的 AI 编程助手,可以在终端、桌面应用和 IDE 插件中使用。

它的核心作用是:让 AI 直接理解你的项目目录,帮你分析代码、修改文件、运行命令、生成项目。

在这里插入图片描述

常用资源:

资源 链接
官网 https://opencode.ai/
中文文档 https://opencode.ai/docs/zh-cn
GitHub https://github.com/anomalyco/opencode
下载页面 https://opencode.ai/download

关键数据(截至 2026 年):

  • GitHub Star:160,000+
  • 贡献者:900+
  • 月活开发者:7,500,000+

2. 为什么选择 OpenCode

OpenCode 的主要特点:

  • 开源:工具本身开放,可由社区维护和扩展。
  • 模型灵活:可以连接 OpenAI、Google、DeepSeek、Qwen、Ollama 等不同模型,支持 75+ LLM 提供商。
  • 可定制:可以通过配置文件、Agent、Skills、MCP 等方式扩展能力。
  • 成本灵活:工具免费,主要成本来自你选择的模型服务。
  • 适合国内开发者:可以接入国产模型,也可以使用本地模型,降低单一平台不可用的风险。
  • 隐私优先:不存储任何代码或上下文数据,适合对隐私敏感的环境。

OpenCode vs Claude Code 对比

对比项 OpenCode Claude Code
开源情况 开源 闭源商业产品
模型选择 支持 75+ 模型供应商 主要绑定 Claude
定制能力 高,可配置 Agent、Skills、MCP 相对有限
使用成本 工具免费,模型按供应商计费 通常需要 Claude 订阅
运行方式 终端 / 桌面应用 / IDE 插件 终端 / 桌面应用 / IDE 插件
适合人群 想灵活控制工具链的开发者 想要 Claude 原生体验的开发者

3. 安装 OpenCode

官方下载地址:https://opencode.ai/download

3.1 环境准备

安装前确认以下条件:

条件 说明
操作系统 macOS / Linux / Windows(推荐 WSL)
终端工具 WezTerm、Alacritty、Ghostty、Kitty 等现代终端
API Key 需要配置至少一个 AI 服务商的密钥

3.2 Windows 安装

方式一:NPM 安装(需先安装 Node.js

npm install -g opencode-ai

方式二:Scoop 安装

scoop install opencode

方式三:Chocolatey 安装

choco install opencode

推荐:Windows 用户建议使用 WSL,体验通常更稳定。详见 WSL 安装指南

3.3 Linux 安装

# 一键安装(推荐)
curl -fsSL https://opencode.ai/install | bash

Arch Linux 用户:

sudo pacman -S opencode

3.4 macOS 安装

# 推荐使用官方 tap(更新更快)
brew install anomalyco/tap/opencode

# 或使用官方 brew formula(更新较慢)
brew install opencode

3.5 Docker 运行

docker run -it --rm ghcr.io/anomalyco/opencode

3.6 VS Code 插件安装

OpenCode 也提供了 VS Code 插件,可以在扩展市场中搜索 opencode 安装。

在这里插入图片描述

3.7 桌面应用(Beta)

OpenCode 还提供桌面应用,支持 macOS、Windows 和 Linux:

平台 下载
macOS (Apple Silicon) opencode-desktop-mac-arm64.dmg
macOS (Intel) opencode-desktop-mac-x64.dmg
Windows opencode-desktop-windows-x64.exe
Linux .deb / .rpm / .AppImage

下载地址:https://opencode.ai/download

3.8 验证安装

在终端执行:

opencode --version

如果输出类似 1.14.23 的版本号,说明安装成功。

启动 OpenCode:

opencode

启动后即可看到 OpenCode 的 TUI 界面,在底部输入框中输入问题即可开始对话。


4. 打开项目

OpenCode 必须在某个项目目录中运行,这个目录就是它的工作目录。

方式一:先切换目录再启动

cd 你的项目目录
opencode

方式二:直接指定目录

opencode d:/projects/my-app

注意:进入 OpenCode 后,不能像普通终端一样随意切换工作目录。如果要处理另一个项目,建议退出后重新在目标目录启动。

4.1 项目内搜索文件

进入项目后,OpenCode 会自动索引项目文件。当你提出需求时,AI 会主动搜索相关文件。可以使用@符号后面跟上文件名进行搜索@文件名
在这里插入图片描述


5. 两种工作模式(Agent)

OpenCode 内置两个 Agent,可以用 Tab 键切换:
在这里插入图片描述
在这里插入图片描述

5.1 plan 模式

plan 模式偏向 “分析和规划”,是一个只读 Agent。

它适合用来:

  • 阅读和理解项目。
  • 分析问题和制定方案。
  • 解释代码逻辑。
  • 探索不熟悉的代码库。

特点:

  • 默认拒绝编辑文件。
  • 运行 bash 命令前会请求许可。
  • 更安全,适合初学者探索。

5.2 build 模式

build 模式偏向 “执行和修改”,是一个全权限 Agent。

它适合用来:

  • 创建文件。
  • 修改代码。
  • 运行命令。
  • 完成具体开发任务。

5.3 模式切换演示

在 TUI 中按 Tab 键切换 planbuild 模式。

课堂演示:

请为我生成一个 README.md 文件

分别在 planbuild 模式下执行,观察 AI 的反馈差异:

模式 预期行为
plan 分析项目结构,给出 README 建议,但不创建文件
build 直接创建 README.md 文件并写入内容

6. 常用命令

6.1 命令菜单

在 OpenCode 中输入 / 可以打开命令菜单,查看所有可用命令。

在这里插入图片描述

上图:输入 / 后弹出的命令列表,包括 /agents/compact/init/mcp 等常用命令。

使用快捷键 Ctrl + P 可以打开命令面板,快速切换模型、会话等。

在这里插入图片描述

上图:Ctrl+P 打开的命令面板,可以快速搜索命令、切换会话和模型。

6.2 /init — 初始化项目规则

用于初始化项目规则。执行后会生成 AGENTS.md,这个文件相当于写给 AI 的项目说明书

示例规则:

本项目生成的代码必须在方法上添加注释。
作者统一写为:潜心。

以后让 AI 修改代码时,它会参考这些规则。

6.3 /undo/redo — 撤销与恢复

  • /undo:撤销上一次 AI 修改。
  • /redo:恢复刚刚撤销的修改。

适合在 AI 修改多个文件后快速回滚。

6.4 /new/sessions — 会话管理

  • /new:创建一个新会话。
  • /sessions:查看并切换历史会话。
    在这里插入图片描述

上图:会话列表界面,显示今天的所有会话,支持用快捷键删除(ctrl+d)或重命名(ctrl+r)。

提示:OpenCode 支持多会话,可以在同一个项目中并行启动多个 Agent。不同任务建议放在不同会话中,避免上下文互相干扰。

注意:会话不是 Git 版本控制。如果多个会话修改同一个文件,仍然需要小心冲突。

6.5 /models — 切换模型

输入 /models 可以查看和切换可用的 AI 模型。

也可以使用快捷键 Ctrl + P 快速选择模型。

6.6 /mcp — 查看 MCP 状态

输入 /mcp 可以检查已配置的 MCP 服务是否正常启用。

6.7 执行 Shell 命令

OpenCode 中可以让 AI 执行命令,也可以通过命令查看项目状态。

例如:

ls          # Linux / macOS
dir         # Windows

6.8 引用文件

你可以让 AI 针对某个文件处理问题。

示例:

请阅读 OrderService.java,并为其中的方法补充注释。

7. 配置模型供应商

OpenCode 支持切换不同模型供应商,通过 opencode.json 配置文件管理。

7.1 配置文件位置

平台 路径
macOS / Linux ~/.config/opencode/opencode.json
Windows C:\Users\<用户名>\.config\opencode\opencode.json
项目级 项目根目录下的 opencode.json

7.2 配置文件加载顺序

OpenCode 会从多个位置读取配置,后面的配置会覆盖前面的配置:

  1. 远程配置
  2. 全局配置:~/.config/opencode/opencode.json
  3. 自定义配置:OPENCODE_CONFIG 环境变量
  4. 项目配置:项目中的 opencode.json
  5. .opencode 目录
  6. 内联配置:OPENCODE_CONFIG_CONTENT 环境变量

配置是"合并",不是简单替换。

7.3 OpenAI 兼容供应商示例

很多国产模型服务都提供 OpenAI 兼容接口,可以这样配置:

{
  "$schema": "https://opencode.ai/config.json",
  // 提供商配置:定义AI服务提供商的连接信息
  "provider": {
    // "my-provider": 自定义的提供商名称,可根据需要修改
    "my-provider": {
      // npm包名:使用兼容OpenAI接口的客户端库
      "npm": "@ai-sdk/openai-compatible",
      // 提供商的显示名称(仅用于标识)
      "name": "my-provider",
      // 提供商的具体配置选项
      "options": {
        // API服务的基准URL地址
        "baseURL": "https://api.example.com/openai",
        // API密钥:从环境变量 MY_API_KEY 中读取,避免硬编码
        "apiKey": "{env:MY_API_KEY}"
      },
      // 模型配置:定义可用的AI模型
      "models": {
        // "my-model": 自定义的模型名称
        "my-model": {
          // 模型的实际名称(需要提供商支持)
          "name": "my-model"
        }
      }
    }
  }
}

安全提示:建议把 API Key 放到环境变量里,不要直接写在配置文件中。

7.4 阿里云百炼配置示例

以阿里云百炼为例,配置接入国产模型:

{
  "$schema": "https://opencode.ai/config.json",
  // 提供商配置:定义AI服务提供商的连接信息
  "provider": {
    // "bailian": 百炼平台(阿里云模型服务)的配置
    "bailian": {
      // npm包名:使用Anthropic兼容的客户端库(因为百炼兼容Anthropic接口)
      "npm": "@ai-sdk/anthropic",
      // 提供商的显示名称
      "name": "Alibaba Cloud Model Studio",
      // 提供商的具体配置选项
      "options": {
        // API服务的基准URL(百炼平台的Anthropic兼容接口地址)
        "baseURL": "https://dashscope.aliyuncs.com/apps/anthropic/v1",
        // API密钥:建议替换为实际密钥,或使用环境变量如 "{env:BAILIAN_API_KEY}"
        "apiKey": "YOUR_API_KEY"
      },
      // 模型配置:定义可用的AI模型
      "models": {
        // "qwen3.6-plus": 自定义的模型别名
        "qwen3.6-plus": {
          // 模型的实际名称(通义千问3.6 Plus版本)
          "name": "Qwen3.6 Plus",
          // 模型特定的配置选项
          "options": {
            // "thinking": 思考模式配置(部分模型支持深度思考)
            "thinking": {
              // "type": 思考模式的启用状态(enabled=启用,disabled=禁用)
              "type": "enabled",
              // "budgetTokens": 思考模式的最大token预算(8192个token用于思考过程)
              "budgetTokens": 8192
            }
          }
        }
      }
    }
  }
}

配置完成后,重启 OpenCode,输入 /models 选择模型即可。


8. Skills 简介

Skill 可以理解为 “给 AI 的专项工作说明书”

它本质上是一个固定名称的 Markdown 文件 SKILL.md,可以告诉 AI:

  • 遇到某类任务时应该怎么做。
  • 使用什么流程。
  • 遵守什么规范。
  • 产出什么格式。

8.1 Skills 搜索路径

OpenCode 会自动搜索以下目录:

.opencode/skills/<技能名称>/SKILL.md
~/.config/opkills/<技能名称>/SKILL.md
.claude/skills/<技能名称>/SKILL.md
.agents/skills/<技能名称>/SKILL.md

8.2 查看可用 Skills

进入 OpenCode 后,输入 /skills 可以查看当前可用的技能列表。

在这里插入图片描述

9. MCP 简介

MCP 的全称是 Model Context Protocol(模型上下文协议),可以理解为 AI 工具的通用扩展协议

它可以让 OpenCode 连接外部服务,例如:

  • 地图服务
  • 数据库
  • 浏览器
  • 文件系统
  • 企业内部系统

9.1 高德 MCP 示例

opencode.json 中添加配置:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "amap": {
      "type": "remote",
      "url": "https://mcp.amap.com/sse?key=你的高德Key",
      "enabled": true
    }
  }
}

9.2 验证 MCP

进入 OpenCode 后,输入:

/mcp

检查 MCP 服务是否启用。

9.3 测试 MCP 功能

配置完成后,可以直接用自然语言提问:

北京到上海有多远?

AI 会自动调用高德 MCP 服务获取距离信息。

在这里插入图片描述


10. 实战案例

以下是使用 OpenCode 的一些实际场景截图,帮助你直观了解它的能力。

10.1 生成网页游戏

AI 可以根据自然语言描述,直接生成可运行的网页游戏。

可以使用前端设计的skills让网页写的更精美

在这里插入图片描述

第一个就是专门做前端网页设计的skills,然后将下面这段提示词直接粘贴到输入框中直接回车即可

🎮 游戏规则
游戏在一个4x4或5x5的网格上进行。你需要通过方向键或滑动屏幕,控制所有数字方块向同一方向移动。
核心玩法:每次移动时,相邻且数字相同的方块会合并成一个新方块,其数字是两者之和(例如2和2合并成4,4和4合并成8)。
随机生成:每次移动并合并后,会在空白的格子处随机生成一个新的数字(通常是1或2或4)。
获胜目标:游戏的最终目标就是通过不断合并,在网格中拼出一个数字为“1024”的方块

1024小程序开发,具体请参考项目目录中的rules.md项目说明,生成一个基于html+css+js的前端页面。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

11. 实用技巧汇总

技巧 说明
Tab 切换 plan / build 模式
Ctrl + P 快速选择模型
/init 初始化项目规则文件
/undo / /redo 撤销 / 恢复 AI 修改
/new 创建新会话
/sessions 查看历史会话
/models 查看和切换模型
/skills 查看可用技能
/mcp 查看 MCP 服务状态
/exit 退出程序
@general 调用通用子 Agent 处理复杂搜索
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐