npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-plugin-git-bash

v0.3.1

Published

Use Git for Windows Bash as the default DSH shell with restricted-mode support

Readme

dsh-plugin-git-bash

DeepSeek Harness 在 Windows 上默认使用 Git for Windows Bash,并保留 DSH 的 read-onlyworkspace-writedanger-full-access 权限语义。

Git Bash 在 DeepSeek Harness 中运行

使用方法

插件安装到 profile 后,standardcodecordisminimal preset 会使用 Git Bash 代替 PowerShell。前台命令、后台命令和 Web Agent preset 共用同一个 executor。

新建会话后可以运行以下命令确认 shell:

printf 'shell=%s\nversion=%s\nmsystem=%s\n' "$BASH" "$BASH_VERSION" "$MSYSTEM"

MSYSTEM 应为 MINGW64MINGW32

Web 界面中的 Bash 工具行可以展开查看 command、cwd、stdout/stderr 和 exit status。run_code 内的 nested Bash 调用使用同一套 terminal 详情;过长的 command 会自动换行,output 则保留终端横向滚动,以维持日志和表格的列对齐。

插件只作为 bundle layer 安装到目标 profile,不修改 DSH 安装目录。

安装或更新

从 npm 安装固定版本到 Web profile:

dsh plugin --profile web add [email protected]

更新现有安装时使用同一条命令。安装完成后重启 dsh web,让 Host 和浏览器 client 同时加载新版本,然后新建会话。

安装最新版时可以省略版本号:

dsh plugin --profile web add dsh-plugin-git-bash

开发本地版本时传入 checkout 路径:

dsh plugin --profile web add C:\path\to\dsh-git-bash

权限模式

read-onlyworkspace-write

受限命令仍由 DSH Windows ACL sandbox 创建 WRITE_RESTRICTED token。插件在 sandbox 内先运行 native guard,再由 guard 启动 Git Bash:

DSH ACL runner -> msys-token-guard.exe -> bash.exe -> child processes
  • read-only 可以启动 Git Bash,但不能写 workspace。
  • workspace-write 只能写 DSH 授权的 workspace 和 private temp。

danger-full-access

该模式不经过 native guard,直接运行 Git Bash,与插件 0.1.x 的执行方式一致。

配置 Git Bash 路径

插件会自动探测 Program Files、用户安装目录和 Scoop 中的 Git Bash。Web GUI 中打开 设置 -> 插件 -> 插件配置,展开 Git Bash 卡片后可以直接输入 bash.exe 路径,或通过 选择 Git 安装目录 调用系统路径选择窗口。保存后,后续 Bash 命令会立即使用新路径;恢复默认值会回到 profile 配置或自动探测结果。

无 GUI 场景可以在启动 DSH 前设置 DSH_GIT_BASH_PATH

$env:DSH_GIT_BASH_PATH = 'D:\Apps\Git\bin\bash.exe'
dsh web

也可以直接在 profile 的 cordis.patch.yml 中为 provider 配置 executable

- id: git-bash-shell
  name: dsh-plugin-git-bash
  config:
    executable: D:\Apps\Git\bin\bash.exe

平台支持

运行时要求:

  • Windows x64
  • Node.js 24 或更高版本
  • DSH 0.1.0-rc.7
  • Git for Windows x64

npm 包包含预编译的 msys-token-guard.exemsys-token-guard-hook.dll,普通安装不需要 Visual Studio 或 CMake。当前 native guard 仅支持 win32-x64;其他架构在受限模式下返回 SANDBOX_UNAVAILABLE,不会降级到未隔离执行。

Microsoft Detours 4.0.1 源码按 MIT 许可存放在 native/vendor/detours,许可文本随 npm 包分发。Detours 的 DLL path 参数使用 Windows ANSI API,因此插件安装路径必须能由当前系统代码页无损表示,并且不能超过 MAX_PATH;不满足条件时 guard 会 fail closed。

开发

安装依赖并运行完整验证:

pnpm install
pnpm test
pnpm run pack:check

在 Windows 上重建 native artifact 还需要 Visual Studio C++ Build Tools 和 CMake 3.25 或更高版本。pnpm test 会以 C++20、静态 MSVC runtime、CFG、CET、ASLR 和 NX 构建 native guard,然后运行 Windows ACL permission matrix、fail-closed、Web client 和 package metadata 测试。

非 Windows 主机不会交叉编译 native guard,只会检查预编译 artifact 是否存在。

License

MIT