A complete Linux/macOS setup for IncognitoAI with both Streamlit and Flask-based Cyberpunk interfaces.
setup.sh- Automated Linux setup script (run this first!)start.sh- Launch Streamlit versionbot.sh- Launch Flask Cyberpunk versionbot.py- Flask-based cyberpunk AI interfacetemplates/- HTML templates for Flask appstatic/- CSS and JavaScript for Flask app
cd IncognitoAI/linux
chmod +x setup.sh
./setup.shThe setup script will:
- β Check/install Python 3.8+
- β Create virtual environment
- β Install all Python dependencies
- β Check/install Ollama
- β Verify Ollama models
# Navigate to linux directory
cd IncognitoAI/linux
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install --upgrade pip
pip install -r ../requirements.txt
# Pull AI models
ollama pull llama3.2:1b
ollama pull all-minilm- Linux/macOS (Ubuntu 20.04+, Debian, Fedora, macOS 10.14+, etc.)
- Python 3.8+
- Ollama (installed automatically or manually)
- Internet connection (for initial model download only)
The setup script will auto-install:
python3- Python interpreterpython3-pip- Python package managerpython3-venv- Virtual environment toolcurl- For downloading Ollama
ollama serveYou should see: Listening on 127.0.0.1:11434
Streamlit Version (Clean Web UI):
cd IncognitoAI/linux
chmod +x start.sh
./start.sh- Opens at
http://localhost:8501 - Clean, simple interface
- Perfect for getting started
Flask Cyberpunk Version (Modern Neon UI):
cd IncognitoAI/linux
chmod +x bot.sh
./bot.sh- Opens at
http://localhost:5000 - Dark neon cyberpunk aesthetic
- Modern, sleek design
- RAG mode toggle
The setup script handles this for you.
Linux:
curl -fsSL https://ollama.ai/install.sh | shmacOS:
# Download from https://ollama.ai/download/mac
# Or use Homebrew
brew install ollamaThen start Ollama:
ollama serve- Start both Ollama and IncognitoAI (see above)
- Upload a document:
- Supported formats: PDF, TXT, Markdown
- Enable RAG Mode in the UI
- Ask questions about your document
The AI will use your documents for context-aware responses.
- "Summarize this document"
- "What are the main points?"
- "Find information about [topic]"
The bot.py Flask app includes:
- π Modern web interface with WebSocket support
- π Dark neon cyberpunk aesthetic
- β‘ Real-time streaming responses
- π Document upload (RAG integration)
- π RAG mode toggle
- π’ Live system status indicator
- π± Responsive design for mobile/tablet
- π― Command-line style chat UI
Solution 1: Install Ollama manually
curl -fsSL https://ollama.ai/install.sh | shSolution 2: Make sure Ollama is running in another terminal
ollama serve# Ubuntu/Debian
sudo apt-get update
sudo apt-get install python3 python3-pip
# macOS
brew install python@3.11chmod +x setup.sh start.sh bot.sh# Run on a different port
streamlit run ../app.py --server.port 8502Edit bot.py and change the port (search for app.run):
app.run(debug=True, host='0.0.0.0', port=5001)Pull models manually:
ollama pull llama3.2:1b
ollama pull all-minilmRun setup again:
./setup.shEdit bot.py (lines 10-12):
MODEL_NAME = "llama2:7b" # Change to your model
EMBEDDING_MODEL = "nomic-embed-text" # Change to your embedding modelView available models:
ollama list
ollama pull [model-name]Edit bot.py (bottom of file, look for app.run):
app.run(debug=True, host='0.0.0.0', port=5000) # Change 5000 to desired portEdit or create ~/.streamlit/config.toml:
[server]
port = 8502- β 100% Offline - No data leaves your computer
- β Zero Telemetry - No tracking or analytics
- β Open Source - Transparent and auditable code
- β
Local Storage - All data stored locally in
.chroma_db/ - β No Registration - Works without any account
Key Python packages:
flask- Web frameworkstreamlit- UI frameworklangchain- AI orchestrationlangchain-ollama- Ollama integrationchromadb- Vector database for RAGrequests- HTTP clientpypdf- PDF parsing
See ../requirements.txt for complete list.
-
Two Terminals:
- Terminal 1:
ollama serve(keep running) - Terminal 2:
./start.shor./bot.sh
- Terminal 1:
-
Run Both UIs:
- Terminal 1:
ollama serve - Terminal 2:
./start.sh(port 8501) - Terminal 3:
./bot.sh(port 5000) - They share the same AI models and vector database
- Terminal 1:
-
Use RAG Mode for Best Results:
- Upload documents first
- Enable RAG mode
- Ask specific questions about your documents
-
Performance Tips:
- Use
llama3.2:1b(fast and efficient) - For more power, try
llama2:7b(requires more RAM) - All-MiniLM embedding model is fast
- Use
-
Document Types Supported:
.pdf- PDF files.txt- Plain text.md- Markdown files
-
Customize the UI:
- Modify
static/bot.cssfor Cyberpunk colors - Edit
templates/bot.htmlfor layout changes
- Modify
-
Add Custom Features:
- Edit
bot.pyto add endpoints - Modify
app.pyfor Streamlit features
- Edit
-
Try Different Models:
ollama pull mistral:latest ollama pull neural-chat:latest
-
Improve RAG:
- Upload large document sets
- Ask questions about complex topics
- Use specific terminology
- Check logs in terminal output
- Verify Ollama is running:
curl http://localhost:11434 - Rerun setup:
./setup.sh - Check GitHub issues
- Ollama: https://ollama.ai
- Streamlit: https://streamlit.io
- Flask: https://flask.palletsprojects.com
- LangChain: https://python.langchain.com
- ChromaDB: https://www.trychroma.com
- GitHub: https://github.com/code-glitchers/IncognitoAI
- Issues: https://github.com/code-glitchers/IncognitoAI/issues
MIT License - See ../LICENSE.md for details
π Enjoy your private, offline AI assistant! π