Kimi / app.py
abhy60098's picture
Update app.py
e0eb68f verified
Raw
History Blame Contribute Delete
1.7 kB
import os
import time
import threading
import gradio as gr
from groq import Groq
from playwright.sync_api import sync_playwright
# Initialize Groq
client = Groq(api_key=os.environ.get("GROQ_API_KEY"))
# Shared state
browser_instance = None
context = None
page = None
is_logged_in = False
logs = ["Welcome! Please wait for the browser to launch to log in manually."]
def launch_browser():
global browser_instance, context, page
with sync_playwright() as p:
# Launch browser with GUI (headless=False) so you can see it
browser_instance = p.chromium.launch(headless=False, args=["--start-maximized"])
context = browser_instance.new_context(no_viewport=True)
page = context.new_page()
page.goto("https://www.instagram.com/direct/inbox/")
logs.append("Browser opened. Please login to Instagram manually in the browser window.")
# Keep the browser thread alive
while True:
time.sleep(1)
def start_ai_agent():
global is_logged_in
is_logged_in = True
logs.append("Handover successful! AI Agent starting in 5 seconds...")
# Trigger the agent logic (use the same logic as previous loops)
# ... insert your run_agent_loop logic here ...
return "Agent is now in control."
# UI Layout
with gr.Blocks() as demo:
gr.Markdown("# ๐Ÿ”‘ Manual Login & Handover")
status = gr.Textbox(label="Status")
login_btn = gr.Button("Launch Browser for Login")
handover_btn = gr.Button("Handover to AI Agent", variant="primary")
login_btn.click(lambda: threading.Thread(target=launch_browser, daemon=True).start())
handover_btn.click(start_ai_agent, outputs=status)
demo.launch()