README.md
LM Studio plugin that lets the model search the web. Two backends:
Without it, models reply "I don't have access to the internet." With it, they can answer questions about current events, recent releases, prices, biographies of living people, and software docs that may have changed.
search_web(query, max_results?) — runs a search through the configured backend and returns ranked results.Result shape (DuckDuckGo backend):
SearXNG backend additionally returns answers, infoboxes, suggestions, and unresponsive_engines when the instance provides them.
| Field | Type | Default | Notes |
|---|---|---|---|
| Search backend | select | DuckDuckGo | DuckDuckGo or SearXNG. |
| Max results | numeric | 8 | Caps the number of results returned to the model (1–20). |
| SearXNG language | string | auto | SearXNG-only. e.g. fr, en-US, auto. |
| SearXNG safe search | select | Moderate | SearXNG-only. Off, Moderate, or Strict. |
| Field | Type | Default | Notes |
|---|---|---|---|
| SearXNG instance URL | string | (empty) | SearXNG-only. Base URL of an instance with JSON output enabled. Leave empty if you only use DuckDuckGo. |
| Request timeout (ms) | numeric | 10000 | How long to wait for the search backend before giving up. |
Zero setup. The plugin POSTs to html.duckduckgo.com/html/ and parses the result page. Caveats:
For occasional use it's perfectly fine. For high volume, switch to SearXNG.
Requires an instance whose settings.yml has the json format enabled under search.formats. Most public instances disable it to discourage scraping, so you usually need to either:
json to the formats list in settings.yml.https://<instance>/search?q=test&format=json in your browser.If you get the error SearXNG did not return JSON, the instance has the JSON format disabled — pick another one or self-host.
One-click (macOS, Windows): Run in LM Studio
Linux (AppImage): the lmstudio:// deep link doesn't work out of the box because the AppImage doesn't register a scheme handler. Use the CLI instead:
To fix the deep link permanently, create ~/.local/share/applications/lmstudio.desktop:
Then:
After install: the plugin isn't enabled in chats by default. In any chat, click the tools button (bottom right of the chat input) and enable web-search.
MIT
{
"query": "anthropic claude latest release",
"backend": "duckduckgo",
"results": [
{
"title": "...",
"url": "https://...",
"content": "snippet...",
"source": "anthropic.com"
}
]
}
lms clone zexigh/web-search
cd web-search
lms dev -i # -i / --install: install the plugin into LM Studio
[Desktop Entry]
Name=LM Studio
Exec=/absolute/path/to/LM-Studio.AppImage %u
Type=Application
MimeType=x-scheme-handler/lmstudio;
Categories=Development;
update-desktop-database ~/.local/share/applications/
xdg-mime default lmstudio.desktop x-scheme-handler/lmstudio