dsh-wsl-preset

DSH 標準模式在 Windows 上默認使用 PowerShell 作爲 shell,但開發工作常需 Linux 命令(如 grep、rsync 等)。dsh-wsl-preset 將 DSH 標準模式中的 shell 調用映射到 Windows Subsystem for Linux (WSL),讓 Windows 上的開發環境擁有完整的 Linux 命令行能力。

插件定位

  • 名稱:dsh-wsl-preset
  • 維護者:yukitakasama
  • 類別:工作流
  • 許可證:MIT

核心能力

  • 一鍵安裝:通過 dsh plugin 一鍵安裝「WSL 模式」agent preset。
  • 環境映射:將 shell 執行器改爲 wsl -e bash -c,保留標準 persona 和完整工具表面(bash、文件系統、搜索、技能、工作流、委託、present 等)。
  • 自動探測:自動探測 wsl.exe 是否可用,無需硬編碼路徑。
  • 沙箱感知:WSL 無法在 Windows 受限令牌沙箱內啓動,僅允許在完全訪問策略下執行,受限時給出明確的升級指引。
  • 冪等自修復:插件啓動時將預設裝進 ${DSH_HOME:-~/.dsh}/.agent-presets/wsl/,已存在文件不一致時自動刷新,修復舊版本遺留問題。

安裝

推薦方式:GitHub 直裝

dsh plugin --profile web add github:yukitakasama/dsh-wsl-preset

鎖定特定版本:

dsh plugin --profile web add github:yukitakasama/dsh-wsl-preset#v0.3.0

使用流程

  1. Web 界面新建會話,選擇 WSL 模式。
  2. 啓用命令執行:
    • 將會話沙箱切換到完全訪問,之後所有命令直接走 WSL。
    • 或保持 workspace-write,讓模型在第一次調用失敗後按提示使用 sandbox_permissions: "danger-full-access" + justification 單次升級。

配置與限制

預設配置(agent-presets/wsl/agent.cordis.yml 中的 wsl-executor):
* timeoutMs:120000(單次命令默認超時)
* maxTimeoutMs:600000(超時上限)
* maxOutputBytes:64000(單流保留字節數)
* maxSpillBytes:67108864(spill 文件上限)
* graceMs:3000(SIGTERM→SIGKILL 寬限)

插件配置(cordis.patch.yml 插入行):
* autoUpdate:true(已裝預設與包內文件不一致時自動刷新)
* force:false(即使文件已經一致也覆蓋)

限制:
* 沙箱限制:會話沙箱爲 workspace-write(或更窄)時,WSL 無法啓動,必須切換完全訪問或單次升級。
* 狀態隔離:每次命令調用均爲新 shell,不保持 cd/export 狀態。
* 工具名:工具名固定爲 bash。
* 系統要求:需系統已安裝並啓用 WSL。

生態背景

DSH 理念爲「一切皆插件」。本插件由社區維護,與 DeepSeek / 幻方無官方從屬關係。

參考資料

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

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

小夜