first commit

This commit is contained in:
2026-03-09 14:46:56 +08:00
commit 62236eb80e
63 changed files with 6143 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
"""Runtime settings API for LLM provider and API keys."""
from pydantic import BaseModel
from fastapi import APIRouter
from app.config import public_settings, update_runtime_settings
router = APIRouter()
class SettingsUpdate(BaseModel):
llm_provider: str | None = None
openai_api_key: str | None = None
anthropic_api_key: str | None = None
deepseek_api_key: str | None = None
custom_openai_api_key: str | None = None
custom_openai_base_url: str | None = None
custom_openai_model: str | None = None
@router.get("")
async def get_runtime_settings():
return public_settings()
@router.put("")
async def update_settings(body: SettingsUpdate):
payload = body.model_dump(exclude_unset=True)
update_runtime_settings(payload)
return public_settings()