README
README
Browse gives LM Studio the tools it needs to search the web, read webpages and digital PDFs, find images, inspect images with vision model, and keep answers grounded in the current time.
It is designed to work locally with LM Studio while giving you a flexible set of web and image search providers.
| Tool | What it does |
|---|---|
Web Search | Searches the web using your configured web providers and fallback order. |
Read Webpage | Extracts and returns content from webpages, Reddit threads, and PDFs. |
Image Search | Searches for images using the configured image providers. |
Inspect Image | Sends local chat images or remote image URLs to the vision model for analysis. |
Get Current Time | Returns the current date, local time, timezone, and ISO timestamp. |
| Provider | API key |
|---|---|
| DuckDuckGo | Not required |
| Exa | Required |
| Tavily | Required |
| Serper | Required |
| Brave | Required |
| Firecrawl | Required |
DuckDuckGo is used by default. You can configure the provider priority and use multiple API keys for providers separated by a single comma (,) in between those keys.
| Provider | API key |
|---|---|
| DuckDuckGo | Not required |
| Bing | Not required |
| SerpApi | Required |
| Pexels | Required |
📌 Most of these providers offer some free plan/credits upon registering.
DuckDuckGo is the default web and image search provider, as the default provider priority order is [1, 2, 3, ...N]. You can configure the Provider Priority Order to control the fallback sequence in "Auto (Provider Priority)" mode. For example, setting it to [3, 4, 1] means Browse will always try provider 3 with all of its configured keys first; if provider 3 is unavailable or its quota is exhausted, it will fall back to provider 4, and finally to provider 1. You can also specify a shorter order, such as [2, 4], to use only those specific providers. The numbers correspond to the provider IDs shown in the LM Studio Plugin Settings. Multiple API keys for a provider can be configured as a comma-separated list.
Browse can add small reminders to the model's instructions when it detects that certain capabilities are relevant. These settings don't perform the action themselves; they simply help the model remember to use the appropriate Browse tool when needed.
When enabled, Browse reminds the model to use Get Current Time for questions that depend on the current date, time, or other time-sensitive information.
For example, a question like "What's the weather today?" or "Who is currently leading the football tournament?" will trigger this reminder.
When enabled, Browse reminds the model to use Image Search when your request asks for images or diagrams to support an explanation.
For example, "Explain Quantum Field Theory with images." will trigger a reminder to search for relevant images.
When enabled, Browse reminds the model to use Inspect Image when you ask it to analyze, explain, describe, or interpret images that are already present in the conversation.
For example, "What is happening in that image?" or "Analyze that/second/2nd image." will trigger a reminder to inspect the image.
Note: These settings only add guidance message when Browse detects that the corresponding capability is relevant. They do not force the tool to run, and they can be disabled independently from the LM Studio Plugin Settings.
Browse uses LM Studio's native naming API to keep automatically generated conversation titles clean, relevant, and useful. This helps prevent tool-related instructions or other prompt content from unnecessarily affecting the conversation title in a new chat. This automatically gets enabled if "Prepend Time/Image Context" toggle is On.
Most settings can be changed directly from the LM Studio Plugin Settings interface.
You can also configure provider API keys and settings through a .env file in the plugin directory (default root: C:\Users\user\.lmstudio\extensions\plugins\debjoy\browse):
.env.example.env.example in the plugin root directory and rename the copy to .env.,) to enable automatic key rotation.[!NOTE] LM Studio Settings take top priority: The LM Studio Plugin Settings GUI always takes precedence over the
.envfile. If a setting or API key is entered in the LM Studio interface, the.envfile value will be ignored for that specific setting. If you leave a field blank in LM Studio, the plugin will seamlessly fall back to reading from your.envfile.
📌 If you want to keep LM Studio's API key fields empty for any reason, you can only store all your API keys in the .env file instead. The plugin will read the keys from there without any issues. You can keep API keys both (or either) in .env and LM Studio's API key fields.
Browse gives LM Studio the tools it needs to search the web, read webpages and digital PDFs, find images, inspect images with vision model, and keep answers grounded in the current time.
It is designed to work locally with LM Studio while giving you a flexible set of web and image search providers.
| Tool | What it does |
|---|---|
Web Search | Searches the web using your configured web providers and fallback order. |
Read Webpage | Extracts and returns content from webpages, Reddit threads, and PDFs. |
Image Search | Searches for images using the configured image providers. |
Inspect Image | Sends local chat images or remote image URLs to the vision model for analysis. |
Get Current Time | Returns the current date, local time, timezone, and ISO timestamp. |
| Provider | API key |
|---|---|
| DuckDuckGo | Not required |
| Exa | Required |
| Tavily | Required |
| Serper | Required |
| Brave | Required |
| Firecrawl | Required |
DuckDuckGo is used by default. You can configure the provider priority and use multiple API keys for providers separated by a single comma (,) in between those keys.
| Provider | API key |
|---|---|
| DuckDuckGo | Not required |
| Bing | Not required |
| SerpApi | Required |
| Pexels | Required |
📌 Most of these providers offer some free plan/credits upon registering.
DuckDuckGo is the default web and image search provider, as the default provider priority order is [1, 2, 3, ...N]. You can configure the Provider Priority Order to control the fallback sequence in "Auto (Provider Priority)" mode. For example, setting it to [3, 4, 1] means Browse will always try provider 3 with all of its configured keys first; if provider 3 is unavailable or its quota is exhausted, it will fall back to provider 4, and finally to provider 1. You can also specify a shorter order, such as [2, 4], to use only those specific providers. The numbers correspond to the provider IDs shown in the LM Studio Plugin Settings. Multiple API keys for a provider can be configured as a comma-separated list.
Browse can add small reminders to the model's instructions when it detects that certain capabilities are relevant. These settings don't perform the action themselves; they simply help the model remember to use the appropriate Browse tool when needed.
When enabled, Browse reminds the model to use Get Current Time for questions that depend on the current date, time, or other time-sensitive information.
For example, a question like "What's the weather today?" or "Who is currently leading the football tournament?" will trigger this reminder.
When enabled, Browse reminds the model to use Image Search when your request asks for images or diagrams to support an explanation.
For example, "Explain Quantum Field Theory with images." will trigger a reminder to search for relevant images.
When enabled, Browse reminds the model to use Inspect Image when you ask it to analyze, explain, describe, or interpret images that are already present in the conversation.
For example, "What is happening in that image?" or "Analyze that/second/2nd image." will trigger a reminder to inspect the image.
Note: These settings only add guidance message when Browse detects that the corresponding capability is relevant. They do not force the tool to run, and they can be disabled independently from the LM Studio Plugin Settings.
Browse uses LM Studio's native naming API to keep automatically generated conversation titles clean, relevant, and useful. This helps prevent tool-related instructions or other prompt content from unnecessarily affecting the conversation title in a new chat. This automatically gets enabled if "Prepend Time/Image Context" toggle is On.
Most settings can be changed directly from the LM Studio Plugin Settings interface.
You can also configure provider API keys and settings through a .env file in the plugin directory (default root: C:\Users\user\.lmstudio\extensions\plugins\debjoy\browse):
.env.example.env.example in the plugin root directory and rename the copy to .env.,) to enable automatic key rotation.[!NOTE] LM Studio Settings take top priority: The LM Studio Plugin Settings GUI always takes precedence over the
.envfile. If a setting or API key is entered in the LM Studio interface, the.envfile value will be ignored for that specific setting. If you leave a field blank in LM Studio, the plugin will seamlessly fall back to reading from your.envfile.
📌 If you want to keep LM Studio's API key fields empty for any reason, you can only store all your API keys in the .env file instead. The plugin will read the keys from there without any issues. You can keep API keys both (or either) in .env and LM Studio's API key fields.
your_key_here# Web search
EXA_KEYS=your_key_here,your_other_exa_key
TAVILY_KEYS=your_key_here,your_other_tavily_key
SERPER_KEYS=your_key_here,your_other_serper_key
BRAVE_KEYS=your_key_here,your_other_brave_key
FIRECRAWL_KEYS=your_key_here,your_other_firecrawl_key
# Image search
SERPAPI_KEYS=your_key_here,your_other_serpapi_key
PEXELS_KEYS=your_key_here,your_other_pexels_key
your_key_here# Web search
EXA_KEYS=your_key_here,your_other_exa_key
TAVILY_KEYS=your_key_here,your_other_tavily_key
SERPER_KEYS=your_key_here,your_other_serper_key
BRAVE_KEYS=your_key_here,your_other_brave_key
FIRECRAWL_KEYS=your_key_here,your_other_firecrawl_key
# Image search
SERPAPI_KEYS=your_key_here,your_other_serpapi_key
PEXELS_KEYS=your_key_here,your_other_pexels_key