15 Commits

Author SHA1 Message Date
Johan Holm
59a92257be Merge branch 'main' of https://github.com/a-holm/OpenManus into fix-for-search-rate-limits 2025-03-19 10:50:25 +01:00
liangxinbing
402355533c format code 2025-03-19 13:24:49 +08:00
via
b9fdade6e4 Apply black and isort formatting 2025-03-19 09:15:51 +08:00
via
47adb33bd9 Apply black and isort formatting 2025-03-19 09:13:47 +08:00
Johan Holm
c7858c2eb4 Make sure to only include fallback search engines 2025-03-18 09:53:30 +01:00
via
b95244a60b add bing search 2025-03-18 15:40:25 +08:00
Johan Holm
9fa12e594c update from pre-commit 2025-03-17 11:05:03 +01:00
Johan Holm
711c2805e4 feat(search): Add robust fallback system with configurable retries and enhanced error handling
- Implement multi-engine failover system with configurable fallback order
    - Add retry logic with exponential backoff and rate limit detection
    - Introduce search configuration options:
      * fallback_engines: Ordered list of backup search providers
      * retry_delay: Seconds between retry batches (default: 60)
      * max_retries: Maximum system-wide retry attempts (default: 3)
    - Improve error resilience with:
      - Automatic engine switching on 429/Too Many Requests
      - Full system retries after configurable cooldown periods
      - Detailed logging for diagnostics and monitoring
    - Enhance engine prioritization logic:
      1. Primary configured engine
      2. Configured fallback engines
      3. Remaining available engines

    Example configuration:
    [search]
    engine = "Google"
    fallback_engines = ["DuckDuckGo", "Baidu"]  # Cascading fallback order
    retry_delay = 60                            # 1 minute between retry batches
    max_retries = 3                             # Attempt 3 full system retries

    This addresses critical reliability issues by:
    - Preventing search failures due to single-engine rate limits
    - Enabling recovery from transient network errors
    - Providing operational flexibility through configurable parameters
    - Improving visibility through granular logging (INFO/WARN/ERROR)
2025-03-17 10:43:42 +01:00
liangxinbing
5e35f01ea8 format code 2025-03-16 12:57:06 +08:00
Caique Minhare [Cake]
6ea5a4d1ef
Merge branch 'main' into refactor/web-search-tool 2025-03-14 15:04:55 -03:00
liangxinbing
9c7834eff2 update readme; format code; update config.example.toml 2025-03-14 12:20:59 +08:00
ca-ke
cba275d405 refactor: enhance web search functionality with engine fallback and retry mechanism 2025-03-13 14:17:57 -03:00
Kingtous
2b9ef4ea08 fix: perform search on query 2025-03-13 09:10:14 +08:00
Kingtous
86d2a7d6bf feat: implement duckduckgo search, abstract further 2025-03-13 09:05:14 +08:00
Kingtous
b7774b18ef opt: abstract web search interface, code cleanup 2025-03-13 08:31:40 +08:00