DSH / REGISTRY / MODEL-TOOLS

Model tools & skills

DSH plugins that expose callable tools, skills, language services, and MCP-backed capabilities to the model.

Catalog records29

Selection note: Review tool names, write effects, required binaries, and permission boundaries before use.

dsh-tools

Included in DSHBuilt-in source

Tool registry and execution pipeline. Tool plugins register their schemas and executors; the agent loop executes each call through `tools/pre-execute` (the extensible allow/deny gate) → monotonic registered guards → `tools/execute` (an around-dispatch wrapper for timeout/retry/metrics plugins) → `tools/post-execute` (inspect/replace the result, attach context) → the definition-owned `finalizeContent` boundary → the observe-only `tools/result` notification. The registry also owns HOW its tools are presented to the model — its `mode` config selects native function calling, Code Mode, or both, and one agent shadows that default for itself with `presentAs`.

Model toolsPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-tool-cordis

Included in DSHBuilt-in source

The self-referential Cordis toolset: five model-facing tools over the live runtime in the current DSH process. The registry, the vm sandbox, and the browser broadcast belong to `@deepseek-ai/dsh-cordis-host-runner` (`ctx.dynamic`), which this toolset injects — a composition with these tools but no runner never activates them. Design home — sandbox semantics, dynamic-package lifecycle and composition, standing decisions: the toolset Agent Note.

Model toolsPluginspreset:cordis
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Included in DSH

dsh-tool-fs

Included in DSHBuilt-in source

The **model-facing filesystem tools** — `read`, `read_image`, `write`, `edit` — and their **executor**. This is the consumer layer of the filesystem stack: it owns tool names, JSON schemas, argument validation, prompt sections, **read windowing**, and result formatting. It reads/writes/edits through the `ctx.fs` provider contract (`@deepseek-ai/dsh-fs`) **directly**. The freshness/observation policy is contributed by a separate plugin (`@deepseek-ai/dsh-fs-observation-policy`) through the `fs/*` event gate; the tool is not method-coupled to it. Under a confining provider, the shared sandbox-policy service is required for per-session execution and the tool exposes escalation for filesystem mutations.

Model toolsPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-tool-fs-search

Included in DSHBuilt-in source

The **model-facing filesystem discovery tools**—`glob`, `grep`—are backed by the **packaged ripgrep binary** (`@vscode/ripgrep`), not by `ctx.fs` provider methods and not by a system `rg` install. Registration is unconditional: the binary ships inside the npm dependency, so there is no load-time availability probe. Each call spawns the binary through the `ctx.subprocess` seam with a fixed argv vector (`--no-config` prepended so a host `RIPGREP_CONFIG_PATH` cannot inject a `--pre` preprocessor into the unconfined spawn; model-controlled values are plain argv elements — no shell layer exists, so no quoting applies), parses the raw `rg` output, and returns a workdir-relative canonical value. The package injects `tools`, `systemPrompt`, and `subprocess`—deliberately **not** `fs`; `ctx.spillStore` is read opportunistically with `ctx.get()` because formatted-result spill is optional.

Model toolsPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-tool-str-replace-editor

Included in DSHBuilt-in source

Standalone model-facing `str_replace_editor` over `ctx.fs`. It can be composed with persistent Bash, one-shot Bash, sandboxed Bash, or another terminal surface.

Model toolsPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-tool-goal

Included in DSHBuilt-in source

The model-facing control tools for `ctx.goals`: `get_goal`, `create_goal`, and `update_goal`. The goal-tool Agent Note owns the authority split and Codex-shaped UX.

Model toolsPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-tool-call-timeout-policy

Included in DSHBuilt-in source

Tool-call timeout enforcer: a single `tools/execute` around-dispatch listener that arms a per-call cooperative deadline on `exec.signal` for a tool declaring `timeoutMs` on its `ToolDefinition` and returns a structured `TOOL_TIMEOUT` result when that deadline wins. The budget is read from the tool's own declaration (`ToolDefinition.timeoutMs`, set by the owning tool plugin), so this plugin is **zero-config**. It is the reference `tools/execute` wrapper and the enforcement home for model-facing tool-call budgets (timeout-library Agent Note).

Model toolsPluginsbaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-tool-ask-user

Included in DSHBuilt-in source

Model-facing `ask_user_question` tool over `ctx.userQuestions`. It lets the model ask the human a concise question when it needs confirmation, a choice, or missing information before continuing.

Model toolsPluginspreset:codepreset:cordis
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Included in DSH

dsh-tool-jobs

Included in DSHBuilt-in source

The model-facing controller for `ctx.jobs`: three kind-independent tools, completion notices, and one background-work prompt section. Loading the plugin attaches the controller required by `ctx.jobs.start()`.

Model toolsPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-lsp

Included in DSHBuilt-in source

The **LSP capability seam**: an abstract `LspService` (`ctx.lsp`) defining WHAT semantic code navigation the harness has — go to definition, find references, find implementations, hover — over language-server providers, without binding the model contract to local subprocesses.

lspPlugins
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Included in DSH

dsh-lsp-stdio

Included in DSHBuilt-in source

A **generic stdio language-server backend** for `ctx.lsp`. One plugin instance accepts a named server table and registers one isolated provider per entry. It reads through `ctx.fs` and launches through `ctx.subprocess`, so the server and source always inhabit the mounted execution world. This is a generic host, not a language-server catalog or installer — deployments configure commands and mappings explicitly; presets belong in `cordis.yml` overlays.

lspPluginsConfigurable
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Included in DSH

dsh-tool-lsp

Included in DSHBuilt-in source

The model-facing **`lsp` tool** over `ctx.lsp`: one read-only tool with four operations for precise code navigation. It owns the model schema, prompt guidance, coordinate conversion, result limits and formatting, and UI presentation; it imports no provider.

Model toolsPluginsConfigurable
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Included in DSH

dsh-mcp-client

Included in DSHBuilt-in source

MCP client bridge plugin: connects to external Model Context Protocol servers and registers their tools on `ctx.tools`, making them available to the model as native tools under server-qualified names (`mcp__<serverName>__<rawName>`).

mcpPluginsConfigurable
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Included in DSH

dsh-tool-session-query

Included in DSHBuilt-in source

Workspace-authorized model tools over `ctx.sessionQuery`. The opt-in package depends only on the unified interface and registers `session_search`, `session_event_search`, `session_trace`, `session_event_trace`, and `session_event_read`; shipped host compositions do not mount it by default.

Model toolsPluginsConfigurable
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Included in DSH

dsh-tool-bash

Included in DSHBuilt-in source

The model-facing `bash` tool registered over the `ctx.shell` executor seam. Foreground execution stays behind that seam; a background process handle is registered with the generic `ctx.jobs` runtime and controlled through `job_output`, `job_list`, and `job_kill` from `@deepseek-ai/dsh-tool-jobs`.

Model toolsPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Tools
1
Availability
Web

dsh-tool-bash-persistent

Included in DSHBuilt-in source

Model-facing `bash(command)` backed by one owner-scoped `ctx.terminals` shell. The package owns the tool contract and shell reuse; deployments select the PTY backend and sandbox policy.

Model toolsPluginsConfigurablepreset:minimal
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Included in DSH

dsh-tool-pwsh

Included in DSHBuilt-in source

The model-facing `pwsh` tool registered over the `ctx.shell` executor seam. Intended for Windows compositions where a PowerShell executor (e.g. `@deepseek-ai/dsh-pwsh-local`) backs `ctx.shell`; the tool contract is PowerShell-dialect: native `C:\...` paths and `$env:NAME` variables. Behavior mirrors `dsh-tool-bash` call-for-call — foreground and `run_in_background` execution through the generic job runtime, the managed `DSH_*` environment through the shared `shell-env` registry, the sandbox denial rendering with the same-turn `sandbox_permissions` escalation surface, and the bash marker/truncation rendering story (a clean exit produces no marker).

Model toolsPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-skill

Included in DSHBuilt-in source

Pure agent skill provider registry.

skillPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-skill-badge

Included in DSHBuilt-in source

Optional bundled skill provider that contributes `dsh-badge` to `ctx.skills`. The skill supplies the official “powered by dsh” Markdown snippets and the packaged PNG for systems that cannot import a remote image reliably.

skillPluginsbaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-skill-filesystem

Included in DSHBuilt-in source

Local filesystem provider for the `ctx.skills` registry.

skillPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-tool-skill

Included in DSHBuilt-in source

The model-facing skill catalog and `skill` tool.

Model toolsPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-tool-subagent

Included in DSHBuilt-in source

The model-facing delegation tool over one configured `ctx.subagents` provider. Changing the provider changes transport without changing the execution contract.

Model toolsPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-tool-subagent-control

Included in DSHBuilt-in source

The optional, globally named `send_message`, `interrupt_agent`, and `list_agents` tools are thin adapters over `ctx.subagents`. Provider-bound `@deepseek-ai/dsh-tool-subagent` instances register distinct delegation tools per transport; this separately loaded package registers shared control tools once, so multiple delegation tools never register duplicate global controls. The root plugin registers `send_message` and `interrupt_agent` and requires only `subagents`; the separately loadable `./list-agents` plugin registers `list_agents` and declares `subagents` plus `agents` as load-time dependencies. Its catalog reads additionally require the session store and projection registry at call time, but no query service. A deployment can keep the root tools while omitting the list tool. No tool's presence determines whether a delegation tool starts continuable work. These tools own only the parent-to-child direction; the independently installed `@deepseek-ai/dsh-tool-subagent-report` owns the child-to-parent direction.

Model toolsPluginsbaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-tool-subagent-report

Included in DSHBuilt-in source

The optional child-scoped `report` tool is a thin adapter over `ctx.subagents.reportFrom()`. It gives every continuable in-process child a return channel to the Agent that started it, and installs the prompt section that instructs the child to use it. The package registers a continuable-child setup contribution instead of a global tool, so the tool and its guidance exist only inside those children. Roots, one-shot subagents, remote subagent providers, sibling scopes, and agentless tool execution never present or execute it. Installing this package grants only that child-scoped capability; the parent-to-child direction remains the independent `@deepseek-ai/dsh-tool-subagent-control`, and continuable mode depends on neither package.

Model toolsPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-tool-terminal

Included in DSHBuilt-in source

Six model-facing tools over `ctx.terminals`: `terminal_open`, `terminal_send`, `terminal_read`, `terminal_signal`, `terminal_close`, and `terminal_list`. Every operation requires the exact initiating `Agent`, so a model cannot address another agent's terminal even if it learns the id.

Model toolsPluginsConfigurable
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Included in DSH

dsh-tool-todo

Included in DSHBuilt-in source

The model-facing `todo_write` tool: the agent's whole task list, replaced wholesale on each call.

Model toolsPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-tool-web

Included in DSHBuilt-in source

The model-facing web tool suite — `web_search` and `web_fetch` — over the web capability seam (`ctx.web`). It owns model-facing concerns only: tool names, JSON schemas, snake_case argument names, prompt sections, the result-count bound, result formatting, HTML→markdown presentation, and the UI presentation projection — `presentCall`, `presentResult` (a `card: 'web'` result card discriminated by `kind: 'search' | 'fetch'`), and the `output.presentationMeta` that carries the structured search sources or the fetch summary the lossy render text cannot (see the web-result-card Agent Note). All web access goes through `ctx.web`; this package never imports a concrete provider. Neither tool exposes a model-facing timeout — each tool's cooperative tool-call budget is declared here via config (`fetchTimeoutMs`/`searchTimeoutMs`, attached as `ToolDefinition.timeoutMs`) and enforced by `@deepseek-ai/dsh-tool-call-timeout-policy` (a `tools/execute` wrapper); each tool just forwards `exec.signal` to the seam.

Model toolsPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-tool-ralph

Included in DSHBuilt-in source

The model-facing `ralph` tool runs a fixed foreground workflow that gives one immutable objective to a sequence of fresh child agents. It demonstrates a specialized orchestration policy as an ordinary plugin over `ctx.workflowEngine` and `ctx.subagents`: no Ralph mode or fresh-agent loop is added to `agent-loop`, and the same-session goal domain remains independent. The Ralph Agent Note owns the policy and deferred work.

Model toolsPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web

dsh-tool-workflow

Included in DSHBuilt-in source

The model-facing **`workflow` tool**: run a JavaScript orchestration script that fans out subagents, and return the script's final value. This package owns the model-facing schema and run lifecycle over `ctx.workflowEngine`; script parsing, execution, caps, and cancellation live behind the seam, while the consumer retains ownership of the parent-facing schema and result envelope.

Model toolsPluginsConfigurablebaseheadless
HOSTCLIENTUITOOLDATAFLOW
Version
0.1.0-rc.5
Type
Plugins
Availability
Web