ollama/docs/integrations/opencode.mdx

145 lines
4 KiB
Text

---
title: OpenCode
---
[OpenCode](https://opencode.ai) is an open-source coding agent that runs in your terminal, reads your project, edits files, and runs commands.
Ollama configures OpenCode to use local and cloud models.
## Get started
Launch OpenCode with Ollama:
```shell
ollama launch opencode
```
## Capabilities
<div className="capability-list capability-list-full">
<div className="capability-list-grid">
<div className="capability-list-item">
<div className="capability-list-icon"><Icon icon="comment" /></div>
<div>
<div className="capability-list-heading">Chat</div>
<div className="capability-list-copy">Ask questions about a repository or task</div>
</div>
</div>
<div className="capability-list-item">
<div className="capability-list-icon"><Icon icon="terminal" /></div>
<div>
<div className="capability-list-heading">Command line</div>
<div className="capability-list-copy">Run commands from your working directory</div>
</div>
</div>
<div className="capability-list-item">
<div className="capability-list-icon"><Icon icon="code" /></div>
<div>
<div className="capability-list-heading">File edits</div>
<div className="capability-list-copy">Read and edit files in your project</div>
</div>
</div>
<div className="capability-list-item">
<div className="capability-list-icon"><Icon icon="users" /></div>
<div>
<div className="capability-list-heading">Subagents</div>
<div className="capability-list-copy">Split work across tasks</div>
</div>
</div>
<div className="capability-list-item">
<div className="capability-list-icon"><Icon icon="file-text" /></div>
<div>
<div className="capability-list-heading">Web fetch</div>
<div className="capability-list-copy">Fetch and summarize web pages</div>
</div>
</div>
<div className="capability-list-item">
<div className="capability-list-icon"><Icon icon="image" /></div>
<div>
<div className="capability-list-heading">Vision</div>
<div className="capability-list-copy">Send images and screenshots</div>
</div>
</div>
</div>
</div>
## Models
Choose a model with enough context for your repository.
<CardGroup cols={2}>
<Card title="Cloud models" icon="cloud" href="https://ollama.com/search?c=cloud">
Use larger models without downloading them.
</Card>
<Card title="Local models" icon="hard-drive" href="https://ollama.com/search?c=tools">
Choose a model and set a 64k+ context window.
</Card>
</CardGroup>
<Note>OpenCode requires a context length of 64k or higher. See [Context length](/context-length) for more information.</Note>
## Manual setup
<p className="manual-step-title">1. Install OpenCode</p>
<CodeGroup>
```shell macOS / Linux
curl -fsSL https://opencode.ai/install | bash
```
```powershell Windows
npm install -g opencode-ai
```
</CodeGroup>
<p className="manual-step-title">2. Configure Ollama as a provider</p>
Add an Ollama provider to `opencode.json`:
```json
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ollama",
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"qwen3.5": {
"name": "qwen3.5"
}
}
}
}
}
```
<p className="manual-step-title">3. Run OpenCode</p>
```shell
opencode
```
To configure OpenCode with Ollama without starting an interactive session:
```shell
ollama launch opencode --config
```
### Configuration precedence
`ollama launch opencode` starts OpenCode with an inline config for the selected Ollama model. It does not overwrite `~/.config/opencode/opencode.json`; existing OpenCode settings still apply.
Models defined only in `opencode.json` do not appear in the `ollama launch` model picker.
See OpenCode's [config precedence](https://opencode.ai/docs/config/#precedence-order).