plugins/omi-github-app/README.md
Voice-activated GitHub issue creation through your OMI device. Simply say "Feedback Post" followed by your detailed problem description, and AI will automatically create a properly formatted GitHub issue!
Test Change: This is a test modification for merge testing purposes.
The app intelligently collects and processes your feedback:
Example:
You: "Feedback Post, the search function isn't working"
[collecting silently...]
You: "when I type in the search bar nothing happens"
[collecting silently...]
You: "I've tried on both Chrome and Safari"
[collecting silently...]
You: "and it worked fine last week but now"
[collecting silently...]
You: "it's completely broken on all browsers"
โ AI processes all 5 segments
AI Generated Issue:
Title: "Search function not working across browsers"
Description:
The search function is currently not working. When typing in the search bar,
no results appear. This issue has been tested on both Chrome and Safari browsers.
The search functionality was working correctly last week but is now completely
non-functional across all browsers.
โ Issue created! ๐
| Field | Value |
|---|---|
| Webhook URL | https://your-app.up.railway.app/webhook |
| App Home URL | https://your-app.up.railway.app/ |
| Auth URL | https://your-app.up.railway.app/auth |
| Setup Completed URL | https://your-app.up.railway.app/setup-completed |
# Clone the repository
cd github
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Configure environment
cp .env.example .env
# Edit .env with your API keys
Create .env file with:
# GitHub OAuth Credentials (from github.com/settings/developers)
GITHUB_CLIENT_ID=your_client_id
GITHUB_CLIENT_SECRET=your_client_secret
# OAuth Redirect URL
OAUTH_REDIRECT_URL=http://localhost:8000/auth/callback
# OpenAI API Key (for AI issue generation)
OPENAI_API_KEY=your_openai_key
# App Settings
APP_HOST=0.0.0.0
APP_PORT=8000
http://localhost:8000 (or your deployment URL)http://localhost:8000/auth/callback.envsource venv/bin/activate
python main.py
Visit http://localhost:8000/test to test!
Push to GitHub
git init
git add .
git commit -m "Initial commit"
git push origin main
Deploy on Railway
.env)Get your URL
your-app.up.railway.appUpdate OAuth Callback
OAUTH_REDIRECT_URL=https://your-app.up.railway.app/auth/callbackConfigure OMI
Add these in Railway dashboard:
GITHUB_CLIENT_ID
GITHUB_CLIENT_SECRET
OPENAI_API_KEY
OAUTH_REDIRECT_URL=https://your-app.up.railway.app/auth/callback
APP_HOST=0.0.0.0
APP_PORT=8000
Visit https://your-app.up.railway.app/test to:
The app uses OpenAI for intelligent issue generation:
Example Transformation:
Input (5 segments):
"the app keeps crashing when I um try to upload photos
it happens every single time on my iPhone 14 like
the app just freezes for a second and then
it completely closes and this started happening
after the latest update yesterday"
AI Output:
Title: "App crashes when uploading photos on iPhone 14"
Description:
The app consistently crashes during photo uploads. When attempting to
upload a photo, the app freezes briefly and then closes completely.
This issue occurs every time on iPhone 14 and started after the latest
update.
OMI sends transcripts in segments as you speak. The app:
Why 5 segments?
https://your-app.up.railway.app/?uid=<your_uid>Click "Refresh Repos" to:
repo accessOAUTH_REDIRECT_URL matches GitHub OAuth appgithub/
โโโ main.py # FastAPI application with mobile-first UI
โโโ github_client.py # GitHub API integration
โโโ issue_detector.py # AI-powered issue detection & generation
โโโ simple_storage.py # File-based storage (users & sessions)
โโโ requirements.txt # Python dependencies
โโโ railway.toml # Railway deployment config
โโโ runtime.txt # Python version
โโโ Procfile # Alternative deployment platforms
โโโ .env.example # Environment template
โโโ .gitignore # Git ignore rules
โโโ LICENSE # MIT License
โโโ README.md # This file
| Endpoint | Method | Description |
|---|---|---|
/ | GET | Homepage with repo selection (mobile-first) |
/auth | GET | Start GitHub OAuth flow |
/auth/callback | GET | OAuth callback handler |
/setup-completed | GET | Check if user authenticated & repo selected |
/webhook | POST | Real-time transcript processor |
/update-repo | POST | Update selected repository |
/refresh-repos | POST | Refresh repository list |
/test | GET | Web testing interface |
/health | GET | Health check |
git checkout -b feature/amazing)git commit -m 'Add amazing feature')git push origin feature/amazing)MIT License - see LICENSE file for details.
Built for the OMI ecosystem.
Made with โค๏ธ for voice-first development workflows
Features: