Introduction¶
The core design philosophy of DeepSeek Harness (DSH) is to split capabilities into pluggable components. Although DSH natively provides the bash tool, developers may sometimes need to use Nushell syntax to process data. The dsh-nushell plugin solves this problem. As a Profile Bundle, it allows DSH to execute the original bash tool logic through Nushell.
Plugin Positioning¶
dsh-nushell is a Profile Bundle maintained by daief. It does not replace DSH’s sandbox or timeout mechanisms, but instead takes over command execution through the Nushell interpreter, maintaining compatibility with the existing DSH ecosystem.
Core Features¶
- Command Execution Proxy: Converts DSH
bashtool calls into Nushell commands in the form ofnu --no-config-file -c <command>. - Environment Isolation: Ignores the user’s
config.nuandenv.nuduring execution to avoid configuration conflicts. - Mechanism Reuse: Fully delegates sandboxes, timeout control, and output handling to DSH’s existing mechanisms.
Installation and Activation¶
Before use, ensure your environment meets the following requirements:
* DSH version is 0.1.0-rc.7.
* Node.js version >= 22.19.0.
* Nushell is installed on the system and accessible via PATH.
The installation command is as follows:
dsh plugin --profile web add dsh-nushell
After installation is complete, restart the corresponding Profile (replace web in the command with the Profile name you are actually using).
Typical Usage¶
In DSH, the tool name remains bash. When invoked, you need to write Nushell syntax. The following are several typical examples:
- Filter a file list:
bash ls | where type == file | get name
- Read JSON data:
bash open package.json | get name
- Access an environment variable:
bash $env.DSH_WEB_URL
Notes¶
- Stateless: Shell state, aliases, and variables are not persisted between tool calls; each invocation creates a new Nushell process.
- Working Directory: You must use the
workdirparameter provided by the tool. Do not rely on thecdstate from a previous invocation. - Compatibility: The plugin is aligned with the DSH 0.1.0-rc.7 contract. Verify compatibility before upgrading DSH.
Conclusion¶
dsh-nushell provides a lightweight solution for using Nushell within DSH. It lets you benefit from Nushell’s data processing capabilities without changing the tool name. For more details, please refer to the GitHub repository.