import tasks.wechat import time from .base import * from fastapi import APIRouter import requests router = APIRouter() @router.post("/search") async def wechat_search_task(item: Device): if item.serial not in devices: return Response(code=500, msg="设备 {} 不存在".format(item.serial)) d = devices[item.serial] tasks.wechat.click_search_btn(d) class WechatSearchInput(Device): search_keyword: str input_text: str @router.post("/search/chat") async def wechat_search_task(item: WechatSearchInput): if item.serial not in devices: return Response(code=500, msg="设备 {} 不存在".format(item.serial)) d = devices[item.serial] d.app_start("com.tencent.mm") tasks.wechat.click_search_btn(d) tasks.wechat.input_search_text(d, item.search_keyword) tasks.wechat.click_search_result(d) print(tasks.wechat.get_last_friend_text_msg(d)) # tasks.wechat.input_chat_text(d, time.strftime("[AI] %Y-%m-%d %H:%M:%S", time.localtime())) msg = tasks.wechat.get_last_friend_text_msg(d) msg = msg if msg is not None else "" # url = "https://api.siliconflow.cn/v1/chat/completions" # payload = { # "model": "Qwen/Qwen2.5-7B-Instruct", # "messages": [ # { # "role": "user", # "content": msg # } # ], # "stream": False, # "max_tokens": 512, # "stop": ["null"], # "temperature": 0.7, # "top_p": 0.7, # "top_k": 50, # "frequency_penalty": 0.5, # "n": 1, # "response_format": {"type": "text"}, # "tools": [ # { # "type": "function", # "function": { # "description": "", # "name": "", # "parameters": {}, # "strict": False # } # } # ] # } # headers = { # "Authorization": "Bearer {}".format("token"), # "Content-Type": "application/json" # } # response = requests.request("POST", url, json=payload, headers=headers) # print(response.text) # tasks.wechat.input_chat_text(d, response.json()["choices"][0]["message"]["content"]) tasks.wechat.input_chat_text(d, item.input_text) @router.post("/launch") def wechat_launch(item: Device): if item.serial not in devices: return Response(code=500, msg="设备 {} 不存在".format(item.serial)) d = devices[item.serial] d.app_start("com.tencent.mm")