Feature Proposal: Enhanced Web Search (#2)#161
Conversation
- Fix SerpAPI error (paid service, not free) - Add Brave Search API as primary (reliable JSON API) - Add LRU cache with max 1000 entries and size limits - Add template-aware TTL (pricing 7d, errors 12h, docs 24h, general 1h) - Add errors template to config example - Add date_range limitations note (Google/Bing only) - Add performance testing and memory usage targets - Add risks: E3 HTML fragility and rate limiting - Include brave-api.org in references - Add revision history section - Fix architecture diagram indentation - Update engine priority order in config
Changes Made (v1.1)All issues from the deep review have been addressed: Fixed Issues
Summary of Technical Changes
Ready for community feedback and approval! 🎯 |
- Fixed typo: 'freequeries' -> 'free queries' spacing - Corrected internal entity references (E3 -> E1) - Unified engine configuration (removed redundant engineOrder) - Made response limits consistent (default 15 both places) - Added 'general' template to config example - Resolved Open Question #3 (marked as RESOLVED) - Clarified cache storage (file + in-memory LRU) - Clarified extract_content limits (first 5KB) - Updated revision history to v1.2
Version 1.2 - Final Fixes Applied (✅ READY FOR APPROVAL)All 8 remaining issues from the deep review have been fixed: Fixes Summary
Final Proposal Status
This proposal is production-ready and addresses all identified issues! 🎯 |
* docs: add feature proposal for #2 enhanced web search * docs: fix web search proposal issues (#161) - Fix SerpAPI error (paid service, not free) - Add Brave Search API as primary (reliable JSON API) - Add LRU cache with max 1000 entries and size limits - Add template-aware TTL (pricing 7d, errors 12h, docs 24h, general 1h) - Add errors template to config example - Add date_range limitations note (Google/Bing only) - Add performance testing and memory usage targets - Add risks: E3 HTML fragility and rate limiting - Include brave-api.org in references - Add revision history section - Fix architecture diagram indentation - Update engine priority order in config * docs: apply v1.2 fixes to web search proposal (#161) - Fixed typo: 'freequeries' -> 'free queries' spacing - Corrected internal entity references (E3 -> E1) - Unified engine configuration (removed redundant engineOrder) - Made response limits consistent (default 15 both places) - Added 'general' template to config example - Resolved Open Question #3 (marked as RESOLVED) - Clarified cache storage (file + in-memory LRU) - Clarified extract_content limits (first 5KB) - Updated revision history to v1.2 * docs: fix final version inconsistency (v1.1 -> v1.2) * feat: implement enhanced web search multi-engine support Phase 1: Multi-engine foundation with caching and fallback **Features implemented:** - Multi-engine architecture (Brave, Google, Bing, DuckDuckGo) - LRU cache with max 1000 entries and TTL support - Enhanced configuration system with web search settings - Plugin-based engine registry with automatic fallback - Updated tool registration with backward compatibility **Engine priority:** Brave (recommended) > Google > Bing > DuckDuckGo (fallback) **Configuration:** Support for API keys via .env file **Documentation:** Comprehensive API key guide and setup instructions **Ready for testing:** Users can configure multiple search engines for improved reliability and result quality Wingman: Codi <codi@layne.pro> * fix: duckduckgo engine source handling and test assertion * feat: add timeout configuration for search engines - Add configurable timeout via AbortSignal.timeout() - Default timeout is undefined (no limit) for flexibility - Can be configured via WebSearchConfig.timeout (milliseconds) - Applied to all 4 engines: Brave, Google, Bing, DuckDuckGo
Feature Proposal: Enhanced Web Search (#2)
This PR adds a comprehensive proposal for enhancing Codi's web search capabilities.
Overview
The proposal documents current limitations and provides a phased implementation plan for:
Key Features Proposed
Implementation Plan
Reference
See evolution/#2-enhanced-web-search.md for full details.