# dsh-firecrawl

> [Firecrawl](https://github.com/firecrawl/firecrawl) bridge for DeepSeek Harness: scrape URLs to LLM-ready Markdown and search the web — through the Firecrawl Cloud API.

[![CI](https://github.com/zoahdev/dsh-firecrawl/actions/workflows/ci.yml/badge.svg)](https://github.com/zoahdev/dsh-firecrawl/actions)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

English | [中文](#中文)

## Tools

| Tool | What it does |
| --- | --- |
| `firecrawl_scrape` | Scrape a URL and return LLM-ready Markdown (handles JS-heavy pages). |
| `firecrawl_search` | Search the web and return page content from results. |

## Install

```sh
dsh plugin --profile web add dsh-firecrawl
```

Set your Firecrawl API key via config `apiKey` or the `FIRECRAWL_API_KEY` env var.

## Config

| Key | Type | Default | Description |
| --- | --- | --- | --- |
| `apiKey` | string | *(env)* | Firecrawl API key (`fc-...`) |
| `baseUrl` | string | `https://api.firecrawl.dev` | Cloud API base URL |
| `timeoutMs` | number | `120000` | Request timeout |

## Verified

- `pnpm typecheck` · `pnpm build` · `pnpm test` (4 tests, mocked HTTP).
- Tested with `@deepseek-ai/dsh-tools ^0.1.0-rc.6`.

## Honest limits

- Cloud-API bridge; needs a Firecrawl API key.
- Returns the raw response; does not stream or poll for completion.
- Community plugin, not an official Firecrawl or DeepSeek product.

---

# 中文

> 给 DeepSeek Harness 的 Firecrawl 桥接：把 URL 抓取成 LLM 可直接用的 Markdown，
> 或搜索网页并返回结果内容——通过 Firecrawl Cloud API。

注册两个工具：`firecrawl_scrape`（抓取 URL）和 `firecrawl_search`（搜索网页）。

```sh
dsh plugin --profile web add dsh-firecrawl
```

需要配置 Firecrawl API key（`apiKey` 配置项，或环境变量 `FIRECRAWL_API_KEY`）。
