dsh-plugins
DeepSeek Harness (dsh) 官方 bundle 规范插件集合: dsh-vision 看图 + dsh-sensenova-image 生图 + dsh-client-stats-decimal 统计两位小数
- Stars
- 1
- Language
- JavaScript
- Created
- Aug 14, 2026
- Updated
- Aug 15, 2026
Introduction
DSH 插件集(dsh plugins)
本目录是 deepseek-harness 插件集合,每个子目录是一个独立插件包,克隆后即可安装。
收录的插件
| 插件 | 目录 | 说明 |
|---|---|---|
| dsh-sensenova-image | dsh-sensenova-image/ | generate_image 工具:通过商汤 SenseNova U1 Fast 生成无水印图片并保存到本地 |
| dsh-vision | dsh-vision/ | 给纯文本主模型"借眼睛":vision_read 工具 + SenseNova 6.8 Flash Lite(主)/ GLM-4.6V-Flash(兜底)双模型回退链 |
| dsh-client-stats-decimal | dsh-client-stats-decimal/ | 统计行缓存命中率显示两位小数(98.00%)—— 用官方 Slot 机制替换 stats 行,升级 dsh 不丢补丁 |
每个插件目录的标准结构
<plugin-name>/
├── README.md # 给 AI 和人类看的安装/使用说明(步骤可直接复制执行)
├── install.ps1 # Windows 一键安装(自动探测全局 + npx 里的 dsh)
├── install.sh # macOS / Linux 一键安装
├── verify.mjs # 安装后验证脚本(无依赖,真实调用验证)
└── packs/ # npm 安装包(tgz)
约定(两种安装方式):
- 方式 A:profile link(开发者模式,升级 dsh 不丢插件) —— 在
$DSH_HOME\profiles\<profile>\package.json的dependencies里声明"<包名>": "link:<本仓库的包目录>",然后pnpm install --lockfile-only(或手动建立符号链接)。插件本体在仓库里,升级 dsh 不会覆盖.dsh用户目录; 仅当手工建立符号链接时,本机还需要一个仓库根解析垫片:node_modules\@deepseek-ai -> <profile>\node_modules\@deepseek-ai(符号链接,已被 .gitignore 排除,克隆者不需要)—— Node 解析符号链接会按真实路径向上找依赖,垫片让仓库内的包能找到@deepseek-ai/*宿主依赖; - 方式 B:一键脚本(普通用户推荐,零依赖零配置) —— 克隆后直接运行各插件目录下的
install.ps1/install.sh:脚本自动把packs/*.tgz复制进 dsh 的node_modules\,并往cordis.patch.yml追加插件行,幂等。 不需要 node_modules 垫片、不需要 pnpm,但 dsh 升级会清掉复制版,升级后重跑一次脚本即可。
已安装到本机 profile(web)的插件,package.json 声明见 C:\Users\29049\.dsh\profiles\web\package.json。
升级 dsh 后插件不丢的标准流程
- 升级 dsh(
npm i -g @deepseek-ai/dsh@<新版本>或 npx); - 检查
@deepseek-ai/*API 是否变化:自研插件如果只用了稳定 API,无需改动; - profile link 插件自动跟随仓库源码,无需重装;若用了方式 B 复制安装,重跑该插件目录下的
install.ps1/install.sh; - 重启 dsh。
新增插件的规范(供贡献者/AI 参考)
- 新建
<插件名>/目录,放入 5 件套(README / install.ps1 / install.sh / verify.mjs / packs/); - README 必须包含:前置条件、安装方法(link / 复制二选一)、密钥配置、验证命令与预期输出、常见问题表;
- install 脚本遵循同一套定位逻辑(profile node_modules +
Get-Command dsh+%LOCALAPPDATA%\npm-cache\_npx/~/.npm/_npx),幂等;复制时先创建目标目录再 Copy-Item(否则 PowerShell 会把lib/平铺展开); - verify.mjs 用
node:path+ 动态import()按绝对路径加载目标 node_modules 里的包,无 npm 依赖,任何机器可跑。
发布到 GitHub(让插件在 topics 可被搜到)
- 初始化并推送(
.gitignore已排除 node_modules、密钥):cd <本目录> git init && git add -A && git commit -m "dsh plugins: sensenova-image, vision, stats-decimal" gh repo create <owner>/<repo> --public --source . --push - 打主题标签,插件即可出现在 github.com/topics/dsh-plugin 的搜索结果里:
或网页端:仓库主页 → About 右侧 ⚙ → Topics → 添加gh repo edit <owner>/<repo> --add-topic dsh-plugin gh repo edit <owner>/<repo> --add-topic deepseek-harnessdsh-plugin→ Save; - 标签建议:
dsh-plugin(必打,本主题是搜索入口)、deepseek-harness、ai-agent、vision(按功能); - 其他用户克隆后:
pnpm install --lockfile-only(link 方式)或运行各插件目录的 install 脚本(复制方式)。
License
各插件独立 MIT License(见各自目录)。