Files
xiaozhi-esp32-server/manager/api/prompt.py
T

38 lines
1.1 KiB
Python
Raw Normal View History

2025-02-15 12:30:20 +08:00
import logging
from aiohttp import web
from manager.api.auth import verify_token
2025-02-15 16:17:08 +08:00
from manager.api.response import response_unauthorized, response_success, response_error
2025-02-15 12:30:20 +08:00
logger = logging.getLogger(__name__)
2025-02-15 16:17:08 +08:00
class PromptApi:
2025-02-15 12:30:20 +08:00
def __init__(self, config):
self.config = config
async def get_prompt(self, request):
if not await verify_token(self.config, request):
2025-02-15 16:17:08 +08:00
return response_unauthorized()
2025-02-15 12:30:20 +08:00
return web.json_response({
'prompt': self.config['prompt'],
'Access-Control-Allow-Origin': '*'
})
async def update_prompt(self, request):
if not await verify_token(self.config, request):
2025-02-15 16:17:08 +08:00
return response_unauthorized()
2025-02-15 12:30:20 +08:00
try:
data = await request.json()
if 'prompt' not in data:
2025-02-15 16:17:08 +08:00
return response_success()
2025-02-15 12:30:20 +08:00
self.config['prompt'] = data['prompt']
2025-02-15 17:49:22 +08:00
# TODO 保存到配置文件
2025-02-15 16:17:08 +08:00
return response_success()
2025-02-15 12:30:20 +08:00
except Exception as e:
logger.error(f"Failed to update prompt: {e}")
2025-02-15 16:17:08 +08:00
return response_error(str(e))