cd /Users/aaravgarg/omi-ai/Code/apps/github
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt- Go to https://github.com/settings/developers
- Click "New OAuth App"
- Fill in:
- Name:
OMI GitHub Issues - Homepage:
http://localhost:8000 - Callback:
http://localhost:8000/auth/callback
- Name:
- Click "Register application"
- Copy Client ID and Client Secret
- Go to https://platform.openai.com/api-keys
- Create new secret key
- Copy the key
cp .env.example .env
nano .env # or use any editorAdd your keys:
GITHUB_CLIENT_ID=your_github_client_id_here
GITHUB_CLIENT_SECRET=your_github_client_secret_here
OPENAI_API_KEY=sk-...your_openai_key_here
OAUTH_REDIRECT_URL=http://localhost:8000/auth/callback
APP_HOST=0.0.0.0
APP_PORT=8000python main.pyYou should see:
🐙 OMI GitHub Issues Integration
==================================================
✅ Using file-based storage
🚀 Starting on 0.0.0.0:8000
==================================================
- Open http://localhost:8000/test
- Click "Authenticate GitHub"
- Select a repository
- Type a test command:
Feedback Post, testing the app to make sure it works correctly with all the features and settings - Click "Send Command"
- Check your GitHub repo for the new issue!
- Open http://localhost:8000/?uid=YOUR_OMI_UID
- Click "Connect GitHub Account"
- Select target repository
- In OMI app, configure:
- Webhook:
http://localhost:8000/webhook - Auth:
http://localhost:8000/auth - Setup Check:
http://localhost:8000/setup-completed
- Webhook:
- Say to your OMI: "Feedback Post, the app is working great..."
- Wait for notification with issue link!
# Change port in .env
APP_PORT=8001
# Or kill existing process
lsof -ti:8000 | xargs kill -9Make sure .env has:
OAUTH_REDIRECT_URL=http://localhost:8000/auth/callback
And GitHub OAuth app has the same callback URL.
- Make sure you have at least one GitHub repo
- Click "Refresh Repos" on the homepage
- Check that OAuth app has
reposcope
-
Railway (recommended):
# Push to GitHub git init git add . git commit -m "Initial commit" git push # Deploy on railway.app # Add environment variables # Update OAUTH_REDIRECT_URL to Railway URL
-
Update GitHub OAuth app:
- Change callback to:
https://your-app.up.railway.app/auth/callback
- Change callback to:
-
Configure OMI:
- Update webhook URLs to Railway domain
- Change trigger phrase: Edit
TRIGGER_PHRASESinissue_detector.py - Adjust segments: Change
>= 5inmain.pyto collect more/less - Custom labels: Modify
labels=["voice-feedback"]in webhook handler - UI colors: Edit
get_mobile_css()inmain.py
OMI Device
↓ (voice) "Feedback Post, ..."
Webhook Endpoint (/webhook)
↓ (collect 5 segments)
Issue Detector (AI)
↓ (generate title + description)
GitHub API
↓ (create issue)
User Notification ✅
main.py- FastAPI app, endpoints, UIgithub_client.py- GitHub API callsissue_detector.py- AI processingsimple_storage.py- User data persistence
- Check logs: Look at terminal output
- Enable debug: Add
print()statements - Test endpoint:
http://localhost:8000/health - Check storage:
cat users_data.json
Ready to go! 🎉
Say "Feedback Post" to your OMI and watch the magic happen.