dsh-coding-preset:DSH coding 模式在 Windows 上使用持久 pwsh 的预设

前言

在 DSH 的插件/预设生态中,coding 模式需要稳定的命令执行环境。已核实资料给出的官方路径里,minimal 预设使用持久 bash;dsh-coding-preset 针对 Windows,将 shell 换成持久 PowerShell 7(pwsh),并保留官方 minimal 的 coding 会话边界:只暴露 pwshstr_replace_editor

需要说明:资料标记该包为 DEPRECATED,并指出 DSH 官方 minimal 模式现在默认提供同类功能。下面按已核实事实介绍其定位、能力、安装方式和限制。

这是什么

Saikel-Orado-Liu/dsh-coding-preset 是一个 Windows 适配的 DSH coding-mode agent preset。它的目标是让 DSH web profile 在 Windows 上使用持久 pwsh 会话,而不是官方 minimal 预设中的持久 bash。

已核实资料中的关键边界:

  • 保留官方 minimal persona:You are a helpful software engineer assistant.
  • coding 模式会话只暴露两个工具:pwshstr_replace_editor
  • 持久 shell 基于 node-pty/ConPTY
  • 许可证为 MIT
  • README 标记为 DEPRECATED,建议使用 DSH 官方 minimal 模式

核心能力

持久 pwsh

danger-full-access 下,它提供 persistent PTY 执行。同一会话中的变量、函数、别名和当前目录在调用之间保留。

read-onlyworkspace-write 下,执行走一次性 pwsh -Command 路径,状态不保留。

沙箱提权

受限命令被拒绝时,可以携带 sandbox_permissionsjustification 发起单次审批,经过 ctx.approval 处理。拒绝或缺少 justification 时按失败关闭处理。

该提权只作用于单次调用,不改变会话模式。

模式切换

有效 sandbox mode 发生变化时,它会关闭 persistent terminals,并在下一次调用时按新模式重建 shell。

安装与国际化

安装到 DSH web profile 时,postinstall 会部署 preset 文件与内部包;也支持手动部署。资料说明包含英文和简体中文 locale 支持。

安装与启用

前置

本机需要有 PowerShell 7(pwsh),不是 Windows PowerShell 5.1(powershell.exe)。

安装到 web profile

先安装到 web profile:

npx @deepseek-ai/dsh plugin --profile web add @gamegeek-saikel/dsh-coding-agent-preset

再启动 DSH:

npx @deepseek-ai/dsh web

如果 DSH CLI 已全局安装,也可以改用 dsh

dsh plugin --profile web add @gamegeek-saikel/dsh-coding-agent-preset
dsh web

注意:已核实资料中的 package.json name@gamegeek-saikel/dsh-coding-preset,与上面安装命令中的 @gamegeek-saikel/dsh-coding-agent-preset 不一致。本文按资料给出的安装命令记录;实际安装前应确认 npm 上可安装的包名。

手动部署

如果不用 npm 包安装,可以手动部署:

1、把 agent.cordis.ymlpreset.yml 复制到:

~/.dsh/.agent-presets/coding/

2、运行 install.ps1,把两个内部包复制到:

~/.dsh/profiles/node_modules

以及 harness 的 node_modules

典型用法

持久性检查

danger-full-access 会话中,可以这样检查持久性:

1、运行:

Write-Output "hello"

2、再运行一条读取上一命令所设变量的命令。

如果第二条命令能读到第一条命令留下的状态,说明持久 shell 生效。

受限模式

read-onlyworkspace-write 会话中,命令按一次性 pwsh -Command 执行。不要期待变量、函数、别名或当前目录跨命令保留。

单次提权

如果受限命令因文件访问被拒绝,输出中会提示可重试一次并携带 sandbox_permissions。重试时使用 justification 说明原因;获批后仅当前调用生效,会话模式不变。

适用场景与注意

适合:

  • 在 Windows 上使用 DSH coding 模式,并希望命令执行落在持久 pwsh 的开发者
  • 希望 coding 会话只暴露 pwshstr_replace_editor 的使用者
  • 需要在 danger-full-access 与受限模式之间保持明确行为边界的使用者

注意:

  • 该包被标记为 DEPRECATED。如果 DSH 官方 minimal 模式已可用,优先使用官方 minimal 模式。
  • 它要求 pwsh,不要求也不兼容 Windows PowerShell 5.1 的 powershell.exe
  • 插件/预设会随当前 DSH 进程运行。安装前应检查源码、依赖、命令包装、PTY 后端子进程行为和沙箱逻辑,并确认许可证 MIT 符合使用要求。
  • DSH 的社区目录是独立站点,不等同于 DeepSeek 或幻方的官方应用商店;不要把该 preset 理解为官方应用商店中的默认组件。

结尾

dsh-coding-preset 的价值在于把 DSH coding 模式的 Windows 路径聚焦到持久 pwsh 和两个固定工具上。由于资料标明它已弃用,当前更稳妥的做法是先确认 DSH 官方 minimal 模式是否已覆盖需求;若仍要安装该 preset,应按本文步骤检查 pwsh、安装命令、包名和源码。

GitHub:https://github.com/Saikel-Orado-Liu/dsh-coding-preset

目录页:本文资料未提供固定 URL,可在 DSH 社区目录中按 dsh-coding-preset 查找。

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

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

小夜