deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
English | 中文
Dynamic subagent model and reasoning effort configuration plugin for DeepSeek Harness (DSH) Web GUI.
Configure language models (Provider / Model) and reasoning effort levels used by subagents (subagent, subagent_fork, workflow, etc.) per-session or globally directly from the Web GUI with immediate effect.
Default, Inherit, or <model-name>) and opens the config modal with one click.In the DeepSeek Harness Web GUI, locate the "Subagent Models" button at the bottom of the left sidebar (directly above "Settings"). Click it to open the configuration dialog for the active session.
The top of the dialog displays:
Default (inheriting global default), Inherit (following parent session), or Custom (custom model selected).| Mode | Recommended Use Case | Description |
|---|---|---|
| Use Global Default Config | Standard sessions | Adopts the global default rule; automatically syncs whenever the global default is updated. |
| Follow Current Parent Session Model | Main model changes frequently | Subagents unconditionally mirror the parent session's Provider, Model, and reasoning effort. |
| Specify Custom Subagent Model | Fine-tuned sub-task routing | Manually specify a Model Provider, Model Name, and optional Reasoning Effort. |
high, medium, low, etc.).subagent or workflow delegations.If a session has a custom override configured, a "Clear Override (Use Global Default)" button will be displayed. Clicking this reverts the session back to following the global default settings.
This repository includes a GitHub Actions workflow that automatically builds and deploys a minimal release to the dist branch (containing built artifacts and manifests without raw source bloat).
You can install this plugin with a single command without any local build step:
dsh plugin --profile web add github:u9521/dsh-subagent-custom-model#dist
Note: After installation, start or restart the Web service:
dsh web
Follow the step-by-step instructions below to build and install this plugin from source into your DeepSeek Harness environment.
Ensure the following tools are installed on your system:
^22.19.0 or >=24.0.0pnpm >= 9.xdsh CLI (>= 0.1.0-rc.6)Verify your environment:
node -v
pnpm -v
dsh --version
Clone or download the plugin repository to your local machine (recommended location: ~/.dsh/plugins/):
# Create and navigate to the plugin directory
mkdir -p ~/.dsh/plugins
cd ~/.dsh/plugins
# Clone the repository (or copy the source code)
git clone https://github.com/u9521/dsh-subagent-custom-model.git
cd dsh-subagent-custom-model
Install required build and runtime dependencies using pnpm:
pnpm install
Note: The official DSH client bundling preset is vendored directly under
external/deepseek-harness/packages/client/. No external DSH checkout is required.
Compile the TypeScript source code and bundle the Host plugin and Web Client artifacts:
pnpm run build
Upon a successful build, the lib/ directory will be generated:
lib/index.js: Host plugin runtime entry (ESM)lib/client.js: Web client UI bundle (CJS)lib/types/: TypeScript type declarationsTo run a type check without emitting files:
pnpm run check
Use the dsh plugin CLI command to add the plugin to the web profile:
# Run from within the plugin directory:
dsh plugin --profile web add .
Alternatively, register using an absolute path:
dsh plugin --profile web add ~/.dsh/plugins/dsh-subagent-custom-model
List the plugins in the web profile to verify that @local/dsh-subagent-custom-model is registered:
dsh plugin --profile web list
Start (or restart) the DSH Web service:
dsh web
Open your browser and navigate to the Web GUI (typically http://localhost:3080). You should see the "Subagent Models" button and status badge in the sidebar footer.
| Command | Description |
|---|---|
pnpm run build |
Full build (runs tsc type check + generates lib/ bundles) |
pnpm run check |
Type check only (tsc --noEmit) without emitting files |
pnpm run fmt |
Format source code and configuration files with Prettier |
pnpm run fmt:check |
Check code formatting compliance |
pnpm run sync |
Sync vendored DSH client bundle preset from upstream (--check or --yes) |
Configuration is stored in ~/.dsh/storages/subagent_model.json. Example structure:
{
"default": {
"mode": "custom",
"provider": "deepseek",
"model": "deepseek-chat"
},
"sessions": {
"session-uuid-1": {
"mode": "inherit"
},
"session-uuid-2": {
"mode": "custom",
"provider": "openai",
"model": "gpt-4o-mini",
"reasoningEffort": "medium"
}
}
}
default: The global fallback configuration (inherit or custom).sessions: Map of per-session overrides by session ID. Sessions set to default or unlisted will follow the global default.A: The Reasoning Effort selector only renders when the chosen model explicitly exposes reasoning capability options in its metadata (reasoning.efforts). For standard chat-only models without reasoning configurations, this selector remains hidden.
dsh web after updating model settings?A: No. The host plugin intercepts requests dynamically at runtime. As soon as you save the settings in the Web GUI, they take effect on the very next subagent invocation.
A: Remove it anytime using the DSH CLI:
dsh plugin --profile web remove @local/dsh-subagent-custom-model
This project is licensed under the MIT License.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。