DeepSeek Harness plugin

dsh-auto-model

Auto model selection for DeepSeek Harness: routes each turn to V4 Flash or V4 Pro through a classifier call

Jump to install

Source facts

Repository
AL-spiritphoenix/dsh-auto-model
Latest update
Aug 14, 2026
Category
Models & Providers
GitHub stars
1
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/AL-spiritphoenix/dsh-auto-model
Plugin: dsh-auto-model
Author: AL-spiritphoenix

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only
README language

dsh-auto-model

English | 中文

A DeepSeek Harness bundle that adds an Auto model option. When a session selects auto, the plugin classifies each turn with a small Flash call and routes it to deepseek-v4-flash (SIMPLE) or deepseek-v4-pro (COMPLEX).

It is a plain-JavaScript bundle, so it installs straight from a git host with no build step. It uses only shipped core APIs and runs against an unmodified harness.

Install

Install into the web profile (the profile the dsh web command boots):

From a local checkout:

dsh plugin --profile web add ./dsh-auto-model

From GitHub:

dsh plugin --profile web add github:AL-spiritphoenix/dsh-auto-model

Then boot it:

dsh web

dsh web is the web profile's alias, so no --profile flag is needed. The model selector now lists Auto alongside Flash and Pro. The concrete model the router chooses is what the session log records in each request header.

How it works

  • The plugin registers its own deepseek-auto provider route, whose listModels() returns the auto entry at runtime. The directory entry is therefore independent of llm-deepseek's models config, so a settings.yaml override cannot hide it.
  • The plugin listens on the root agent/request waterfall (outside installModelSelection) and rewrites auto — whichever provider carried it — to a concrete provider/model before dispatch.
  • Each turn's first step sends one auxiliary classifier call to classifierModel (defaults to the fast model); later steps of the same turn reuse the decision. A failed call falls back to onClassifierError (default slow).

Configuration

All fields are optional and default to the DeepSeek V4 pair:

KeyDefaultMeaning
providerdeepseek-officialProvider route the concrete requests are routed to.
modelautoVirtual model id shown and submitted; never dispatched.
providerNameDeepSeek(Auto)Selector group label.
nameAutoSelector model label.
description(built-in)Selector detail.
fastModeldeepseek-v4-flashModel for SIMPLE tasks.
slowModeldeepseek-v4-proModel for COMPLEX tasks.
classifierModelfastModelModel serving the classifier call.
classifierPrompt(built-in)Classifier system prompt.
classifierMaxTokens16Classifier output-token cap.
classifierTimeoutMs10000Classifier call deadline.
contextBudgetChars4000Maximum task characters fed to the classifier.
onClassifierErrorslowTarget when classification fails or returns an unknown token.

Override them in the web profile's cordis.patch.yml:

- id: auto-model
  config:
    fastModel: deepseek-v4-flash
    slowModel: deepseek-v4-pro
    onClassifierError: slow

Limitations

  • auto is advertised as a text model, so an image-containing session cannot select it.
  • The classifier call is an auxiliary dispatch and is not counted by the token meter.
  • auto is session-local: after a restart, a non-blank session resumes from the logged concrete model rather than re-classifying.