Skip to content

Latest commit

 

History

History
234 lines (173 loc) · 5.83 KB

File metadata and controls

234 lines (173 loc) · 5.83 KB

🎉 Setup Complete! Your Omi GitHub App is Running

✅ Everything Ready

  • ✓ Python environment configured
  • ✓ Dependencies installed
  • ✓ API keys configured
  • ✓ ngrok running
  • ✓ App running on port 8000
  • ✓ Intelligent AI features enabled

🌐 Your URLs

ngrok Public URL: https://27612a6e7d29.ngrok-free.app

Test Interface: https://27612a6e7d29.ngrok-free.app/test

Health Check: https://27612a6e7d29.ngrok-free.app/health


⚠️ Manual Steps Required

1. Update GitHub OAuth App

Go to: https://github.com/settings/developers

Update your OAuth app with:

  • Homepage URL: https://27612a6e7d29.ngrok-free.app
  • Authorization callback URL: https://27612a6e7d29.ngrok-free.app/auth/callback

2. Configure OMI Developer Portal

Use these URLs in your OMI app configuration:

Webhook URL:        https://27612a6e7d29.ngrok-free.app/webhook
App Home URL:       https://27612a6e7d29.ngrok-free.app/
Auth URL:           https://27612a6e7d29.ngrok-free.app/auth
Setup Completed:    https://27612a6e7d29.ngrok-free.app/setup-completed

🚀 New Intelligent Features

1️⃣ Smart Segment Collection

No more fixed 5 segments!

  • Minimum: 2 segments (for quick issues)
  • Maximum: 10 segments (for detailed issues)
  • AI decides: When you have enough information
  • Auto-detects: When you move to a different topic
  • Timeout: Processes after 30s of silence

Examples:

  • Short issue (2-3 segments): "Bug report, app crashes when I upload photos on iPhone" → AI detects sufficient info, processes immediately ✅

  • Long issue (7-8 segments): Detailed feature request with multiple requirements → AI keeps collecting until you're done or hit 10 segments ✅

  • Off-topic detection: "Create issue, the app crashes... hey what time is dinner?" → AI detects topic change, processes the issue and ignores the rest ✅

2️⃣ Accidental Trigger Protection

AI validates if content is actually an issue:

  • ✅ Real issues: Created
  • ❌ "test test test": Discarded
  • ❌ Random conversation: Discarded
  • ❌ Off-topic chatter: Discarded

3️⃣ Smart Label Assignment

  • Fetches existing labels from your repo
  • AI selects 1-3 most relevant labels
  • Never creates random labels

4️⃣ Transcription Error Correction

AI fixes common voice-to-text errors:

  • "heal an Uber" → "hail an Uber"
  • "light" (in ride context) → "ride"
  • Thinks like a developer to infer correct meaning

5️⃣ GPT-4o Powered

Using OpenAI's best model for:

  • ✅ Issue generation
  • ✅ Label selection
  • ✅ Completeness checking
  • ✅ Topic detection

6️⃣ 36 Trigger Phrases

Works with natural phrasing:

  • "Feedback Post"
  • "Bug Report"
  • "Create Issue"
  • "Report Problem"
  • "Product Feedback"
  • "Found a Bug"
  • ...and 30 more!

🎤 How to Use

Say any trigger phrase followed by your issue:

Short issues:

"Bug report, app crashes on iPhone"

[AI detects this is enough after 2-3 segments]

Detailed issues:

"Create issue, I want to add voice commands for calling Uber rides. Users should be able to say get me a ride to this location. The app would connect to Uber API and book the ride automatically. This would make it hands-free and convenient..."

[AI keeps collecting until you're done, up to 10 segments]

The app will:

  1. 🎤 Detect trigger phrase
  2. 📝 Collect segments (2-10 based on complexity)
  3. 🤖 AI checks after each segment if complete
  4. ✅ Processes when ready or after 30s timeout
  5. 🧠 Corrects transcription errors
  6. 🏷️ Assigns smart labels
  7. 📤 Creates beautiful GitHub issue
  8. 🔔 Notifies you with the link!

🧪 Test It

  1. Authenticate: https://27612a6e7d29.ngrok-free.app/test
  2. Click "Authenticate GitHub"
  3. Select a repository
  4. Try different scenarios:

Quick issue:

Bug report, the app crashes when I click submit

Detailed issue:

Create issue, I want voice commands for Uber rides so I can say get me a ride to this location and it books automatically

Accidental trigger test:

Create issue, test test test

→ Should be discarded ✅


📊 System Behavior

Segment Collection Logic:

Trigger detected → Start collecting

After 2 segments:
  → AI checks if complete
  → If yes: Process
  → If no: Keep collecting

Every additional segment:
  → AI checks if complete
  → AI checks if still on topic
  → If complete OR off-topic: Process
  → If need more: Keep collecting (max 10)
  
30s timeout:
  → If ≥2 segments: Process what we have
  → If <2 segments: Discard

🛠️ Running the App

Both services are running:

  1. ngrok: https://27612a6e7d29.ngrok-free.app
  2. FastAPI app: localhost:8000

To stop:

  • Press Ctrl+C in terminal (running in background)
  • Or kill processes: lsof -ti:8000 | xargs kill -9

To restart:

cd /Users/aaravgarg/omi-ai/Code/apps/github
source venv/bin/activate
python main.py

(ngrok is already running in background)


📝 File Changes Made

Core Logic:

  • issue_detector.py - Added AI completeness checking
  • main.py - Intelligent dynamic segment collection
  • simple_storage.py - Added timestamp tracking

Features Added:

  • ✅ 36 trigger phrases
  • ✅ Dynamic segment collection (2-10 segments)
  • ✅ AI completeness validation
  • ✅ Timeout handling (30s)
  • ✅ Accidental trigger detection
  • ✅ Smart label assignment
  • ✅ Transcription error correction
  • ✅ GPT-4o everywhere
  • ✅ Clean text formatting
  • ✅ "Created via Omi" footer

🎯 Next Steps

  1. ✅ Test the interface (link above)
  2. Update GitHub OAuth app (manual step)
  3. Configure OMI Developer Portal (manual step)
  4. Test with real OMI device
  5. Deploy to Railway when ready (permanent URLs)

Your app is production-ready! 🚀

All AI-powered features are live and ready to use.