DeepSeek Harness (DSH) uses a plugin-based architecture. Developers often need to execute Git operations or dependency management commands in Agent sessions. Calling Shell scripts directly can lead to inconsistent return formats and a lack of type constraints. This section introduces dsh-engineer-tools, which encapsulates common engineering commands into structured Host Tools, enabling Agents to perform these tasks in a more focused and secure way.

Plugin Scope

dsh-engineer-tools is a DSH plugin maintained by bycall, designed to provide tooling support for engineering scenarios. It includes a scoped Git runner and a package manager runner, and provides extensible tool templates. The plugin is licensed under the MIT license, consists of pure ESM code, and has no build step.

Core Features

Git Tool

This tool allows the Agent to execute git subcommands in the session workspace, supporting status, diff, log, branch, show, and others. It returns stdout, stderr, and exitCode for subsequent logical processing.

Package Manager Tool

It supports four mainstream package managers: npm, pnpm, yarn, and bun. It can execute lifecycle commands (such as install, outdated, audit) and development scripts (such as test, build, lint). When manager: auto is specified, the tool automatically detects the package manager used by the current project based on the lockfile.

Execution Mechanism

All tools run commands with Agent permissions and are strictly constrained by DSH sandbox and approval policies, ensuring a controllable execution process.

Installation and Activation

  1. Install the plugin
    Use the official install command to add the plugin to the specified profile (using the web profile in the example):
    dsh plugin --profile web add dsh-engineer-tools
It can also be installed from a local directory source:
    dsh plugin --profile web add /path/to/dsh-engineer-tools
  1. Activate
    After installation is complete, restart DSH.app. The Agent can then call the git and dev tools in subsequent conversations.

  2. Uninstall
    To remove the plugin:

    dsh plugin --profile web remove dsh-engineer-tools

Typical Usage

After installation takes effect, the Agent can directly call the encapsulated tools.
* When calling the git tool, pass a specific git subcommand, such as git status or git log -1.
* When calling the dev tool, you can specify a package manager or use manager: auto for automatic detection. For example, to run a build: dev build.

Applicable Scenarios and Technical Notes

  • Applicable scenarios: Suitable for software engineering scenarios that frequently require Git operations or dependency management in DSH Agent sessions.
  • Technical details:
    • The plugin strictly follows the registration pattern of @deepseek-ai/dsh-tool-bash.
    • In dependency declarations, the peerDependencies version ranges must be listed individually. Loose matching (such as >=) should not be used, otherwise it may break module-level Symbol markers and cause runtime errors.
    • The plugin applies cordis patches via bundle.patch in the dsh configuration.

dsh-engineer-tools simplifies the invocation process of engineering commands through standardized interfaces. Developers can refer to its source code structure to quickly extend additional DSH-compliant tools.

GitHub repository