[PR #28337] feat: add maxDiscoveryDepth and crawlEntireDomain for Firecrawl #32017

Open
opened 2026-02-21 20:50:35 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/28337

State: open
Merged: No


Important

  1. Make sure you have read our contribution guidelines
  2. Ensure there is an associated issue and you have been assigned to it
  3. Use the correct syntax to link this PR: Fixes #<issue number>.

Summary

This PR adds support for maxDiscoveryDepth and crawlEntireDomain parameters in the Firecrawl crawler integration, aligning with the official Firecrawl API v2 specification.

Changes:

  • Added crawl_entire_domain option to CrawlOptions dataclass
  • Implemented maxDiscoveryDepth parameter mapping from existing max_depth field
  • Added crawlEntireDomain parameter support when the option is enabled
  • Added UI checkbox control for "Crawl entire domain" option in Firecrawl settings
  • Added i18n translations (English and Chinese) for the new option
  • Updated default crawl options to include crawl_entire_domain: false

Technical Details:

  • Backend: Modified website_service.py to pass maxDiscoveryDepth and crawlEntireDomain to Firecrawl API when appropriate
  • Frontend: Updated CrawlOptions type, added UI component, and updated default values

Screenshots

Before After
No option for crawling entire domain Added "Crawl entire domain" checkbox in Firecrawl options
max_depth not passed to Firecrawl API max_depth now correctly mapped to maxDiscoveryDepth

Checklist

  • This change requires a documentation update, included: Dify Document

  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)

  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.

  • I've updated the documentation accordingly.

  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods

**Original Pull Request:** https://github.com/langgenius/dify/pull/28337 **State:** open **Merged:** No --- > [!IMPORTANT] > > 1. Make sure you have read our [contribution guidelines](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) > 1. Ensure there is an associated issue and you have been assigned to it > 1. Use the correct syntax to link this PR: `Fixes #<issue number>`. ## Summary This PR adds support for `maxDiscoveryDepth` and `crawlEntireDomain` parameters in the Firecrawl crawler integration, aligning with the official Firecrawl API v2 specification. **Changes:** - Added `crawl_entire_domain` option to `CrawlOptions` dataclass - Implemented `maxDiscoveryDepth` parameter mapping from existing `max_depth` field - Added `crawlEntireDomain` parameter support when the option is enabled - Added UI checkbox control for "Crawl entire domain" option in Firecrawl settings - Added i18n translations (English and Chinese) for the new option - Updated default crawl options to include `crawl_entire_domain: false` **Technical Details:** - Backend: Modified `website_service.py` to pass `maxDiscoveryDepth` and `crawlEntireDomain` to Firecrawl API when appropriate - Frontend: Updated `CrawlOptions` type, added UI component, and updated default values ## Screenshots | Before | After | |--------|-------| | No option for crawling entire domain | Added "Crawl entire domain" checkbox in Firecrawl options | | `max_depth` not passed to Firecrawl API | `max_depth` now correctly mapped to `maxDiscoveryDepth` | ## Checklist - [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [ ] I've updated the documentation accordingly. - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:50:35 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#32017