Добавлено управление OpenAI API ключом через web API
Этот коммит содержится в:
+35
-2
@@ -1,5 +1,12 @@
|
||||
from fastapi import FastAPI
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
from pydantic import BaseModel
|
||||
|
||||
from backend.config_store import (
|
||||
get_openai_model,
|
||||
has_openai_key,
|
||||
set_setting,
|
||||
)
|
||||
|
||||
app = FastAPI(title='DevConsole', version='0.1.0')
|
||||
|
||||
@@ -12,17 +19,43 @@ app.add_middleware(
|
||||
)
|
||||
|
||||
|
||||
class OpenAIConfigRequest(BaseModel):
|
||||
api_key: str
|
||||
model: str = 'gpt-5'
|
||||
|
||||
|
||||
@app.get('/')
|
||||
async def root():
|
||||
return {
|
||||
'project': 'DevConsole',
|
||||
'version': '0.1.0',
|
||||
'status': 'running'
|
||||
'status': 'running',
|
||||
'openai_configured': has_openai_key(),
|
||||
}
|
||||
|
||||
|
||||
@app.get('/health')
|
||||
async def health():
|
||||
return {
|
||||
'status': 'ok'
|
||||
'status': 'ok',
|
||||
'openai_configured': has_openai_key(),
|
||||
}
|
||||
|
||||
|
||||
@app.get('/api/settings/openai')
|
||||
async def openai_status():
|
||||
return {
|
||||
'configured': has_openai_key(),
|
||||
'model': get_openai_model(),
|
||||
}
|
||||
|
||||
|
||||
@app.post('/api/settings/openai')
|
||||
async def save_openai_settings(payload: OpenAIConfigRequest):
|
||||
set_setting('OPENAI_API_KEY', payload.api_key.strip())
|
||||
set_setting('OPENAI_MODEL', payload.model.strip())
|
||||
|
||||
return {
|
||||
'success': True,
|
||||
'message': 'OpenAI settings saved',
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user