opencode-websearch-cited
v1.1.0
Published
An OpenCode plugin that provides LLM-grounded web search with citations.
Maintainers
Readme
LLM-grounded web search plugin for OpenCode, with inline citations and a Sources: list when available.
This plugin exposes a web search capability as an OpenCode custom tool, so your agent can call a single tool to perform web search with inline citations.
Features
websearch_citedtool backed by the builtin web search tool from:- Outputs results with inline citations and a
Sources:list when available.
Example output (short):
Answer with citations[1] based on web search results[2].
Sources:
[1] Example Source (https://example.test/source-1)
[2] Another Source (https://example.test/source-2)Full example see example_output.md.
Installation
Add opencode-websearch-cited to your ~/.config/opencode/opencode.json.
IMPORTANT: Put opencode-websearch-cited LAST in the plugin list to avoid impacting other plugins' auth process.
{
"$schema": "https://opencode.ai/config.json",
"plugin": [
"...other plugins",
"[email protected]"
]
}OpenCode does not upgrade plugins automatically, so you need to pin the version once the plugin upgraded.
As long as the plugin is enabled and the provider auth is configured, any OpenCode agent that can use tools will be able to call websearch_cited when it needs web search with citations.
Configure web search
Log in with opencode auth login first.
This plugin is compatible with opencode-openai-codex-auth and opencode-gemini-auth
Set a websearch_cited model in your OpenCode config (required)
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"openrouter": {
"options": {
"websearch_cited": {
"model": "x-ai/grok-4.1-fast"
}
}
},
"openai": {
"options": {
"websearch_cited": {
"model": "gpt-5.1"
}
}
},
"google": {
"options": {
"websearch_cited": {
"model": "gemini-2.5-flash"
}
}
}
}
}If you specify multiple websearch_cited.models fields in your opencode.json, the plugin scans provider entries in order and uses the first provider that contains options.websearch_cited.model. The order matters.
If auth or model config is missing, websearch_cited throws an error and OpenCode will display the message.
Development
This repository uses Bun and TypeScript.
# Install dependencies
bun install
# Run tests after any change
bun test:agentWhen testing the plugin against a globally installed opencode CLI during development, you can point OpenCode at a local checkout using a file:// URL in your opencode.jsonc:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["file:///path/to/opencode-websearch-cited/index.ts"]
}Contributions and feedback are welcome.
