Getting Started
This guide walks you through installing, configuring, and using HALO Core for the first time.
Prerequisites
Before running HALO Core, make sure you have:
- Python 3.10+ (3.11 recommended)
- FFmpeg — required for audio/video transcription
- OpenAI API key — for full AI features
- Optional: Node/npm for frontend tooling
Installation
1. Create Virtual Environment
python -m venv .venv
. .venv/Scripts/activate # Windows PowerShell
# or
source .venv/bin/activate # Linux/macOS
2. Install Dependencies
pip install --upgrade pip
pip install -r requirements.txt
3. Configure Secrets
Create .streamlit/secrets.toml:
OPENAI_API_KEY = "sk-..."
Additional optional keys:
# For memory backend
HALO_AGENT_DB = "sqlite:///data/memory.db"
# For custom data directory
HALO_DATA_DIR = "data"
Running the App
streamlit run app/main.py
The app opens in your browser at http://localhost:8501.
First-Use Flow
Follow these steps for your first successful workflow:
Step 1: Add Sources
- Open Sources panel (left column)
- Click + Quellen hinzufügen
- Upload one or more files (PDF, DOCX, TXT, MD, CSV, XLSX, PPTX, images, audio, video)
- Wait for ingestion to complete
Step 2: Select Sources
- Mark sources via checkboxes
- Or use "select all" for bulk selection
Step 3: Ask a Question
- Open Chat panel (center column)
- Enter a prompt in the text input
- Optionally attach an image or record audio
- Press Enter or click Send
Step 4: Review the Answer
- The response appears in the chat area
- Expand Agent Actions or Tool Calls for details
- Check source citations if applicable
Step 5: Save as Note
- Click In Notiz speichern below the response
- The note appears in the Notes section
Step 6: Generate Output
- Open Studio panel (right column)
- Choose a template (e.g., Bericht)
- Click the generate button
- Review the output in Studio-Ergebnisse
Expected Result
You now have a complete source-to-output workflow:
- ✅ Sources imported and selected
- ✅ Question asked and answered
- ✅ Answer saved as note
- ✅ Structured output generated
Account and Identity
There is no mandatory account sign-up in the UI:
- Default user identity is
local-user - Advanced users can set a custom
user_idin configuration - Memory backend enables persistent user memory across sessions