- Your websearch talking buddy with memory
-
Chat normally - The assistant will decide if it needs to search
-
/exitorquit- Exit the application -
/clear- Clear conversation memory -
/undo- -
/export- -
/import- -
/stats- -
/research- -
/listen- 2-way talking option (experimental)
Answers:
- Math and coding questions
- Historical facts and timeless knowledge
- Questions about the conversation itself
Searches:
- Questions about current events, news, or real-time info
- Information that could be outdated (games, products, recent activities)
- Uncertain about accuracy
source .venv/bin/activate
python main.py- Andrew Kidoo - https://github.com/kustomzone
- Colin Urban - https://github.com/colinurbs
- 🔄 Streaming Responses - See tokens generated in real-time
- 🧠 LLM-Driven Search - Qwen2.5-3B decides when to search the web
- 🌐 Real Web Scraping - Fetches actual page content with BeautifulSoup
- 💾 Persistent Memory - SQLite database remembers conversations
- 📚 Source Citations - Shows URLs when search was used
- 🎨 Rich CLI - Beautiful terminal UI with markdown rendering
- ⚡ Local Execution - No API keys, runs via llama-cpp-python
See requirements.txt:
- llama-cpp-python (local model execution)
- huggingface_hub (model downloads)
- ddgs (web search)
- rich (terminal UI)
- beautifulsoup4 (HTML parsing)
- requests (HTTP requests)
- Model: Qwen2.5-3B-Instruct (GGUF Q4_K_M, ~2GB)
- Context: 4096 tokens
- Search: DuckDuckGo + requests + BeautifulSoup
- Memory: SQLite (last 10 messages)
- UI: Rich library with live updates
- Configuration file - Customize model, search count, temperature
- Conversation export - Save/load chat histories to JSON
- Context summarization - Compress old messages when limit reached
- Undo command -
/undoto remove last exchange - Token counter - Display context window usage
- Multi-query search - Try alternative queries if results are poor
- Better error handling - Graceful network/model failure recovery
- Timestamps - Track message timing in database
- Search history - Remember what searches worked well
- Configurable streaming - Toggle streaming on/off
