modsearch
Curated pickMaintenance: Activeliustack/modsearch
Web/X 搜索与抓取桥:为纯文本 coding agent 提供结构化 JSON 证据(search/fetch/citations),引擎可选 Antigravity CLI(免 key)/带 key 引擎/X(Grok Build 登录态)。
Install
dsh has no central install command — add this plugin’s entry (documented in its README below) to your profile or patch config, then restart.
How installs work167
stars
7
forks
TypeScript
Language
MIT
License
2026-02-22
Created
2026-08-17
Last push
README
ModSearch
Give the web to any model without it: search, X, and any page. Free, no signup, no API key.
🥇 The most powerful web search plugin for DeepSeek Harness (dsh) 🥇
Engines: Firecrawl (keyless, default) · Antigravity CLI · Tavily · Exa · Grok (X) · local, with automatic failover
简体中文 · Troubleshooting · Configuration · Output contract · Security · ModLens (vision)
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. It works the moment it lands: the default engine is Firecrawl's keyless tier, 1,000 free credits every month with no account, no API key, and no card.
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 most powerful web search plugin for DeepSeek Harness (dsh): one command,
npx -y @deepseek-ai/dsh plugin --profile web add @liustack/modsearch@5.6.0, and dsh's built-inweb_searchruns on the modsearch engine chain with no API key, keeping its native citation cards. Two tools dsh does not have land beside it:x_searchfor X (Twitter) andread_pagefor focused single-page reading. Updating is the same command again. The version is named rather than@latestbecause pnpm 11 holds back releases published in the last 24 hours and resolves the tag against the older versions that remain. Details in harness setup. - Free out of the box, no signup. Search and page fetch run on Firecrawl Keyless by default: 1,000 free credits/month, no account, no API key, no card. Every fallback channel is free too: Antigravity CLI needs only a browser sign-in, and Tavily, Exa, and a free Firecrawl key each add their own monthly quota 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
Firecrawl works with zero setup; every other engine is one command away. Keys are stored in ~/.modsearch/config.json (0600, masked when shown):
| Engine | Does | Free tier | Turn it on |
|---|---|---|---|
| Firecrawl (default) | web search + page fetch | keyless: 1,000 free credits/month, no signup. A free key adds your own 1,000/month | nothing, it works as installed |
| Antigravity CLI | web search + page fetch | free, browser sign-in | install agy and sign in |
| Tavily | web search | 1,000 credits/month, no card | modsearch config set tavily.apiKey <key> |
| Exa | web search | $10/month recurring credit (~1,400 searches), no card | modsearch config set exa.apiKey <key> |
| Grok Build | X (Twitter) search | rides SuperGrok or X Premium | install grok and sign in |
| local | page fetch | built in, nothing to install | nothing |
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, hand it to your AI. Search and page fetch work as soon as the skill lands, on Firecrawl's free keyless quota, so installation is one message:
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.
Step 2 (optional), add more free engines. Antigravity CLI writes better synthesized answers, and a free Tavily, Exa, or Firecrawl key adds a personal quota on top of the keyless one. None requires a card. agy's browser sign-in is the only step that needs your hands:
curl -fsSL https://antigravity.google/cli/install.sh | bash
agy # sign in, then exit
Chose a key instead? Send it to your AI with one line: "set my tavily key to tvly-...".
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.

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.

Documentation
| Doc | Read it when |
|---|---|
| INSTALL.md | Installing the skill step by step (written for an agent) |
| CLI manual | The CLI the skill drives: flags, config, doctor |
| Troubleshooting | A command failed and the message needs decoding |
| Configuration | Setting a key, switching engines, fixing config |
| Output contract | Parsing the JSON or building on it |
| dsh plugin | Installing, configuring, verifying, and updating the native dsh bundle |
| Harness setup | Wiring it into Codex, Claude Code, OpenCode, or Pi |
| Security | SSRF guards, DNS-rebinding protection, untrusted input |
| CHANGELOG | Finding 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
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
More in Web & Browser
last30days-skill-cn
by jesseovo
AI agent skill that searches China's eight major platforms for the last 30 days of content and compiles a well-sourced research report.
dsh-browser
by lum1104
让 DSH 读取/点击/填表/滚动/导航当前 Chrome 标签页(文本优先,保留登录态)
anime-find
by cocofhu
对话内多源搜番(Mikan/AniBT/AnimeGarden):卡片展示 Bangumi 评分与详情、按字幕组浏览、复制磁力/种子;可选流媒体解析播放 Tab
anysearch-dsh
by anysearch-team
AnySearch web search provider and advanced search tools for DeepSeek Harness (DSH)
