
EdwinDigital/dsh-web-search-microsoft-webiq
dsh-web-search-microsoft-webiq
Microsoft Web IQ search provider plugin for DeepSeek Harness
Install
npx @deepseek-ai/dsh plugin --profile web add github:EdwinDigital/dsh-web-search-microsoft-webiqRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-web-search-microsoft-webiq)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from EdwinDigital/dsh-web-search-microsoft-webiq, cleaned of badges and images.
@edwindigital/dsh-web-search-microsoft-webiq
English | 中文
A Microsoft Web IQ-backed WebSearchProvider for the harness web capability (ctx.web). The package calls the Web Search v3 REST endpoint and maps query-relevant passages into the provider-neutral WebSearchResult consumed by @deepseek-ai/dsh-tool-web.
This is one dual-half plugin package. Its Host half registers provider microsoft-webiq; its browser half contributes a package-local card to the Plugins settings page. It does not register webiq_search or any other model-facing tool. Agent calls continue to use the single web_search tool.
Installing the package does not silently replace an existing search provider. The web seam keeps deepseek-official selected until the user turns on Use Web IQ for web search in the card or stores web.searchProvider: microsoft-webiq explicitly.
About Microsoft Web IQ
Microsoft describes Web IQ as a suite of AI-native APIs that give applications access to fresh, real-world intelligence from across the web — web pages, news, images, and videos. This package consumes one of them, the Web Search v3 endpoint.
[!IMPORTANT] Web IQ is in limited access for select Azure customers, so a key is not self-service. Request one through the waitlist before installing. Without a resolvable key the provider still registers and then fails every search with
WEB_PROVIDER_CREDENTIAL_MISSING.
Figures Microsoft publishes for the service, against alternatives it does not name:
| Measure | Web IQ | Best alternative in the set |
|---|---|---|
| p95 latency | 164 ms | 406 ms |
| Grounding satisfaction | 79.05 | 75.70 |
Source: the Web IQ site, over a 3,000-query production sample at 10 results and 10,000 characters per result. This package does not verify them, and the mapping documented below decides what actually reaches the model.
Where this package sits between the model and that API:
flowchart LR
M["Conversation model"] -->|web_search| T["dsh-tool-web"]
T --> W["ctx.web seam"]
W -->|"selected provider"| P["this package<br/>microsoft-webiq"]
P -->|"POST /v3/search/web"| A["Microsoft Web IQ"]
A -->|"passages"| P
P -->|"WebSearchSource[]"| W
Screenshots
The card on the Plugins settings page. Use Web IQ for web search is the switch that selects this provider; turned off, web_search goes back to the composed default. Below it, one group holds the endpoint and the API key and another holds language, region, passage length, and SafeSearch. The password field is blank after load — the line under it reports only that a key is stored, which is all the card can say about a value it never reads back.
An agent answering from Web IQ results. Registration adds no tool, so the model issues the same web_search it always had — twice here — and nothing in the transcript names the provider. Only the sources behind the answer changed.
The session trace for one of those calls. The call takes 595 ms measured from session timestamps, and the turn's two calls total 1.2 s against 43.4 s of model time — retrieval is not where the turn spends its time.
Installation and selection
…

