NLWeb is a natural language search system that provides intelligent query processing, multi-source retrieval, and AI-powered response generation.
- systemmap.md - System architecture, APIs, data structures, and query flow
- codingrules.md - Code structure, naming conventions, and edge-case handling
- userworkflow.md - UX flows, user paths, and failure states
Backend: Python-based server in code/python/ with main entry at webserver/WebServer.py
Frontend: Modern JavaScript UI in static/ with main interface at fp-chat-interface.js
- Natural language query processing
- Multiple search modes (list, summarize, generate)
- Real-time streaming responses
- OAuth authentication (Google, Facebook, Microsoft, GitHub)
- Multi-turn conversations with context
- Support for multiple vector databases and LLM providers
- Generate mode bug was caused by merge conflicts in fp-chat-interface.js (now fixed)
- The nlws message handler properly renders AI-generated responses
- Frontend uses ES6 modules with separation of concerns
- Backend uses async Python with streaming support
- Configuration via YAML files in config directory
- Extensive error handling and retry logic throughout