携带一份技能加 6 个 Node 脚本,用来处理装完起不来的 DSH——沿 readiness 之前的引导阶段、profile 下的插件依赖桥与 junction、失效或重复的插件行、以及升级路径逐段排查。脚本默认只诊断,重建脚本只有显式加 --fix 才写盘。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-repair
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:gezi-wen/dsh-repair
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
一个 DSH 插件,内容只有一份技能:安装时把包内的 skills/ 注册为一个技能根,于是这份技能随插件进入 agent 的技能目录。
dsh plugin --profile web add dsh-repair
技能覆盖什么
- 起不来怎么查:boot 崩在 readiness 之前(
ERR_MODULE_NOT_FOUND、cannot resolve profile bundle)、插件node_modules里 junction/symlink 穿透损坏、树外插件的依赖桥悬空 - 活着但残废:服务静默失效(模型页缺提供方、按钮死)、配置能解析但
apply抛异常、适配器静默丢弃它目录里没有的模型 id、日志干净却功能死了 - 依赖桥:树外插件(
link:)拿不到宿主核心包时的桥机制,以及bridge-doctor.js/bridge-rebuild.js的体检与重建 - 升级 DSH:升级前停实例、备份、隔离预演;升级后的三层验证与
settings.yaml复查 - Windows 远程作业:跨机经 SSH 收拾 Windows 上的 DSH 时的一整份坑清单(进程生命周期、引号转义、PowerShell、pnpm junction、路径漂移)
scripts/ 里六个脚本随技能一起发:bridge-doctor.js(只读体检)、bridge-rebuild.js(重建,dry-run 优先)、bridge-lib.js(共用探测逻辑)、dep-diff.js(两棵 node_modules 版本表 diff)、inspect-session.js(从会话文件取运行时证据)、link-doctor.js(审计/修复 symlink 与 junction)。路径一律从 --home 或 $DSH_HOME 解析,没有写死任何一台机器。
布局
package.json # dsh.bundle.patch → cordis.patch.yml
cordis.patch.yml # 插入一行 @deepseek-ai/dsh-skill-filesystem,customSkillDirs 指向 skills/
skills/
dsh-repair/
SKILL.md
references/
templates.md
windows-pitfalls.md
scripts/
package.json # {"type":"commonjs"} —— 本包是 ESM 包,这六个脚本是 CommonJS
bridge-doctor.js
bridge-lib.js
bridge-rebuild.js
dep-diff.js
inspect-session.js
link-doctor.js
cordis.patch.yml 用的机制和 DSH 自带 agent preset 装载自己的技能是同一套:!!js 里的 baseUrl 解析到本包,所以路径跟着安装位置走。
License
MIT
链接
同类插件
yjh051108/dsh-routing-suite★ 6994
一个仓库三件套:DSH 插件包的运行时注入器(注入、热重载、卸载、开发侧挂区一键转正、路由自愈,外带设置页插件管理:列出、卸载、拖入文件夹内化)、任务感知的思维模式路由 agent 预设(router-standard / router-spec / router-react)、以及分级两级任务协议(commit_star / lock_stage / revise_do / edit_plan / mark_task / redteam_verdict 六个工具,任务状态落盘)。注入器实现直接在库内,安装的是它自己的行为而不是一份依赖清单。
strukto-ai/mirage#dsh★ 3762
把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Slack、Gmail、Notion、Postgres)而非宿主磁盘,支持按挂载点设置读/写/执行模式、按命令选择沙箱(进程内 monty、pyodide、quickjs;远程 docker、e2b、daytona),并可在虚拟终端中安装 CLI(git、gh、slack、linear、ntn、gws,或自行注册的程序树)作为命令头词。
first-fluke/oh-my-agent#dsh★ 1357
在工具执行前后以及尝试结束当前轮次时运行项目 OMA 检查。随插件安装 OMA CLI 依赖,并在首次使用时初始化未配置的项目。需要 Node.js 22+;首次初始化需要网络连接和项目目录写入权限。
MichengAI/dsh-skills-manager★ 444
在设置里管理本地 DSH 技能,并只读查看公共 Agent 技能。
hust-open-atom-club/oh-dsh★ 324
社区发行版:TUI、桌面端与 Web UI 统一体验,分层安装、一步到位。
Fishquito7/dsh-skill-mcp-panel★ 248
在 DSH Web 设置中管理技能与 MCP 服务器:技能卡片热启停、工作区作用域、分组、批量迁移与拖拽导入,以及 stdio/HTTP MCP 增删改查、连接测试、密钥脱敏,并附带统一 dsh-panel 命令行。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。