diff --git a/dsh/app.py b/dsh/app.py index 8bbb454..7e4684e 100644 --- a/dsh/app.py +++ b/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") diff --git a/dsh/docker-compose.yml b/dsh/docker-compose.yml index a145195..e003182 100644 --- a/dsh/docker-compose.yml +++ b/dsh/docker-compose.yml @@ -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 diff --git a/dsh/templates/chat.html b/dsh/templates/chat.html index e2b7501..baa1532 100644 --- a/dsh/templates/chat.html +++ b/dsh/templates/chat.html @@ -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); });