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¶
- 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
-
Activate
After installation is complete, restart DSH.app. The Agent can then call thegitanddevtools in subsequent conversations. -
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
peerDependenciesversion 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.patchin the dsh configuration.
- The plugin strictly follows the registration pattern of
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.