OpenCode 配置技巧

什么是 OpenCode?

OpenCode 是一款功能强大的 AI 代码助手,它可以帮助开发者更高效地编写代码、解决问题、理解代码库等。通过合理的配置,OpenCode 可以成为你开发过程中的得力助手。

Oh-My-OpenCode 插件安装

安装步骤

使用 pnpm 安装

1
2
3
4
5
# MacOS
pnpm add -g oh-my-opencode

# Linux
pnpm add -g oh-my-opencode-linux-x64

安装后,可执行文件路径在:~/.local/share/pnpm/oh-my-opencode

配置插件

1
oh-my-opencode install

MCP 配置

官方文档

MCP配置文档:https://opencode.ai/docs/mcp-servers/

配置示例

opencode的mcp配置和cursor/windsurf不一样,需要指定一个type字段,指定localremote,还有一个enabled字段,用来控制是否启用该服务。另外,并没有args字段,而是直接在command中指定参数,environment字段对应env字段。

以下是一个配置 Vikunja 任务管理的 MCP 服务示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"$schema": "https://opencode.ai/config.json",
"plugin": [
"oh-my-opencode@latest"
],
"mcp": {
"vikunja": {
"type": "local",
"command": ["npx", "-y", "@aimbitgmbh/vikunja-mcp"],
"environment": {
"VIKUNJA_URL": "https://host:port/api/v1",
"VIKUNJA_API_TOKEN": "token"
},
"enabled": true
}
}
}

模型配置

官方文档: https://opencode.ai/docs/providers/

  • 最近的更新支持siliconflow了,国内选siliconflow (China)
  • 应该是优先读取项目目录下的配置文件,如opencode.json,然后再读取全局配置文件~/.config/opencode/opencode.json

自定义模型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"myprovider": {
"npm": "@ai-sdk/openai-compatible",
"name": "My AI ProviderDisplay Name",
"options": {
"baseURL": "https://api.myprovider.com/v1"
},
"models": {
"my-model-name": {
"name": "My Model Display Name"
}
}
},
"llama.cpp": {
"npm": "@ai-sdk/openai-compatible",
"name": "llama-server (local)",
"options": {
"baseURL": "http://127.0.0.1:8080/v1"
},
"models": {
"qwen3-coder:a3b": {
"name": "Qwen3-Coder: a3b-30b (local)",
"limit": {
"context": 128000,
"output": 65536
}
}
}
},
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ollama (local)",
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"llama2": {
"name": "Llama 2"
}
}
}
}
}