dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
中文 | English
DSH Web 插件:按工作区(workspace)管理快捷命令。为每个 DSH 工作区配置命名 shell 命令,从会话头部(Session log 左侧的 ▶ 快捷运行图标)点击即可运行,stdout/stderr 在浮动弹窗中实时显示。
需要已安装 DSH(DeepSeek Harness)。以下命令通过 dsh plugin 在目标 profile 目录中转发给 pnpm 执行;目标 profile 首次使用时会自动初始化,安装完成后插件(声明了 dsh.bundle)会自动加入该 profile 的 bundles 层,重启 DSH(dsh web)后生效。
dsh plugin --profile web add @fonlan/dsh-quick-commandsdsh plugin --profile web add github:fonlan/dsh-quick-commands也可以固定到分支 / tag:
dsh plugin --profile web add github:fonlan/dsh-quick-commands#main以 git 方式安装的插件会在安装时通过prepare脚本构建;如 pnpm 阻止了该构建,请按 pnpm 输出的提示,在/pnpm-workspace.yaml的allowBuilds中加入对应的 key,然后重新执行上述命令。
dsh plugin --profile web remove @fonlan/dsh-quick-commands卸载后该包会从 profile 的依赖与 bundles 层中移除,重启 DSH 后生效。
@dsh-ssh/dsh-ssh 远程工作区(其路径为 ~/.dsh/remote//... 下的本地占位符)时,快捷命令将流式传输到远程主机执行,而不是本地执行。命令菜单和运行弹窗会显示蓝色 SSH 徽标;当 SSH 主机未在 dsh-ssh-hosts 中配置时,连接会快速失败(附带可读的错误信息)。本地工作区不受影响——它们保持与之前完全一致的子进程行为。插件设置命名空间为 quick-commands:
{
"workspaces": [
{ "workspaceId": "<dsh workspace id>", "commands": [
{ "name": "lint", "command": "npm run lint" },
{ "name": "test", "command": "npm test" }
]}
],
"popupAnchor": "corner", // 或 "button"
"popupSize": { "width": 520, "height": 340 } // 可选,用户拖动弹窗调整手柄时写入
}占位符 · 值 {workspace} · 工作区根路径(也是执行时的 cwd) {cwd} · 会话的实际 cwd(可能是子目录) {title} · 工作区显示标题
在远程工作区上,占位符解析为 *远程* 路径:{workspace} 和 {cwd} 为远程绝对路径(当会话 cwd 位于占位符工作区内时,会被重新锚定到远程文件系统),因此 echo {cwd} 打印的是远程目录。
本地命令继承宿主进程环境,并额外设置: DSH_WORKSPACE、DSH_WORKSPACE_ID、DSH_WORKSPACE_TITLE。 远程命令在 SSH 主机上以该主机的自身 shell 环境运行(远程侧不会注入 DSH_* 变量)。
@dsh-ssh/dsh-ssh 宿主插件(它提供 sshPool 服务和 dsh-ssh-hosts 设置命名空间);缺失时,对远程占位符工作区执行的快捷命令会被明确拒绝并报错,而不是静默地在本地执行。kill -TERM -- - 加 pkill 回退),因此 sleep / 构建器等子进程也会被覆盖。命令由用户配置、用户点击执行;不涉及模型请求、无审批提示、无沙箱限制。它们以宿主进程自身的 env/PATH 在主机上、工作区目录下执行。请只配置你信任的命令。远程命令以远程用户权限通过 SSH 执行;同样的信任原则适用,并加上远程主机暴露的一切。
bash -cpwsh -c(通过 process.platform 自动检测)@dsh-ssh/dsh-ssh 所支持)pnpm install
npm run build # 宿主 tsc + 客户端 tsdown
node --experimental-strip-types --test test/remote.test.ts # 远程单元测试超级注入器流水线:在 DSH web profile 中使用 dev_build_plugin / dev_inject_plugin。
MIT