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 倉庫。

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

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

小夜