1{
2 "$schema": "http://json-schema.org/draft-07/schema#",
3 "definitions": {
4 "agent": {
5 "description": "Agent configuration",
6 "properties": {
7 "maxTokens": {
8 "description": "Maximum tokens for the agent",
9 "minimum": 1,
10 "type": "integer"
11 },
12 "model": {
13 "description": "Model ID for the agent",
14 "enum": [
15 "bedrock.claude-3.7-sonnet",
16 "claude-3-haiku",
17 "claude-3.7-sonnet",
18 "claude-3.5-haiku",
19 "o3",
20 "gpt-4.5-preview",
21 "o1-pro",
22 "o4-mini",
23 "gpt-4.1",
24 "o3-mini",
25 "gpt-4.1-nano",
26 "gpt-4o-mini",
27 "o1",
28 "gemini-2.5-flash",
29 "qwen-qwq",
30 "meta-llama/llama-4-maverick-17b-128e-instruct",
31 "claude-3-opus",
32 "gpt-4o",
33 "gemini-2.0-flash-lite",
34 "gemini-2.0-flash",
35 "deepseek-r1-distill-llama-70b",
36 "llama-3.3-70b-versatile",
37 "claude-3.5-sonnet",
38 "o1-mini",
39 "gpt-4.1-mini",
40 "gemini-2.5",
41 "meta-llama/llama-4-scout-17b-16e-instruct"
42 ],
43 "type": "string"
44 },
45 "reasoningEffort": {
46 "description": "Reasoning effort for models that support it (OpenAI, Anthropic)",
47 "enum": [
48 "low",
49 "medium",
50 "high"
51 ],
52 "type": "string"
53 }
54 },
55 "required": [
56 "model"
57 ],
58 "type": "object"
59 }
60 },
61 "description": "Configuration schema for the OpenCode application",
62 "properties": {
63 "agents": {
64 "additionalProperties": {
65 "description": "Agent configuration",
66 "properties": {
67 "maxTokens": {
68 "description": "Maximum tokens for the agent",
69 "minimum": 1,
70 "type": "integer"
71 },
72 "model": {
73 "description": "Model ID for the agent",
74 "enum": [
75 "bedrock.claude-3.7-sonnet",
76 "claude-3-haiku",
77 "claude-3.7-sonnet",
78 "claude-3.5-haiku",
79 "o3",
80 "gpt-4.5-preview",
81 "o1-pro",
82 "o4-mini",
83 "gpt-4.1",
84 "o3-mini",
85 "gpt-4.1-nano",
86 "gpt-4o-mini",
87 "o1",
88 "gemini-2.5-flash",
89 "qwen-qwq",
90 "meta-llama/llama-4-maverick-17b-128e-instruct",
91 "claude-3-opus",
92 "gpt-4o",
93 "gemini-2.0-flash-lite",
94 "gemini-2.0-flash",
95 "deepseek-r1-distill-llama-70b",
96 "llama-3.3-70b-versatile",
97 "claude-3.5-sonnet",
98 "o1-mini",
99 "gpt-4.1-mini",
100 "gemini-2.5",
101 "meta-llama/llama-4-scout-17b-16e-instruct"
102 ],
103 "type": "string"
104 },
105 "reasoningEffort": {
106 "description": "Reasoning effort for models that support it (OpenAI, Anthropic)",
107 "enum": [
108 "low",
109 "medium",
110 "high"
111 ],
112 "type": "string"
113 }
114 },
115 "required": [
116 "model"
117 ],
118 "type": "object"
119 },
120 "description": "Agent configurations",
121 "properties": {
122 "coder": {
123 "$ref": "#/definitions/agent"
124 },
125 "task": {
126 "$ref": "#/definitions/agent"
127 },
128 "title": {
129 "$ref": "#/definitions/agent"
130 }
131 },
132 "type": "object"
133 },
134 "contextPaths": {
135 "default": [
136 ".github/copilot-instructions.md",
137 ".cursorrules",
138 ".cursor/rules/",
139 "CLAUDE.md",
140 "CLAUDE.local.md",
141 "opencode.md",
142 "opencode.local.md",
143 "OpenCode.md",
144 "OpenCode.local.md",
145 "OPENCODE.md",
146 "OPENCODE.local.md"
147 ],
148 "description": "Context paths for the application",
149 "items": {
150 "type": "string"
151 },
152 "type": "array"
153 },
154 "data": {
155 "description": "Storage configuration",
156 "properties": {
157 "directory": {
158 "default": ".opencode",
159 "description": "Directory where application data is stored",
160 "type": "string"
161 }
162 },
163 "required": [
164 "directory"
165 ],
166 "type": "object"
167 },
168 "debug": {
169 "default": false,
170 "description": "Enable debug mode",
171 "type": "boolean"
172 },
173 "debugLSP": {
174 "default": false,
175 "description": "Enable LSP debug mode",
176 "type": "boolean"
177 },
178 "lsp": {
179 "additionalProperties": {
180 "description": "LSP configuration for a language",
181 "properties": {
182 "args": {
183 "description": "Command arguments for the LSP server",
184 "items": {
185 "type": "string"
186 },
187 "type": "array"
188 },
189 "command": {
190 "description": "Command to execute for the LSP server",
191 "type": "string"
192 },
193 "disabled": {
194 "default": false,
195 "description": "Whether the LSP is disabled",
196 "type": "boolean"
197 },
198 "options": {
199 "description": "Additional options for the LSP server",
200 "type": "object"
201 }
202 },
203 "required": [
204 "command"
205 ],
206 "type": "object"
207 },
208 "description": "Language Server Protocol configurations",
209 "type": "object"
210 },
211 "mcpServers": {
212 "additionalProperties": {
213 "description": "MCP server configuration",
214 "properties": {
215 "args": {
216 "description": "Command arguments for the MCP server",
217 "items": {
218 "type": "string"
219 },
220 "type": "array"
221 },
222 "command": {
223 "description": "Command to execute for the MCP server",
224 "type": "string"
225 },
226 "env": {
227 "description": "Environment variables for the MCP server",
228 "items": {
229 "type": "string"
230 },
231 "type": "array"
232 },
233 "headers": {
234 "additionalProperties": {
235 "type": "string"
236 },
237 "description": "HTTP headers for SSE type MCP servers",
238 "type": "object"
239 },
240 "type": {
241 "default": "stdio",
242 "description": "Type of MCP server",
243 "enum": [
244 "stdio",
245 "sse"
246 ],
247 "type": "string"
248 },
249 "url": {
250 "description": "URL for SSE type MCP servers",
251 "type": "string"
252 }
253 },
254 "required": [
255 "command"
256 ],
257 "type": "object"
258 },
259 "description": "Model Control Protocol server configurations",
260 "type": "object"
261 },
262 "providers": {
263 "additionalProperties": {
264 "description": "Provider configuration",
265 "properties": {
266 "apiKey": {
267 "description": "API key for the provider",
268 "type": "string"
269 },
270 "disabled": {
271 "default": false,
272 "description": "Whether the provider is disabled",
273 "type": "boolean"
274 },
275 "provider": {
276 "description": "Provider type",
277 "enum": [
278 "anthropic",
279 "openai",
280 "gemini",
281 "groq",
282 "bedrock"
283 ],
284 "type": "string"
285 }
286 },
287 "type": "object"
288 },
289 "description": "LLM provider configurations",
290 "type": "object"
291 },
292 "wd": {
293 "description": "Working directory for the application",
294 "type": "string"
295 }
296 },
297 "title": "OpenCode Configuration",
298 "type": "object"
299}