OpenSorus / app.py
halfacupoftea's picture
Fix gradio fn by adding await
b5f5dbb
raw
history blame
2.63 kB
import gradio as gr
from agent.core import run_agent
async def respond_to_issue(issue_url, branch_name):
try:
result = await run_agent(issue_url, branch_name)
response = "Agent has successfully processed the issue and posted an update in the comments. Check the GitHub issue for updates."
except Exception as e:
response = f"Something went wrong: {str(e)}"
return response
theme = gr.themes.Soft(
primary_hue="orange",
secondary_hue="yellow",
neutral_hue="zinc",
)
with gr.Blocks(title="OpenSorus – AI Maintainer Agent", theme=theme) as demo:
gr.Markdown("""
# OpenSorus – AI Maintainer Agent for GitHub Issues
**Reads the issue. Understands your repo. Replies in seconds.**
Let OpenSorus handle your first-level triage by autonomously pulling context from your codebase and commenting with a helpful fix/suggestion to help your contributors/customers.
**Note**: Please [install the agent](https://github.com/apps/opensorus) in your GitHub for a particular repository before using this tool.
- **Quickest way to assign issue to OpenSorus**: Just mention @opensorus in the GitHub issue comments.
- Alternatively, use this space to assign the issue by pasting the issue URL below & specifying the primary branch name of your codebase (e.g., main, master, etc.).
---
""")
with gr.Row():
with gr.Column(scale=1):
issue_url = gr.Textbox(label="🔗 GitHub Issue URL", placeholder="https://github.com/user/repo/issues/123")
branch_name = gr.Textbox(label="🌿 Branch Name", placeholder="main or dev or feature/xyz")
submit_btn = gr.Button("🚀 Run Agent", variant="primary")
with gr.Column(scale=1):
output_box = gr.Textbox(label="💬 Task Status", placeholder="Waiting for updates from the agent...", lines=6)
submit_btn.click(fn=respond_to_issue, inputs=[issue_url, branch_name], outputs=output_box)
gr.Markdown("""
---
### 🛠 How It Works
1. [Install OpenSorus](https://github.com/apps/opensorus) as a GitHub App.
2. Configure the app to have access to your particular repository.
3. Mention @opensorus in any issue's comments.
4. Alternatively, use this space to paste the issue URL and specify the branch name (e.g., main, master, etc.).
5. Click Run Agent and OpenSorus will fetch issue details, read your code, and post a helpful comment.
> ### _OpenSorus is just like an L1 dev support assistant of your project that never sleeps — and knows your codebase ✨._
---
""")
if __name__ == "__main__":
demo.launch()