π£οΈ An AI-powered communication assistant for people with severe physical disabilities
Kompan enables communication through simple YES/NO responses using scanning interface, Polish text-to-speech, and AI conversation management.
- π Scanning Interface: Large YES/NO buttons with configurable timing
- π΅ Polish TTS: Multi-engine support (Edge TTS, Google TTS, pyttsx3)
- π€ AI Conversations: Claude AI integration with offline fallbacks
- π± Web Interface: Responsive design, works on any device
- βοΈ Configurable: Adjustable scanning speed, TTS engine selection
- πΎ Session Logging: Conversation history for caregivers
- π³ Containerized: Easy deployment with Docker
- Docker installed and running
- Windows, macOS, or Linux system
Linux/macOS:
git clone https://github.com/your-repo/kompan.git
cd kompan
./install.shWindows:
git clone https://github.com/your-repo/kompan.git
cd kompan
install.batAfter installation, you'll have these commands:
# Linux/macOS
~/kompan/start-kompan.sh
# Windows
%USERPROFILE%\kompan\start-kompan.bat# Linux/macOS
~/kompan/stop-kompan.sh
# Windows
%USERPROFILE%\kompan\stop-kompan.bat# Linux/macOS
~/kompan/logs-kompan.sh
# Windows
%USERPROFILE%\kompan\logs-kompan.bat- Open your browser to
http://localhost:8080 - Click anywhere to start a conversation
- Wait for scanning to highlight YES or NO
- Click again when your choice is highlighted
- Listen to the AI's response and continue
- Pause: Pause/resume scanning
- Restart: Start a new conversation
- Settings: Adjust scanning speed and TTS engine
Edit your settings file:
- Linux/macOS:
~/kompan/config/settings.json - Windows:
%USERPROFILE%\kompan\config\settings.json
{
"scanning_interval": 2.0, // Seconds between YES/NO highlights
"tts_engine": "auto", // "auto", "edge_tts", "gtts", "pyttsx3"
"language": "pl", // Language (Polish)
"claude_api_key": "", // Your Claude API key (optional)
"gui_port": 8080, // Web interface port
"api_port": 8081 // API port
}- Get API key from Anthropic Console
- Edit
settings.jsonand add your key toclaude_api_key - Restart Kompan
Without Claude API key: Uses offline conversation patterns.
For external applications:
GET /health- Health checkGET /api/settings- Get current settingsPOST /api/settings- Update settingsPOST /api/conversation/start- Start new conversationPOST /api/respond- Send YES/NO responseGET /api/conversation/summary- Get conversation summaryWebSocket /ws- Real-time communication
kompan/
βββ src/
β βββ main.py # FastAPI application
β βββ gui/ # Web interface (HTML/CSS/JS)
β βββ tts/ # Text-to-speech engines
β βββ ai/ # Claude AI integration
β βββ conversation/ # Session management
β βββ api/ # API endpoints
βββ config/
β βββ settings.json # Configuration
βββ data/ # Conversation logs
βββ Dockerfile # Container setup
βββ requirements.txt # Python dependencies
βββ install.sh / install.bat # Installation scripts
βββ README.md # This file
# Clone repository
git clone https://github.com/your-repo/kompan.git
cd kompan
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # Linux/macOS
# or
venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
# Run locally
export PYTHONPATH=$(pwd)/src
python src/main.py# Build image
docker build -t kompan:dev .
# Run container
docker run -p 8080:8080 -p 8081:8081 -v ./data:/app/data -v ./config:/app/config kompan:devDocker not running
- Ensure Docker Desktop is started
- Check with:
docker info
TTS not working
- Check audio system is working
- Try different TTS engine in settings
- Linux: May need audio group permissions
Claude API not responding
- Verify API key in settings.json
- Check network connectivity
- Falls back to offline mode automatically
Web interface not loading
- Check if port 8080 is available
- Try different port in settings
- Check firewall settings
View detailed logs:
# Application logs
docker logs kompan
# Follow live logs
docker logs -f kompan- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Anthropic for Claude AI API
- Microsoft for Edge TTS
- Google for Google TTS
- FastAPI community
- Accessibility advocates and testers
- Issues: GitHub Issues
- Documentation: This README
- Community: Discussions
Made with β€οΈ for accessibility and inclusive communication