dsh-firecrawl
Провайдеры веб-поиска и загрузки страниц Firecrawl для харнесса DeepSeek Harness. Плагин регистрирует два провайдера в шов ctx.web (@deepseek-ai/dsh-web), так что штатные инструменты web_search и web_fetch начинают работать через Firecrawl: поиск отдаёт свежие источники, а загрузка - чистый markdown любой страницы (документация читается отлично).
Как это устроено
Один серверный плагин (lib/index.js, inject: ["web"]):
| Провайдер | id | Endpoint | Маппинг |
|---|---|---|---|
| Поиск | firecrawl |
POST /v2/search |
data.web (+data.news) → sources[]: url, title, snippet из description, publishedAt |
| Загрузка | firecrawl-fetch |
POST /v2/scrape c formats:["markdown"] |
data.markdown → body {kind:"text"} с обрезкой на 200 000 символов |
Патч cordis.patch.yml вставляет строку плагина в ростер, переключает выбор шва на новые провайдеры (searchProvider/fetchProvider) и включает fetch у tool-web.
Конфигурация
| Ключ | По умолчанию | Значение |
|---|---|---|
apiKeyEnv |
FIRECRAWL_API_KEY |
Имя переменной окружения с ключом |
apiKey |
нет | Литеральный ключ (приоритетнее env); не оставляйте в публичных патчах |
baseURL |
https://api.firecrawl.dev |
База API; для self-hosted укажите свой адрес |
searchLimit |
8 |
Сколько источников запрашивает один поиск (1-20) |
timeoutMs |
60000 |
Бюджет одного вызова |
Ключ не обязателен: Firecrawl обслуживает анонимный трафик с низкими лимитами. Для серьёзной работы получите бесплатный ключ на firecrawl.dev и положите в переменную окружения FIRECRAWL_API_KEY перед стартом профиля.
Подключение
dsh plugin --profile web add --save link:/путь/к/dsh-firecrawl
и добавить "dsh-firecrawl" последним в список dsh.profile.bundles (патч должен примениться после слоя @deepseek-ai/dsh-web-app). Затем перезапустить профиль.
Известные ограничения
- Шов выбирает один провайдер на возможность: после включения поиск идёт через Firecrawl, провайдер DeepSeek остаётся зарегистрированным, но не выбирается.
- PDF-страницы шов пока не поддерживает (закрытый union
WebFetchBodyбезpdf).
No comments yet. Be the first to write one.