dsh: pin models to reliable OmniRoute providers (chat=opencode-go flash, reasoning=deepseek flash, coding=deepseek pro) + friendly labels

This commit is contained in:
2026-08-26 21:59:49 +10:00
parent 08e43b700a
commit dba59d71a7
3 changed files with 13 additions and 6 deletions

View File

@@ -34,7 +34,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", "auto/best-fast")
LLM_MODEL = os.getenv("DSH_LLM_MODEL", "opencode-go/deepseek-v4-flash")
LLM_KEY = os.getenv("DSH_LLM_KEY", "")
SYSTEM_PROMPT = os.getenv(
"DSH_SYSTEM_PROMPT",
@@ -327,13 +327,20 @@ async def generate_image(prompt: Annotated[str, Form()]) -> dict:
MODEL_CHOICES = ["auto/best-chat", "auto/best-fast",
"auto/best-coding", "auto/best-vision"]
MODEL_CHOICES = ["opencode-go/deepseek-v4-flash",
"deepseek/deepseek-v4-flash",
"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",
}
@app.get("/api/models")
async def models_list() -> dict:
return {"ok": True, "default": LLM_MODEL, "current": MODEL_CHOICES}
return {"ok": True, "default": LLM_MODEL, "current": MODEL_CHOICES,
"labels": MODEL_LABELS}
@app.get("/api/sessions")

View File

@@ -22,7 +22,7 @@ x-dsh-common: &common
- /tmp
environment: &env-base
DSH_LLM_BASE: http://192.168.20.13:20129/v1
DSH_LLM_MODEL: auto/best-fast
DSH_LLM_MODEL: opencode-go/deepseek-v4-flash
DSH_HISTORY_DIR: /data
DSH_VISION_KEY: ${DSH_VISION_KEY:-}
DSH_VISION_MODEL: openai/gpt-5

View File

@@ -137,7 +137,7 @@
try {
const d = await (await fetch('/api/models')).json();
(d.current || []).forEach(m => {
const o = document.createElement('option'); o.value = m; o.textContent = m;
const o = document.createElement('option'); o.value = m; o.textContent = (d.labels && d.labels[m]) || m;
if (m === d.default) o.selected = true;
modelSel.appendChild(o);
});