DSH Plugin Store
Back to home

liustack

modsearch

The web plugin for DeepSeek Harness, and the search bridge for every model without native web access. Ask the web or X, get structured JSON evidence. | DeepSeek Harness 的 web 插件,为不能联网的模型补上搜索。问网页或 X,拿回结构化 JSON 证据(搜索、抓取、引用)。

Stars
80
Language
TypeScript
Created
Feb 22, 2026
Updated
Aug 14, 2026
SkillsWorkspace
GitHub repoHomepage

Introduction

ModSearch

ModSearch

Give the web to any model without it: search, X, and any page.

🌐 The web plugin for DeepSeek Harness (dsh) 🌐

Engines: Antigravity CLI (free, default) · Tavily · Exa · Firecrawl · Grok (X) · local, with automatic failover

简体中文 · Troubleshooting · Configuration · Output contract · Security · ModLens (vision)

Follow @liustack on X npm Node.js License Not backed by Y Combinator Users unknown

Models like DeepSeek-V4-Flash have no web access, or a weak one. ModSearch is a plug-in that greatly strengthens the model's web search, X search, and single-page fetch.

Talk to us

Something broken, or something missing? Open an issue. For everything else, come find me on X: @liustack. What you built with it, which harness you are on, what should come next. New releases land there first, and a proper community space is on the way.

Features

  • 🌐 The web plugin for DeepSeek Harness (dsh): one command, npx -y @deepseek-ai/dsh plugin --profile web add @liustack/modsearch@latest, and dsh's built-in web_search runs on the modsearch engine chain with no API key, keeping its native citation cards. Two tools dsh does not have land beside it: x_search for X (Twitter) and read_page for focused single-page reading. Details in harness setup.
  • Completely free. The default channel is Antigravity CLI, no API key needed. All three fallback channels (Tavily, Exa, Firecrawl) offer monthly free tiers with no card required.
  • Automatic failover. When a channel fails or exhausts its quota, the next one takes over.
  • Searches X (Twitter). With Grok Build installed, ModSearch queries the corpus that web indexes cannot reach.
  • Install once, use everywhere. Works in Claude Code, Codex, Pi, and OpenCode.

Supported engines

Any one of these makes search work. Configure with one command each, keys are stored in ~/.modsearch/config.json (0600, masked when shown):

EngineDoesFree tierTurn it on
Antigravity CLIweb search + page fetchfree, browser sign-ininstall agy and sign in
Tavilyweb search1,000 credits/month, no cardmodsearch config set tavily.apiKey <key>
Exaweb search$10/month recurring credit (~1,400 searches), no cardmodsearch config set exa.apiKey <key>
Firecrawlweb search + page fetch1,000 credits/month, search even works keylessmodsearch config set firecrawl.apiKey <key>
Grok BuildX (Twitter) searchrides SuperGrok or X Premiuminstall grok and sign in
localpage fetchbuilt in, nothing to installnothing

Keys can also come from the environment (TAVILY_API_KEY, EXA_API_KEY, FIRECRAWL_API_KEY). Multiple engines configured means automatic failover, best first. Using a Tavily-, Exa-, or Firecrawl-compatible third-party or self-hosted endpoint? Point the engine at it: modsearch config set tavily.baseURL <url>. Every knob, engine by engine, is in the configuration guide.

Installation

Step 1, set up a search engine (the only part that needs your hands). The default engine, Antigravity CLI, requires a browser sign-in that only you can complete:

curl -fsSL https://antigravity.google/cli/install.sh | bash
agy                                                           # sign in, then exit

Prefer not to install it? Register a free key with Tavily, Exa, or Firecrawl instead (Tavily 1,000 credits a month, Exa about 1,400 searches a month, Firecrawl 1,000 credits a month, no card required by any of them).

Step 2, hand the rest to your AI. Send it this line, along with the key if you chose one:

Install and configure the modsearch skill following https://github.com/liustack/modsearch/blob/main/INSTALL.md, then run the health check and tell me the result.

Usage

Once installed, just chat. Ask anything that needs checking, or paste a URL, and the skill triggers on its own: it picks an engine, runs the search or fetch, and the answer comes back with sources.

See it work

Both screenshots are unedited runs from the Codex desktop app, driving a DeepSeek-V4-Flash that has no web access of its own.

Give it a blog link and ask what the post says. Twenty-five seconds later: a structured summary of the whole post, with no browser involved.

Text-only DeepSeek summarising a blog link through ModSearch

Give it no target at all, just "anything interesting in AI today?". Thirty-six seconds later: six sourced stories, with a closing note on which details came from aggregation and deserve a second look. The note comes from the uncertainty field.

An open-ended question comes back as six sourced stories with a stated confidence caveat

Documentation

DocRead it when
INSTALL.mdInstalling the skill step by step (written for an agent)
CLI manualThe CLI the skill drives: flags, config, doctor
TroubleshootingA command failed and the message needs decoding
ConfigurationSetting a key, switching engines, fixing config
Output contractParsing the JSON or building on it
Harness setupWiring it into Codex, Claude Code, OpenCode, or Pi
SecuritySSRF guards, DNS-rebinding protection, untrusted input
CHANGELOGFinding what changed in a version

Contributing

ModSearch does not accept pull requests. The project is maintained by a single author who reviews every line, which is a deliberate choice for reliability. Two effective ways to contribute:

  • Open an issue. Bugs, suggestions, confusing errors, unclear docs. Issues are read and shape what gets built next.
  • Fork it. Under MIT your copy is fully yours to modify and publish.

Shameless plug

This project runs on LIUSTACK Skills: shaping before you build, coding while you build, dig when it breaks, snapshot when you hand off. Lighter than Superpowers, and stronger.

npx -y skills add liustack/liustack -g

⭐ If it helps, star ModSearch and liustack. Stars are how the next developer finds them.

Star History

Star History Chart

Disclaimer

ModSearch is MIT-licensed, so use is not restricted. The author gives no warranty and no endorsement for any particular use, commercial or otherwise. The upstream engines it drives (Antigravity CLI, Tavily, Exa, Firecrawl, Grok Build) each carry their own terms and quotas, and complying with them is the user's responsibility.

License

MIT