🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

运行环境切换 yukitakasama/dsh-env-switch

DeepSeek Harness
yukitakasama79 天前有提交已提供中文文档扫描:含敏感能力

切换 agent 的命令方言与运行环境,实时生效

26.6/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/7 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add yukitakasama/dsh-env-switch
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · other
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 1 处,展示前 1 条)
  • 读取本地文件
    verify-env.mjs:70
    const persisted = readFileSync(settingsPath, 'utf8')
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/dsh-settings
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 切换命令方言
  • 切换运行环境
  • 实时生效

README

由 DeepSeek 最新模型翻译生成
env-switch(运行环境切换)插件 在 dsh WebUI 中切换 agent 的运行环境与命令方言(bash / pwsh / git-bash)。切换实时生效:下一次发送消息或开启新会话时,模型就会按新环境的命令约定工作。 用法 /env # 查看当前环境与可用环境 /env bash # 切换到 Linux / Bash 环境 /env pwsh # 切换到 Windows PowerShell 环境 /env git-bash # 切换到 Git Bash 环境(默认) 切换结果写入 settings(跨会话持久化),系统提示的「当前运行环境」段落每次请求动态渲染,因此: - 当前会话的下一条消息:模型即按新方言编写命令; - 新会话:继承最后一次切换的环境(或部署默认 defaultShell)。
展开完整文档(README 剩余 1 节)
env-switch(运行环境切换)插件

在 dsh WebUI 中切换 agent 的运行环境与命令方言(bash / pwsh / git-bash)。切换实时生效:下一次发送消息或开启新会话时,模型就会按新环境的命令约定工作。

用法

/env # 查看当前环境与可用环境 /env bash # 切换到 Linux / Bash 环境 /env pwsh # 切换到 Windows PowerShell 环境 /env git-bash # 切换到 Git Bash 环境(默认)

切换结果写入 settings(跨会话持久化),系统提示的「当前运行环境」段落每次请求动态渲染,因此:

- 当前会话的下一条消息:模型即按新方言编写命令;
- 新会话:继承最后一次切换的环境(或部署默认 defaultShell)。

它做什么(机制)

| 部分 | 机制 |
| /env 命令 | 查看/切换环境;非法值拒绝 |
| 状态持久化 | settings 命名空间 env({ shell: 'bash'\|'pwsh'\|'git-bash' }),文件落在 ~/.dsh/settings.yaml |
| 模型感知(实时) | system-prompt section env-switch/current(order 150):text 是函数,每次请求组装时读取当前环境并渲染方言与执行指导 |
| shell 内可查 | 注册 DSH_SHELL_DIALECT 到 shell-env:模型每次 shell 调用可用 $env:DSH_SHELL_DIALECT 查询当前方言 |

各环境的提示内容(注入系统提示):

- bash:bash 方言(ls/grep/sed…)、POSIX 路径、$VAR 变量;
- pwsh:PowerShell 方言(Get-ChildItem/Select-String…)、原生 C:\... 路径、$env:NAME 变量,并指导通过 pwsh -NoProfile -NonInteractive -Command "..." 包装执行;
- git-bash:bash 方言,路径同时支持 C:\Users\... 与 /c/Users/...。

安装

临时挂载(仓库根):
pnpm dsh web --patch ./env-switch/cordis.yml

长期启用:把 env-switch/cordis.yml 的 insert 段合并进 $DSH_HOME/profiles/web/cordis.patch.yml(本机已合并)

cordis.yml 里的 name 是绝对路径;仓库位置不同请修改。

配置

| 配置项 | 默认 | 说明 |
| defaultShell | git-bash | 新用户首次使用前的环境 |

文件结构

env-switch/
src/index.ts # 插件本体(/env 命令 + 动态提示 + DSH_SHELL_DIALECT) cordis.yml # Web overlay 挂载配置 package.json # type: module(Node 加载 .ts 需要) verify-env.mjs # 离线验证脚本(隔离 DSH_HOME) README.md # 本文档

验证

node env-switch/verify-env.mjs

覆盖:/env 查看与切换、非法环境拒绝、幂等、settings 持久化、system-prompt section 在 bash/pwsh/git-bash 间切换后的实时渲染。

说明与边界

- 切换的是模型感知的环境与命令约定(方言、路径、执行指导);实际 shell 执行仍走当前组合挂载的 ctx.shell 执行器(Windows 上为 Git Bash)。pwsh 环境下模型通过 pwsh -NoProfile -NonInteractive -Command "..." 包装执行 PowerShell 命令。
- 若要切换 ctx.shell 的执行器实现本身(bash-local ↔ pwsh-local),属于组合/配置层变更(profile 的 shell backend 行),不属于本插件范围。
- 插件注册依赖 settings、systemPrompt、shellEnv、commands 服务(base bundle 均自带)。
预览分享卡片长什么样 ↓yukitakasama/dsh-env-switch
分享 · DeepSeek Harness Hub
yukitakasama/dsh-env-switch

切换 agent 的命令方言与运行环境,实时生效

这是你的仓库?认领条目

回到顶部