Introduction

By default, in DeepSeek Harness (DSH), subagents called by the main agent inherit the same model as the main agent. If you use a flagship model as the main agent, delegated chores such as retrieval, organization, and auditing also all run on the flagship model—slow and expensive, a pure waste of resources.

This plugin separates two things: the main agent model continues to use DSH’s official built-in model management; subagent models are handled by this plugin. A new “Subagent Model” menu appears to the left of the official model menu, allowing you to globally configure provider / model / reasoning effort for all delegated subagents.

In one sentence: the main model does the main work, while subagents run on your specified (cheaper/more specialized) model.

Core Features

  • Official-style UI: The menu style, fonts, and two-level structure are 1:1 consistent with the official model menu, with zero learning cost.
  • Mutually exclusive with official menu: Opening “Subagent Model” and then clicking the official model menu automatically collapses the former (and vice versa); at most one menu is expanded at a time.
  • Shared model catalog: It reads the same session model catalog (modelDirectories) as the official menu; the provider/model/reasoning effort lists stay fully synchronized and are loaded only once.
  • Click to save: Selecting a model, reasoning effort, or tier immediately persists the choice; no Save button (consistent with official behavior).
  • Subagent tiers: Applies a unified persona + tool-surface combination to all delegated subagents, fully sourced from “Settings → Agent presets”. Supports built-in (official presets), custom (plugin-provided presets and user-created ones).
  • delegate_subagent tool: When the main agent uses it to delegate tasks, subagents actually run on the configured model and tier, supporting foreground waiting, background launching, and fork context inheritance.
  • Delegation policy injection: Injects a short prompt into the main agent, guiding it to prefer delegate_subagent for independent tasks.

Install and Enable

The DSH plugin is mounted onto the web profile as an npm package.

  1. Place this package at any path, e.g., /root/DSH_exe/dsh-subagent-model.
  2. Declare the dependency and bundle in the web profile’s package.json:
   {
     "dependencies": {
       "dsh-subagent-model": "link:/root/DSH_exe/dsh-subagent-model"
     },
     "dsh": {
       "profile": {
         "bundles": [
           "...",
           "dsh-subagent-model"
         ]
       }
     }
   }
  1. Create a link (or install with pnpm):
   ln -s /root/DSH_exe/dsh-subagent-model /root/.dsh/profiles/web/node_modules/dsh-subagent-model
  1. Restart dsh-web:
   systemctl restart dsh-web

Usage

Open any session; a “Subagent” button appears on the left side of the official model menu at the bottom of the composer. Click the menu and select “Subagent Model”, “Reasoning Effort”, or “Subagent Tier” to configure it. Afterwards, subagents delegated by the main agent will run on the configured model and tier. To revert to default behavior, select the same model as the main model with the tier set to “Inherit”.

Configuration and Presets

  • Global subagent model is saved at $DSH_HOME/data/dsh-subagent-model/config.json:
  {
    "sub": {
      "provider": "kimi-coding",
      "model": "kimi-for-coding",
      "reasoningEffort": "off",
      "profile": "minimal"
    }
  }
  • Persona text for preset tiers comes from the preset itself; tool surfaces are trimmed; if tool names do not match, delegation will not fail (automatic fallback).
  • Old dsh-model-manager configuration is automatically migrated on first startup.

Applicable Scenarios and Notes

  • Supports DSH web (browser-side UI) only.
  • Requires the DSH deployment to include dsh-client-ui-model-selection.
  • License: MIT

Closing

In one sentence: the main model does the main work, while subagents run on your specified (cheaper/more specialized) model.