dsh-nushell: DeepSeek Harness Profile Bundle for Nushell

前言

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 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜