ModSearch — скилл
Скилл веб-поиска, поиска по X и чтения страниц для моделей без выхода в сеть: без регистрации и ключа, ответ в JSON со ссылками на источники
- 815 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Скилл запускает команды оболочки: через npx или bunx скачивает пакет @liustack/modsearch и выполняет его на машине
- Поисковые запросы и адреса публичных страниц уходят во внешние сервисы, прежде всего в Firecrawl и Keenable
- Необязательные ключи API хранятся в `~/.modsearch/config.json` без шифрования, защита только правами файла
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/modsearchОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Скилл запускает команды оболочки: через npx или bunx скачивает пакет @liustack/modsearch и выполняет его на машине
- Поисковые запросы и адреса публичных страниц уходят во внешние сервисы, прежде всего в Firecrawl и Keenable
- Необязательные ключи API хранятся в `~/.modsearch/config.json` без шифрования, защита только правами файла
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
ModSearch дает агенту веб-поиск, поиск по X и чтение отдельной страницы там, где у модели нет собственного выхода в сеть, например в DeepSeek или GLM. Скилл срабатывает, когда вопрос требует свежих данных, ссылок на источники, постов из X или содержимого конкретного адреса, а встроенного инструмента у агента нет. Агент запускает команду `modsearch` через скрипт-обертку из папки скилла и получает JSON: для каждого источника сводку, список найденных страниц с заголовком, адресом и фрагментом, а также два списка оговорок, `uncertainty` с сомнениями в достоверности и `warnings` с путем, по которому пошел запрос. Движки выбираются по задаче. Поиск по вебу идет через Firecrawl, при сбое или исчерпанной квоте подхватывают Keenable, Antigravity CLI, Tavily и Exa. Страницы читают Firecrawl, Antigravity CLI или встроенный локальный загрузчик. Поиск по X возможен только через Grok Build. Движок, у которого кончилась квота, уходит в конец очереди до восстановления, а в ответе указан движок, который отвечал. Без настройки работают Firecrawl и Keenable.
Для кого. Для тех, кто запускает Claude Code, Codex, OpenCode или Pi на моделях без собственного поиска и хочет получать ответы со ссылками без платного ключа.
Подходит, если
- Агент работает на DeepSeek или GLM через API и сам ничего не найдет в сети
- Нужны свежие версии, цены или новости со ссылками на первоисточники
- Нужно узнать, что пишут в X по теме, и у вас есть SuperGrok или X Premium
- Агенту дали адрес страницы и просят пересказать ее, а инструмента чтения страниц нет
- Встроенный поиск тащит в контекст страницы целиком, а нужны короткие структурированные данные: в Codex автор замерял около 30 000 токенов против нескольких сотен
Не подходит, если
- У модели уже есть поиск, который вас устраивает: ModSearch в этом случае только экономит контекст
- Нужно разобрать изображение или скриншот: для этого у автора отдельный скилл ModLens
- На машине нет ни Node 22 или новее, ни Bun, ни готового бинарника `modsearch`, а поставить их нельзя
- Нужна полная выдача поисковика с постраничным обходом: скилл возвращает короткий разбор по источникам
Пример запроса к агенту
Найди, какая ветка Node.js сейчас в режиме поддержки, и дай ссылки на источникиОграничения
- Поиск по X идет только через Grok Build и требует SuperGrok или X Premium. Без него вопрос про X уходит в веб-движок, а запись в ответе получает статус `degraded`.
- Бесплатные квоты ограничены: у Firecrawl без ключа 1000 кредитов в месяц, у Keenable без ключа 1000 запросов в час на один IP-адрес, общих для всех, кто сидит за этим адресом.
- Адреса публичных страниц при чтении уходят в облако Firecrawl. Оставить чтение локальным можно командой `modsearch config set firecrawl.keylessFetch false`.
- Локальный загрузчик не выполняет JavaScript: на страницах, которые рисуются скриптами, он вернет мало текста и скажет об этом в `uncertainty`.
- Ответ занимает 10–30 секунд на движках-агентах и 2–3 секунды на прямых API. Автор не принимает pull request, обращаться можно только через issues.
Как отключить. Удалите папку скилла modsearch из каталога скиллов агента: `~/.claude/skills/` для Claude Code, `~/.codex/skills/` для Codex, `~/.agents/skills/` для Pi и OpenCode. В DeepSeek Harness снимите плагин @liustack/modsearch в разделе плагинов. Ключи лежат в `~/.modsearch/config.json`, каталог `~/.modsearch` можно удалить вручную.
Частые вопросы
Нужен ли ключ или регистрация для веб-поиска через ModSearch?
Нет. По умолчанию работают Firecrawl с 1000 бесплатных кредитов в месяц и Keenable с 1000 запросов в час на IP-адрес, оба без аккаунта. Свои ключи Tavily, Exa или Firecrawl добавляют личную квоту сверху.
Как искать в X через ModSearch?
Команда `modsearch -q "запрос" --source x` отправляет вопрос в Grok Build. Он должен быть установлен и войти в аккаунт с SuperGrok или X Premium. Запрос с явным упоминанием твита или X уходит туда сам и только туда, а `--source web,x` ищет в обоих местах.
Как прочитать страницу по ссылке без своего инструмента?
Команда `modsearch -u "адрес"` возвращает содержимое страницы и полезные исходящие ссылки. С добавкой `-q "на чем сосредоточиться"` читающий движок получает подсказку, что выбрать из страницы.
Что будет, когда у одного движка закончится квота?
ModSearch переведет его в конец очереди и возьмет следующий здоровый. В `warnings` будет указано, какой движок на паузе и до какого времени. Команда `modsearch doctor` покажет состояние без траты квоты, `modsearch state clear` сбросит паузы.
Как поставить ModSearch в DeepSeek Harness?
Командой `npx -y @deepseek-ai/dsh plugin --profile web add @liustack/modsearch@5.10.9`. Тогда штатный `web_search` в dsh работает на цепочке движков ModSearch и ключ DeepSeek для поиска не нужен.
Как добавить свой ключ Tavily или Exa?
Команда `modsearch config set tavily.apiKey` без значения спросит ключ со скрытым вводом, он попадет в `~/.modsearch/config.json` с правами 0600. Те же ключи можно передать переменными `TAVILY_API_KEY` и `EXA_API_KEY`, тогда на диск они не пишутся.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыСкилл веб-поиска без MCP-сервера: четыре клиента командной строки ищут по сети и 16 тематическим областям, пакетно и с извлечением страниц
Web Access
web-access
Скилл выхода в сеть: сам выбирает между поиском, загрузкой страницы и управлением вашим браузером через CDP
Скилл, который маршрутизирует вопрос к подходящей AI-платформе и через браузерную автоматизацию собирает ответ из ее родной поисковой выдачи
Консольный клиент Firecrawl со скиллами для агентов: поиск в сети, скрапинг, обход сайтов, карта URL, взаимодействие со страницами
open-webSearch
open-websearch
Поиск в сети без ключей API: сервер MCP, CLI и локальный демон. Работает разбором страниц поисковиков, поэтому может ломаться
Скилл поиска по Яндексу через Apify
claude-skill-yandex-search-api
Скилл для агента: полная выдача Яндекса в JSON без официального API-ключа через актор Apify Yandex Search Scraper
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| ModSearch (эта запись) | нет | 815 | ||
| open-webSearch | нет | не нужна | 1 872 | MCP-сервер, CLI и демон, который ищет разбором страниц поисковиков, без цепочки облачных движков и без поиска по X |
| AnySearch Skill | да | 6 747 | скилл веб-поиска с четырьмя клиентами командной строки и 16 тематическими областями | |
| ModLens | нет | 4 409 | скилл того же автора, который разбирает изображения, а не ищет в сети |
Коротко о README
В репозитории лежат таблица движков с бесплатными квотами и способами включения, пошаговая установка INSTALL.md, написанная для самого агента, и каталог docs с разделами про неполадки, безопасность и подключение к Codex, Claude Code, OpenCode и Pi. Контрольные сценарии в evals проверяют чтение страниц, защиту от обращений к локальным адресам и деградацию поиска по X. Есть журнал изменений и версия на китайском. Лицензия MIT.
Бейдж для README
Исходный SKILL.md
--- name: modsearch description: "Plug-in web search, X (Twitter) search, and page fetch for models without native web access. Use whenever the task needs current information, external facts, source links, posts from X, or the content of a specific URL, and the active model/harness has no native search or fetch tool. Runs the modsearch CLI to return structured JSON evidence. Also use when the user asks how to install or configure modsearch, or wants to switch engines or add a key." compatibility: Requires network access and one of node 22+/npx, bun/bunx, or a preinstalled modsearch binary on PATH. allowed-tools: Bash --- # ModSearch — Search & Fetch Bridge Skill Use this skill when: - The user asks about anything after your knowledge cutoff (releases, news, prices, versions) - The answer needs source links or verifiable external facts - The user asks what people are saying on X or Twitter (推特, 推文, tweets, threads) - The user gives a URL to read and the harness has no fetch tool - The user asks how to configure modsearch, add a key, or change engines Do not use this skill for: - Analyzing images (that is `modlens`) - Questions your own knowledge answers reliably and time does not affect - Searching inside DeepSeek Harness (dsh, `DSH_SHELL=1`): there modsearch runs as a plugin behind the native `web_search`. If dsh still answers from its default provider, the plugin is missing: point the user to Step 0 of INSTALL.md ## Prerequisites Run every modsearch command through the launcher bundled with this skill. Replace `<skill-dir>` with the directory this SKILL.md lives in: ```bash bash <skill-dir>/scripts/run.sh -q "test" # macOS / Linux powershell -ExecutionPolicy Bypass -File <skill-dir>\scripts\run.ps1 -q "test" # Windows ``` The launcher finds a working way to run modsearch and forwards your arguments to it unchanged. It tries, in order: a compatible `modsearch` already on `PATH`, then `npx`, then `bunx`. If none of those exists it prints a JSON diagnosis to stderr and exits 78, with a `nextSteps` list for the user. Relay those steps instead of retrying. To see the full diagnosis, run `bash <skill-dir>/scripts/run.sh doctor --json` (on a machine that can launch the CLI it also chains modsearch's own engine/config `doctor`). Nothing else needs setting up first: modsearch works with no config file. Web search and page fetch run out of the box on Firecrawl's keyless free quota (no signup, no key), and a configured engine or API key takes precedence when present. ### If you cannot run the launcher script Some harnesses forbid running scripts. Reason through the same order by hand and run the first line that works (the pinned version is 5.10.9): 1. A `modsearch` on `PATH` whose major version is 5 and is at least 5.10.9: `modsearch <args>`. 2. Otherwise, if `npx` exists: `npx --yes --package @liustack/modsearch@5.10.9 modsearch <args>`.