DSH / PLUGIN / CORE

dsh-agent-default-model

v0.1.0-rc.5deepseek-ai / deepseek-harness47f943859b

Included in DSHPluginsRuntime & platformBuilt-in sourceConfigurable
Runtime anatomy
HOSTCLIENTUITOOLDATAFLOW

Overview

dsh-agent-default-model

The deployment default used when an entry point creates an Agent that has no session-local model selection. AgentDefaultModelConfig provides ctx.agentDefaultModel; direct entry points such as dsh --profile headless and Host-backed entry points such as ApiProxy read the same service instead of owning parallel provider/model defaults.
BUILT-IN / ATOMIC
Already shipped with DSH — no separate install

This is an atomic module already shipped with Harness, not a standalone profile layer.

Capabilities

What it contributes

HostCordis loadableConfigurable
Client / UIHost only0 contributions
Model tools0None declared
Profile stateenabledbase, headless, web

README / EN

Package documentation

@deepseek-ai/dsh-agent-default-model

English | 中文

The deployment default used when an entry point creates an Agent that has no session-local model selection. AgentDefaultModelConfig provides ctx.agentDefaultModel; direct entry points such as dsh --profile headless and Host-backed entry points such as ApiProxy read the same service instead of owning parallel provider/model defaults.

The plugin config requires { provider, model }. That composition entry is the base of the agent-default-model Settings section; a mounted settings provider layers the user's choice over it and changes are visible on the next currentSelection() read. reasoningEffort belongs to the Settings section but deliberately not to plugin config: a complete saved selection can clear an effort when the next selected model has none, while a composition value would be inherited again.

  • ctx.agentDefaultModel.currentSelection() returns a detached { provider, model, reasoningEffort? } selection for a newly created Agent.
  • ctx.agentDefaultModel.saveSelection(selection) saves the complete user selection. Without a settings provider it is a no-op and the composition entry remains current.

The service does not validate catalog membership. A provider route may serve an unadvertised model, and the consumer that actually opens a model request owns availability diagnostics.

Model Experience

Indirectly, through the provider/model selection supplied to an entry point; request assembly and adapters own the model-visible request.

KV Cache effect

Changing the default affects only Agents that subsequently resolve from it. An existing session whose request log already names a selection keeps that selection, so this service does not invalidate its established prefix.

Known Limitations and Deferred Work

  • The service owns one process-wide default; per-session selection remains the entry point's responsibility.
  • Without a settings provider, saveSelection() cannot retain a selection for a later Agent.

LIMITATIONS

Known limitations

- The service owns one process-wide default; per-session selection remains the entry point's responsibility. - Without a settings provider, `saveSelection()` cannot retain a selection for a later Agent.