AI-powered advisory council for executive decision-making.
A multi-persona AI advisory system that routes your questions to domain-specific AI advisors, each with specialized knowledge and perspective. Think of it as having a panel of experts on-call: a tech strategist, business analyst, creative director, and more.
- 🎯 Smart Routing — Questions automatically routed to the most relevant advisor
- 🧠 RAG-Enhanced — Each advisor has domain-specific knowledge bases
- 🗣️ Voice Support — Ask questions via voice (ElevenLabs TTS responses)
- 🔌 REST API — Integrate with any frontend or workflow
- 🌐 Web Interface — Interactive web dashboard included
┌─────────────────────────────────────────────────────────────┐
│ Input (Text/Voice) │
└─────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Router (src/router.py) │
│ - Analyzes query intent │
│ - Selects primary + optional secondary advisor │
│ - Uses semantic similarity for routing │
└─────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Advisor Runner (src/advisor_runner.py) │
│ - Retrieves relevant context via RAG │
│ - Generates response using advisor persona │
│ - Streams or returns complete response │
└─────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Output (Text + Optional TTS) │
└─────────────────────────────────────────────────────────────┘
- Python 3.10+
- OpenAI API key
- ElevenLabs API key (optional, for voice)
# Clone the repo
git clone https://github.com/Cato-Pine/daily-advisor-panel.git
cd daily-advisor-panel
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Configure environment
cp .env.example .env
# Edit .env with your API keysuvicorn src.api:app --reload --port 8000cd web
python -m http.server 3000
# Open http://localhost:3000| Endpoint | Method | Description |
|---|---|---|
/ |
GET | Health check |
/advisors |
GET | List available advisors |
/consult |
POST | Ask a question (auto-routed) |
/consult/{advisor_id} |
POST | Ask a specific advisor |
curl -X POST http://localhost:8000/consult \
-H "Content-Type: application/json" \
-d '{"query": "Should I use microservices or a monolith?"}'{
"routing": {
"primary": "tech_strategist",
"secondary": "business_analyst",
"confidence": 0.92
},
"primary": {
"advisor_id": "tech_strategist",
"advisor_name": "Tech Strategist",
"content": "For your situation, I'd recommend...",
"sources": ["architecture-patterns.md", "scaling-guide.md"]
}
}The panel includes specialized advisors (see advisors/ for configurations):
- Tech Strategist — Software architecture, technical decisions
- Business Analyst — Market analysis, business strategy
- Creative Director — Design, branding, user experience
- Operations Expert — Process optimization, efficiency
- Security Advisor — Risk assessment, compliance
| Variable | Required | Description |
|---|---|---|
OPENAI_API_KEY |
Yes | OpenAI API key |
OPENAI_MODEL |
No | Model to use (default: gpt-4o) |
ELEVENLABS_API_KEY |
No | ElevenLabs API key (for TTS) |
Create a new YAML file in advisors/:
id: custom_advisor
name: Custom Advisor
description: Expertise description
system_prompt: |
You are a [role] with expertise in [domain].
...
knowledge_base:
- path/to/docs/src/
api.py — FastAPI server
panel.py — Main advisory panel orchestration
router.py — Query routing logic
advisor_runner.py — Individual advisor execution
advisors.py — Advisor definitions
rag_engine.py — RAG retrieval system
voice.py — ElevenLabs TTS integration
config.py — Configuration management
advisors/ — Advisor configurations
data/ — Knowledge base documents
web/ — Web frontend
tests/ — Test suite
# Run tests
pytest tests/ -v
# Type checking
mypy src/
# Format code
black src/ tests/MIT