mirror of
https://github.com/lfnovo/open-notebook.git
synced 2026-07-25 07:36:30 +00:00
* feat(sources): add Crawl4AI URL engine and honor persisted engine settings (#432) - Add "crawl4ai" as a selectable URL processing engine (domain Literal, settings API validation, SettingsForm select, and label across all 14 locales; urlHelp updated in en-US to describe the new fallback chain). - The source graph now loads the persisted ContentSettings and passes the document/URL engine choices to ContentCoreConfig. Previously it built a hard-coded ContentSettings with "auto" engines, so a user's selection in Settings never took effect. Falls back to defaults if settings can't load. - Crawl4AI Docker mode is driven by content-core's native CRAWL4AI_API_URL env var (documented separately under #1105). Part of #939. * fix(432): bundle Crawl4AI runtime + address review - Bundle the Crawl4AI runtime so its local, no-API-key mode works out of the box: depend on content-core[crawl4ai] and install the Chromium browser via playwright in the Docker runtime-base (both image variants). Footprint is modest (no torch/transformers/CUDA); image grows ~300 MB from Chromium + system libs. - Preserve the server-side traceback when persisted content settings fail to load (logger.opt(exception=True)) instead of only the message. - Reset the ContentSettings singleton between domain tests (clear_instance) so a non-default value can't leak into neighboring tests. Addresses review on #432. * i18n(432): translate urlHelp Crawl4AI description across all 13 non-en locales The Crawl4AI engine label was already localized; this brings the URL-engine 'help me choose' text in line with en-US in every locale — describing Crawl4AI (local JS rendering, no API key) and its place in the auto fallback chain (Firecrawl -> Jina -> Crawl4AI -> simple). |
||
|---|---|---|
| .. | ||
| conftest.py | ||
| README.md | ||
| test_add_insight_failure_propagation.py | ||
| test_chat_routers_characterization.py | ||
| test_chunking.py | ||
| test_config_endpoint_no_leak.py | ||
| test_connection_test_classification.py | ||
| test_context_endpoint_characterization.py | ||
| test_cors_credentials.py | ||
| test_credential_provider_validation.py | ||
| test_credentials_api.py | ||
| test_crud_404.py | ||
| test_domain.py | ||
| test_embedding.py | ||
| test_error_message_sanitization.py | ||
| test_graphs.py | ||
| test_insight_timestamps.py | ||
| test_max_body_size_middleware.py | ||
| test_model_discovery.py | ||
| test_models_api.py | ||
| test_note_save_embed_resilience.py | ||
| test_notes_api.py | ||
| test_order_by_validation.py | ||
| test_podcast_audio_containment.py | ||
| test_podcast_audio_paths.py | ||
| test_podcast_episode_model_resolution.py | ||
| test_podcast_job_status_batching.py | ||
| test_podcast_legacy_field_removal.py | ||
| test_podcast_path.py | ||
| test_podcast_speaker_profile.py | ||
| test_recently_viewed_api.py | ||
| test_repository_config.py | ||
| test_search_api.py | ||
| test_source_create_array_limits.py | ||
| test_source_path_containment.py | ||
| test_sources_api.py | ||
| test_startup_migration_retry.py | ||
| test_transformations_api.py | ||
| test_typed_exceptions_reach_handlers.py | ||
| test_upload_toctou_race.py | ||
| test_upload_type_mitigations.py | ||
| test_url_validation.py | ||
| test_utils.py | ||
| test_vertex_credentials_file_oracle.py | ||
Coming Soon