migration: preserve mentor and llm streaming slice

This commit is contained in:
leefer
2026-07-31 04:18:53 +08:00
parent 4bab921d14
commit 2919229c73
26 changed files with 1705 additions and 1222 deletions
+46
View File
@@ -0,0 +1,46 @@
from __future__ import annotations
import json
from http import HTTPStatus
class LLMHttpMixin:
def save_llm_settings(self) -> None:
try:
body = self.read_json_body()
service = self.application_service
service.save_llm_settings(
body.get("primary") or {},
body.get("fallback") or {},
bool(body.get("fallback_enabled")),
)
self.send_json(
{
"ok": True,
"configured": service.llm_configured,
"model": service.llm_primary_model,
"fallback_configured": service.llm_fallback_configured,
"fallback_model": service.llm_fallback_model,
}
)
except (ValueError, json.JSONDecodeError) as exc:
self.send_json({"error": str(exc)}, HTTPStatus.BAD_REQUEST)
def save_llm_mode(self) -> None:
try:
body = self.read_json_body()
service = self.application_service
service.save_llm_mode(str(body.get("mode") or "auto"))
self.send_json({"ok": True, "llm_access": service.llm_access_status()})
except (ValueError, json.JSONDecodeError) as exc:
self.send_json({"error": str(exc)}, HTTPStatus.BAD_REQUEST)
def test_llm_settings(self) -> None:
try:
body = self.read_json_body()
role = str(body.get("role") or "")
profile = body.get("profile") or {}
result = self.application_service.test_llm_profile(role, profile)
self.send_json({"ok": True, "result": result})
except (ValueError, json.JSONDecodeError) as exc:
self.send_json({"error": str(exc)}, HTTPStatus.BAD_REQUEST)