Spaces:
Runtime error
Runtime error
Upload 16 files
Browse files- api.py +3 -0
- scheduler.py +15 -0
- voice.py +6 -0
- web_search.py +11 -0
- webhook.py +13 -0
api.py
CHANGED
@@ -27,3 +27,6 @@ def show_feedback():
|
|
27 |
|
28 |
if __name__ == "__main__":
|
29 |
uvicorn.run("api:app", host="0.0.0.0", port=7861)
|
|
|
|
|
|
|
|
27 |
|
28 |
if __name__ == "__main__":
|
29 |
uvicorn.run("api:app", host="0.0.0.0", port=7861)
|
30 |
+
|
31 |
+
from webhook import router as webhook_router
|
32 |
+
app.include_router(webhook_router)
|
scheduler.py
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
import schedule
|
3 |
+
import time
|
4 |
+
from agent import run_agent
|
5 |
+
from logger import logger
|
6 |
+
|
7 |
+
def scheduled_task():
|
8 |
+
logger.info("Scheduled task running...")
|
9 |
+
run_agent("Daily self-check")
|
10 |
+
|
11 |
+
def start_scheduler():
|
12 |
+
schedule.every().day.at("10:00").do(scheduled_task)
|
13 |
+
while True:
|
14 |
+
schedule.run_pending()
|
15 |
+
time.sleep(1)
|
voice.py
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
def speak(text):
|
3 |
+
print(f"[Voice] {text}")
|
4 |
+
|
5 |
+
def listen():
|
6 |
+
return input("[Voice Input]> ")
|
web_search.py
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
import requests
|
3 |
+
from bs4 import BeautifulSoup
|
4 |
+
|
5 |
+
def web_search(query):
|
6 |
+
url = f"https://html.duckduckgo.com/html?q={query}"
|
7 |
+
headers = {"User-Agent": "Mozilla/5.0"}
|
8 |
+
res = requests.get(url, headers=headers)
|
9 |
+
soup = BeautifulSoup(res.text, "html.parser")
|
10 |
+
results = soup.find_all("a", {"class": "result__a"}, limit=3)
|
11 |
+
return "\n".join(link.text for link in results) if results else "No results found."
|
webhook.py
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
from fastapi import Request, APIRouter
|
3 |
+
from agent import run_agent
|
4 |
+
from logger import logger
|
5 |
+
|
6 |
+
router = APIRouter()
|
7 |
+
|
8 |
+
@router.post("/webhook")
|
9 |
+
async def webhook(request: Request):
|
10 |
+
payload = await request.json()
|
11 |
+
task = payload.get("task", "")
|
12 |
+
logger.info(f"Webhook received task: {task}")
|
13 |
+
return {"response": run_agent(task)}
|