T-Auto/dsh-ops ↗★ 75
dsh-ops
Provides bash, PowerShell 7, and a suite of high-performance tools written in Rust for Windows DSH to enhance token efficiency 适合Windows桌面端、需要执行高性能本地命令和提升Token效率的用户。
Other repositories with this package name
Install
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:T-Auto/dsh-opsREADME
Read the full README ↗配置方式与工具列表
在 DSH 的配置编辑器中找到对应的 dsh-ops/shell、dsh-ops/file 或 dsh-ops/background 行,调整 config 后保存;未知配置键会点名报错。也可直接在市场切换组件。主要配置:
config:
# background component only; its market row is disabled by default
enableShellTools: true
publishBashTool: true
promptPolicy: true
toolCallTimeoutMs: 300000
required: false
shellPolicy: advise
allowSystemShellFallback: false
# Managed update metadata; do not remove after the first startup self-check
# configUpdateVersion: 1
# binaryPath: 'C:\tools\fastctx.exe'
# bashPath: 'C:\tools\bash.exe'
enableShellTools:后台组件的部署开关,开启仍须会话danger-full-access才发布四个后台工具;文件组件不发布命令工具。publishBashTool:是否发布ops_bash,同样要求完全权限和宿主 subprocess 服务。promptPolicy:是否注入该组件的运行时说明;可用extraGuidance追加指导。toolCallTimeoutMs:FastCtx RPC 等待超时,不代表服务端工作已终止。required:运行时不可用时是否拒绝激活。shellPolicy:默认advise;deny-host-shell拒绝deniedHostTools列表中的宿主 shell(默认[pwsh, bash, pwsh_persistent])。这也会禁用第三层 pwsh,谨慎开启。allowSystemShellFallback:默认false,随包/已 provision 的 bash 缺失时不探测系统 PATH 或常见安装目录;后台组件也不绕过此选择调用 FastCtx 的自动探测。只有显式设true才使用未固定摘要的系统 bash,请自行信任与维护该执行器。显式bashPath是另一种操作者选择,并非自动回退。首次升级启动的迁移见下方“更新配置修改区”。shellPolicy与此开关独立:deny-host-shell遮蔽/拒绝宿主工具;禁止系统回退只约束插件自己的 bash 解析,不关闭宿主pwsh,也不提供文件系统沙箱。binaryPath/bashPath:可选显式路径;不可用时报错,不悄悄换执行器。一般无需配置。
| 工具 | 用途 | 完全权限要求 |
|---|---|---|
ops_inspect_local_file | 批量文本范围、编码、PDF 文本、hex | 无命令权限门¹ |
ops_grep | Rust 正则搜索、多文件过滤、计数/摘要 | 无命令权限门¹ |
ops_glob | 多模式找路径,支持排除 | 无命令权限门¹ |
ops_replace | 跨文件批量替换;精确编辑仍用宿主 edit | 无命令权限门¹ |
ops_bash | 优先的通用 bash 命令执行器 | 是 |
ops_run_background | 启动后台任务 | 是 |
ops_job_output / ops_job_list / ops_job_kill | 查看、列出、停止当前会话启动的任务 | 是 |
宿主 pwsh | 使用随包 PowerShell 7 的 Windows 原生操作 | 沿用宿主策略 |
¹ 文件工具不是宿主文件系统沙箱。 它们未接入 DSH 的受限文件后端,尤其 ops_replace 没有 workspace confinement。不要把该插件提供的部分工具视为不可信受任限环境的安全方案。
更新配置修改区
lib/config-updates.js 集中维护一次性配置迁移。0.2.5 首次启动时逐个自有配置行执行自检:
- 未完成迁移(无
configUpdateVersion或值为0):把旧allowSystemShellFallback: true改为false,在任何执行器解析/工具发布前生效。 - 通过官方 loader 的配置生命周期写回该行,并加入
configUpdateVersion: 1;保留其它字段,不修改外来插件、PATH 或全局配置。未启用的组件在它首次启动时迁移。 - 完成后重启/热加载不再覆盖;你之后主动改回
true会被保留。不要删除迁移标记,否则会重新自检。 - 没有 loader 配置行时只应用本次运行的安全值并告警;写入失败由迁移/loader 日志报告,未落盘的标记不能保证跨重启一次性。