前言¶
DeepSeek Harness (DSH) 的核心设计理念是将能力拆分为可插拔的组件。虽然 DSH 原生提供 bash 工具,但开发者有时需要使用 Nushell 的语法来处理数据。dsh-nushell 插件解决了这个问题,它作为一个 Profile Bundle,让 DSH 能够通过 Nushell 执行原本的 bash 工具逻辑。
插件定位¶
dsh-nushell 是由 daief 维护的一个 Profile Bundle。它不替代 DSH 的沙箱或超时机制,而是通过 Nushell 的解释器接管命令执行,保持了对现有 DSH 生态的兼容性。
核心功能¶
- 命令执行代理:将 DSH 的
bash工具调用转换为 Nushell 的nu --no-config-file -c <command>命令。 - 环境隔离:执行过程中忽略用户的
config.nu和env.nu,避免配置冲突。 - 机制复用:将沙箱、超时控制及输出处理完全委托给 DSH 的原有机制。
安装与启用¶
使用前请确保环境满足以下条件:
* DSH 版本为 0.1.0-rc.7。
* Node.js 版本 >= 22.19.0。
* 系统中已安装 Nushell 并可通过 PATH 调用。
安装命令如下:
dsh plugin --profile web add dsh-nushell
安装完成后,重启对应的 Profile(将命令中的 web 替换为你实际使用的 Profile 名称)。
典型用法¶
在 DSH 中,该工具的名称仍保持为 bash。调用时,需编写 Nushell 语法。以下是几个典型示例:
- 过滤文件列表:
bash ls | where type == file | get name
- 读取 JSON 数据:
bash open package.json | get name
- 访问环境变量:
bash $env.DSH_WEB_URL
注意事项¶
- 无状态:Shell 状态、别名和变量不会在工具调用之间持久化,每次调用都会创建新的 Nushell 进程。
- 工作目录:必须使用工具提供的
workdir参数,不要依赖上一次调用的cd状态。 - 兼容性:插件与 DSH 0.1.0-rc.7 的契约对齐,升级 DSH 前请验证兼容性。
结语¶
dsh-nushell 提供了在 DSH 中使用 Nushell 的轻量级方案,无需修改工具名称即可享受 Nushell 的数据处理能力。更多细节请参考 GitHub 仓库。