dsh: pin models to reliable OmniRoute providers (chat=opencode-go flash, reasoning=deepseek flash, coding=deepseek pro) + friendly labels
This commit is contained in:
15
dsh/app.py
15
dsh/app.py
@@ -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")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user