dsh: rename conversations, live model in header, swap to OmniRoute auto/* routes (opencode-go dropped - no creds/burn); direct deepseek routes dead
This commit is contained in:
44
dsh/app.py
44
dsh/app.py
@@ -36,7 +36,7 @@ BASE_DIR = Path(__file__).resolve().parent
|
||||
USER_NAME = os.getenv("DSH_USER", "user")
|
||||
DEFAULT_SLOT = os.getenv("DSH_SLOT", "Welcome to DeepSeek Harness")
|
||||
LLM_BASE = os.getenv("DSH_LLM_BASE", "http://192.168.20.13:20129/v1")
|
||||
LLM_MODEL = os.getenv("DSH_LLM_MODEL", "opencode-go/deepseek-v4-flash")
|
||||
LLM_MODEL = os.getenv("DSH_LLM_MODEL", "auto/best-chat")
|
||||
LLM_KEY = os.getenv("DSH_LLM_KEY", "")
|
||||
SYSTEM_PROMPT = os.getenv(
|
||||
"DSH_SYSTEM_PROMPT",
|
||||
@@ -574,17 +574,25 @@ async def generate_image(prompt: Annotated[str, Form()]) -> dict:
|
||||
|
||||
|
||||
|
||||
MODEL_CHOICES = ["opencode-go/deepseek-v4-flash",
|
||||
"deepseek/deepseek-v4-flash",
|
||||
"deepseek/deepseek-v4-pro",
|
||||
"z-ai/glm-5v-turbo"]
|
||||
MODEL_CHOICES = ["auto/best-chat",
|
||||
"auto/best-fast",
|
||||
"auto/cheap",
|
||||
"auto/best-reasoning",
|
||||
"auto/best-coding",
|
||||
"auto/best-vision",
|
||||
"openrouter/deepseek/deepseek-v4-flash",
|
||||
"openrouter/deepseek/deepseek-v4-pro"]
|
||||
MODEL_LABELS = {
|
||||
"opencode-go/deepseek-v4-flash": "Chat · opencode-go flash",
|
||||
"deepseek/deepseek-v4-flash": "Reasoning · deepseek flash",
|
||||
"deepseek/deepseek-v4-pro": "Coding · deepseek pro",
|
||||
"z-ai/glm-5v-turbo": "Multimodal · GLM vision",
|
||||
"auto/best-chat": "Chat · OmniRoute best",
|
||||
"auto/best-fast": "Fast · OmniRoute best-fast",
|
||||
"auto/cheap": "Budget · OmniRoute cheap",
|
||||
"auto/best-reasoning": "Reasoning · OmniRoute best",
|
||||
"auto/best-coding": "Coding · OmniRoute best",
|
||||
"auto/best-vision": "Multimodal · OmniRoute vision",
|
||||
"openrouter/deepseek/deepseek-v4-flash": "DeepSeek v4 flash (OpenRouter)",
|
||||
"openrouter/deepseek/deepseek-v4-pro": "DeepSeek v4 pro (OpenRouter)",
|
||||
}
|
||||
VISION_OVERRIDE_MODELS = {"z-ai/glm-5v-turbo"}
|
||||
VISION_OVERRIDE_MODELS = {"auto/best-vision"}
|
||||
|
||||
|
||||
@app.get("/api/models")
|
||||
@@ -619,6 +627,22 @@ async def sessions_get(sid: str) -> dict:
|
||||
"model": s.get("model") or LLM_MODEL}
|
||||
|
||||
|
||||
@app.post("/api/sessions/{sid}/rename")
|
||||
async def sessions_rename(sid: str, name: Annotated[str, Form()]) -> dict:
|
||||
"""Rename a conversation (shake off the auto-generated first-message title)."""
|
||||
name = (name or "").strip()[:80] or "Conversation"
|
||||
try:
|
||||
d = load_session(sid)
|
||||
d["name"] = name
|
||||
d["updated"] = datetime.now(timezone.utc).isoformat()
|
||||
_sdir()
|
||||
with open(_spath(sid), "w", encoding="utf-8") as fh:
|
||||
json.dump(d, fh, ensure_ascii=False)
|
||||
except Exception as exc: # noqa: BLE001
|
||||
return {"ok": False, "error": str(exc)}
|
||||
return {"ok": True}
|
||||
|
||||
|
||||
@app.post("/api/sessions/{sid}/delete")
|
||||
async def sessions_delete(sid: str) -> dict:
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user