opencode-websearchWeb search plugin for OpenCode
50
+2 in 30 days
3,946
2.3k in 7 days
53.3
Multi-signal model
3 months ago
2026-05-07
Install and configure
opencode.jsonWrites to this project's opencode.json — applies to this repository only.
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-websearch@0.6.0"]
}Writes to ~/.config/opencode/opencode.json — applies to every project.
~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-websearch@0.6.0"]
}If you want to modify the plugin locally, install it into the project and reference the local path.
shell
pnpm add -D opencode-websearchopencode loads npm dependencies through its embedded runtime on startup and caches them locally — no manual global install needed.
Native web search for OpenCode, powered by your model's built-in search capability. No extra API keys or search services required. If you're on a supported provider, it works without any extra setup.
Inspired by Claude Code's WebSearch tool.
Example
Asking OpenCode about the latest PostgreSQL version:
What's the latest Postgres version?
⚙
web-search[query=latest PostgreSQL release version April 2026]As of now (April 2026), the latest PostgreSQL community release is PostgreSQL 18.3.
If you mean the latest major version line, that is PostgreSQL 18.Sources:
Supported providers
| Provider | What you need |
|---|---|
| Anthropic | An Anthropic provider/model in OpenCode with built-in web search support |
| Moonshot (Kimi) | A Moonshot API key configured in OpenCode |
| OpenAI / ChatGPT | OpenAI configured in OpenCode (API key or ChatGPT connected) |
| GitHub Copilot | GitHub Copilot connected in OpenCode |
Model-level web search support depends on the provider and model you use.
Install
Add the plugin to your opencode.json and OpenCode will install it automatically on startup.
{
"plugin": ["opencode-websearch"]
}
Configuration (optional)
By default the plugin uses your active model. The optional "websearch" flag lets you pin or provide a fallback model for search:
"always": always use this model for web search"auto": use this model as fallback when your active provider is not supported
Selection order
- A model tagged
"websearch": "always" - Your active model (if on a supported provider)
- A model tagged
"websearch": "auto" - Otherwise, the tool returns an error
Example
{
"provider": {
"openai": {
"models": {
"gpt-5.2": {
"options": {
"websearch": "always"
}
}
}
}
}
}
Development
Local development
Clone the repo and symlink the source entry into your OpenCode plugin directory:
git clone https://github.com/emilsvennesson/opencode-websearch ~/.config/opencode/opencode-websearch
cd ~/.config/opencode/opencode-websearch
bun install
mkdir -p ~/.config/opencode/plugin
ln -sf ~/.config/opencode/opencode-websearch/src/index.ts ~/.config/opencode/plugin/websearch.ts
OpenCode loads the plugin directly from source at startup.
When using this symlink setup, remove
"opencode-websearch"from thepluginarray inopencode.jsonto avoid loading it twice.
Commands
bun install
bun run format
bun run format:check
bun run lint
bun run lint:fix
bun run typecheck
bun run check
bun run build
License
MIT