Introduction

The plugin-based architecture of DeepSeek Harness (DSH) enables integration of rich tool capabilities. However, in practice, exposing all available tools to the model at once significantly increases initial context length, which may lead to attention dispersion or trigger unnecessary permission requests. The dsh-tool-activator plugin streamlines the initial tool list and changes the tool-loading strategy from “displaying everything” to “loading base tools by default and activating other tools on demand.”

Core Features

The plugin primarily addresses the problem of excessive initial tool context, and provides the following capabilities:

  • Streamline initial context: By default, only base tools are exposed to the model, and other tools are hidden.
  • On-demand loading: The model calls the activate_tools interface to dynamically load specific tools or tool groups when needed.
  • Fixed base tools: A fixed set of base tools is provided and cannot be disabled.
  • Configuration support: Supports configuring requireApproval (approval policy) and autoGroupMcp (MCP tool aggregation).
  • Tool grouping management: Supports structured grouping configuration for tools.
  • State persistence: Activation state is restored with the session log and seed.

Working Mechanism

By default, the DSH runtime exposes the following to the model: base tools, activated tools, the activate_tools interface definition, and an <available_tools> catalog for inactive tools (containing only identifiers, names, and short descriptions).

Default Base Tools

The following eight tools are always available by default and cannot be disabled:
read, glob, grep, write, edit, skill, ask_user_question, todo_write

On-Demand Activation Example

The model can request activation of specific tools or tool groups. The request format is JSON, including a list of identifiers and the activation reason:

{
  "identifiers": ["web_search", "web_fetch"],
  "reason": "需要检索并核对用户要求的公开资料"
}

An example of the <available_tools> catalog content is as follows:

<available_tools description="These tools are installed but not yet enabled. Use activate_tools to enable them when needed.">
  <tool identifier="web_search" name="web_search">Search the public web for current information.</tool>
  <tool identifier="mcp.mail" name="mail">send: Send a message through the mailbox.</tool>
</available_tools>

Configuration

Configuration is performed through the official plugin management page. Open the dsh-tool-activator plugin card page to view the configuration form.

Tool List Sections

The form divides tools into two sections:

  1. Default activation: Tools with full schemas included in every request. Base tools (such as read, write, etc.) are fixed here and are marked as “base tools,” and cannot be disabled.
  2. On-demand activation: Other installed and visible tools. The model can obtain them by using activate_tools.

Toggle an item in the list to move it between “Default activation” and “On-demand activation.”

General Configuration

  • requireApproval: Controls activation behavior under non-full permissions. When the model attempts to activate a tool, if the approval policy is not passed, the plugin directly rejects the request (unless the current process has full permission danger-full-access).
  • autoGroupMcp: When enabled, MCP tools are aggregated and displayed as mcp.server based on the server prefix (such as mcp__server__tool).

Tool Groups

In the “Tool Groups” section, use the structured editor to manage tools. Each group contains an identifier, name, description, tool selection (from the actual tool list), and a description-section binding. If left empty, each tool becomes an independent entry.

System Requirements

  • DeepSeek Harness (DSH) version: \(\ge\) 0.2.0-rc.2
  • Node.js version: \(\ge\) 22.19.0

Testing and Status

According to the test record from 2026-10-11, after the full-permission fix, the plugin passed tests across 12 files and 304 test cases. It also passed lint, type checking, and the build process.

Ecosystem Context

The DSH philosophy is “everything is a plugin.” This plugin is maintained by community developer hairyf and follows the MIT License. Third-party notices are available in THIRD_PARTY_NOTICES.md. The community directory has no official affiliation with DeepSeek / High-Flyer.