Files
deepseek-harness/packages/core/agent-default-model
imccyu 2c85c484d3 build(release): reference workspace members through the workspace protocol
1504 hand-written ranges pointing at workspace members become workspace:^, so
pnpm pack substitutes each member's real version at publication: sibling
peerDependencies follow the family version instead of being pinned at ^0.0.1,
and a reference to a vendored package follows that package's own line. Without
this, publishing 0.0.2 ships peer ranges naming a version that does not exist,
and 0.0.1-rc.1 does not satisfy ^0.0.1 either.

It also retires ranges that had gone stale against the workspace: ^4.0.0-rc.6
for a 4.0.0-rc.7 checkout, ^3.17.0 for schemastery 3.18.0.

workspace:* stays where an exact published version is the point, which is how
the Landlock entry pins its platform packages.

A workspace constraint now requires the protocol, so a new package cannot
reintroduce a hand-written range. The same constraint caught packages/boot/cmdline
arriving on master without the publishable trio, which this change completes.
2026-08-11 00:17:09 +08:00
..

@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. AgentDefaultModelService 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.