Bundle
dsh-firecrawl
Firecrawl web providers for DeepSeek Harness: search the web and scrape pages to clean markdown through ctx.web
- Source
- Lorodn4x
- License
- MIT
- Updated
- Updated 2 days ago
Readme
# dsh-firecrawl
Провайдеры веб-поиска и загрузки страниц [Firecrawl](https://firecrawl.dev) для харнесса 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` перед стартом профиля.
## Подключение
```sh
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`).
Install
dsh plugin --profile web add github:Lorodn4x/dsh-firecrawl
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-firecrawl from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.