Skip to content
dsh.fish
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

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source