概述

OpenCode 是一个 AI 驱动的代码编辑器,支持外部编辑器集成、多层配置管理、MCP 服务器扩展等功能。

OpenCode调用外部编辑器

OpenCode 使用 Ctrl+X 然后按 E 来调用外部编辑器来编辑 Prompt。

配置默认编辑器

在终端配置文件(如 .bashrc.zshrc)中添加以下行:

1
2
3
4
export EDITOR="code --wait"
# Vim: export EDITOR="vim"
# Nano: export EDITOR="nano"
source ~/.zshrc
推荐配置

推荐使用 VS Code (code --wait) 作为默认编辑器,提供更好的代码体验。

配置文件

可以使用 JSON 配置文件配置 OpenCode,同时支持 JSON 与 JSONC(带注释的JSON)格式:

1
2
3
4
5
6
{
  "$schema": "https://opencode.ai/config.json",
  "theme": "opencode",
  "model": "anthropic/claude-sonnet-4-5",
  "autoupdate": true
}

配置文件的优先顺序

配置合并规则

配置文件会合并,而不是替换。后续配置仅对冲突的键值覆盖先前配置。所有配置中不冲突的设置将被保留。

优先级 类型 路径 说明
1 Remote config .well-known/opencode 组织默认,全公司统一标准
2 Global config ~/.config/opencode/opencode.json 用户偏好,个人习惯配置
3 Custom config OPENCODE_CONFIG 环境变量 用户自定义,临时指定配置
4 Project config .opencode/opencode.json 项目特定设置
5 Inline config OPENCODE_CONFIG_CONTENT 环境变量 运行时覆盖,紧急临时修改
从外到内,权限递增

公司定规矩 → 你调习惯 → 项目加专属 → 环境变量临时换 → 命令行里说了算

配置示例

1
2
3
4
{
  "agents": ["代码审查专家", "数据库助手"],
  "plugins": ["github插件", "jira插件"]
}

临时调试配置

1
export OPENCODE_CONFIG_CONTENT='{"debug": true, "verbose": true}'

OpenCode配置Nvidia云端API

OpenCode 支持 OpenAI 兼容协议,核心思路是添加一个 OpenAI 兼容的 Provider。

配置步骤

  1. 找到或创建 OpenCode 配置文件 ~/.config/opencode/opencode.json
  2. provider 字段中添加 NVIDIA 配置
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "nvidia": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "NVIDIA NIM",
      "options": {
        "baseURL": "https://integrate.api.nvidia.com/v1"
      },
      "models": {
        "nvidia/llama-3.1-nemotron-70b-instruct": {
          "name": "Nemotron 70B"
        },
        "meta/llama-3.1-405b-instruct": {
          "name": "Llama 3.1 405B"
        }
      }
    }
  }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama (local)",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "llama2": {
          "name": "Llama 2"
        }
      }
    }
  }
}
  1. 终端运行 opencode
  2. 输入 /connect
  3. 选择刚才添加的 provider 名字
  4. 粘贴你的 nvapi-XXX Key
  5. 使用 /model 命令切换到相应的模型

MCP服务器

使用 MCP 协议向 OpenCode 添加外部工具。OpenCode 同时支持本地服务器和远程服务器。添加后,MCP 工具将与内置工具一起自动提供给 LLM 使用。

请慎选 MCP 服务器

在使用 MCP 服务器时,它的"工具"和"数据"会被添加到 AI 的上下文里。如果启用了太多、或者其中的某些服务器非常庞大,很容易把 AI 的"记忆空间"撑满,导致它无法正常工作。

配置 MCP 服务器

在 OpenCode 配置文件 opencode.jsonc 中定义 MCP 服务器:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "name-of-mcp-server": {
      "enabled": true
    },
    "name-of-other-mcp-server": {
      "enabled": false
    }
  }
}
性能优化

通过 enabled 属性来启用或禁用 MCP 服务器,不用时建议禁用以节省上下文空间。

Agent Skills

Agent Skills(智能体技能)功能能让 OpenCode 从你的代码库或电脑里自动发现可重复使用的指令。这些技能是通过原生工具按需加载的——智能体能看见有哪些可用技能,并在需要时加载完整内容。

文件位置

OpenCode 会搜索以下位置:

级别 路径
项目级 .opencode/skills/<name>/SKILL.md
全局级 ~/.config/opencode/skills/<name>/SKILL.md
兼容 Project Claude .claude/skills/<name>/SKILL.md
兼容全局 Claude ~/.claude/skills/<name>/SKILL.md
兼容 Project Agents .agents/skills/<name>/SKILL.md
兼容全局 Agents ~/.agents/skills/<name>/SKILL.md

%% 内部笔记:

  • 后续可以添加更多配置示例
  • 考虑添加视频教程链接 %%