AI-Powered Documentation Assistant for OpenClaw - Get instant, intelligent answers about OpenClaw features, installation, configuration, and troubleshooting.
- 🧠 RAG-Powered Q&A - Retrieval-Augmented Generation for accurate, context-aware answers
- ⚡ Instant Responses - Pre-built embeddings for lightning-fast query processing
- 🎯 Source Attribution - See exactly which documentation pages inform each answer
- 💬 Chat Interface - Natural conversation with chat history
- 🔍 Semantic Search - Find relevant information even with imprecise queries
- 📱 Responsive Design - Works beautifully on desktop and mobile
- LLM: Google Gemini 2.0 Flash
- Embeddings: Gemini Embedding 001
- Vector Database: ChromaDB
- Frontend: Streamlit
- Framework: LangChain
- Python 3.9+
- Gemini API Key (Get one here)
-
Clone the repository
git clone https://github.com/yourusername/ClawGPT-.git cd ClawGPT- -
Create virtual environment
python -m venv venv # Windows venv\Scripts\activate # macOS/Linux source venv/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Configure environment
cp .env.example .env # Edit .env and add your GEMINI_API_KEY -
Generate embeddings (one-time setup)
python create_embeddings.py
-
Run the application
streamlit run app.py
Visit http://localhost:8501 to start chatting!
ClawGPT/
├── app.py # Main Streamlit application
├── create_embeddings.py # Script to generate vector embeddings
├── requirements.txt # Python dependencies
├── .env # Environment variables (not tracked)
├── .env.example # Environment template
├── .gitignore # Git ignore rules
├── assets/ # Static assets
│ └── logo.png # Application logo
├── pdfs/ # OpenClaw documentation (markdown files)
├── chroma_db/ # Vector store (generated)
└── README.md # This file
| Variable | Description | Required |
|---|---|---|
GEMINI_API_KEY |
Google Gemini API key | Yes |
- Adjust context chunks: Use the sidebar slider (3-10)
- Toggle sources: Show/hide source documents
- Add logo: Place your logo at
assets/logo.png
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ User Query │───▶│ Semantic Search │───▶│ Relevant Chunks │
└─────────────────┘ │ (ChromaDB) │ └────────┬────────┘
└──────────────────┘ │
▼
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Response │◀───│ Gemini 2.0 │◀───│ Context + Query│
└─────────────────┘ │ Flash │ └─────────────────┘
└──────────────────┘
- Document Processing: Markdown files are loaded and split into chunks
- Embedding Generation: Each chunk is converted to a vector using Gemini Embedding
- Vector Storage: Embeddings are stored in ChromaDB for fast retrieval
- Query Processing: User questions are embedded and matched against stored vectors
- Response Generation: Relevant chunks + query are sent to Gemini 2.0 Flash for response
- Push to GitHub
- Connect to Streamlit Cloud
- Add
GEMINI_API_KEYto secrets - Deploy!
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["streamlit", "run", "app.py", "--server.port=8501"]ClawGPT is optimized for search engines with:
- Semantic HTML structure
- OpenGraph meta tags
- Twitter Card support
- Descriptive page titles
- Canonical URLs
Contributions are welcome! Please feel free to submit a Pull Request.
This project is for educational purposes.
Made with ❤️ | Powered by Google Gemini 2.0
