← Back to home@Bernardxu123

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
GitHub repo

Introduction

DSH 插件集(dsh plugins)

本目录是 deepseek-harness 插件集合,每个子目录是一个独立插件包,克隆后即可安装。

收录的插件

插件目录说明
dsh-sensenova-imagedsh-sensenova-image/generate_image 工具:通过商汤 SenseNova U1 Fast 生成无水印图片并保存到本地
dsh-visiondsh-vision/给纯文本主模型"借眼睛":vision_read 工具 + SenseNova 6.8 Flash Lite(主)/ GLM-4.6V-Flash(兜底)双模型回退链
dsh-client-stats-decimaldsh-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 后插件不丢的标准流程

  1. 升级 dsh(npm i -g @deepseek-ai/dsh@<新版本> 或 npx);
  2. 检查 @deepseek-ai/* API 是否变化:自研插件如果只用了稳定 API,无需改动;
  3. profile link 插件自动跟随仓库源码,无需重装;若用了方式 B 复制安装,重跑该插件目录下的 install.ps1 / install.sh;
  4. 重启 dsh。

新增插件的规范(供贡献者/AI 参考)

  1. 新建 <插件名>/ 目录,放入 5 件套(README / install.ps1 / install.sh / verify.mjs / packs/);
  2. README 必须包含:前置条件、安装方法(link / 复制二选一)、密钥配置、验证命令与预期输出、常见问题表;
  3. install 脚本遵循同一套定位逻辑(profile node_modules + Get-Command dsh + %LOCALAPPDATA%\npm-cache\_npx / ~/.npm/_npx),幂等;复制时先创建目标目录再 Copy-Item(否则 PowerShell 会把 lib/ 平铺展开);
  4. verify.mjs 用 node:path + 动态 import() 按绝对路径加载目标 node_modules 里的包,无 npm 依赖,任何机器可跑。

发布到 GitHub(让插件在 topics 可被搜到)

  1. 初始化并推送(.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
    
  2. 打主题标签,插件即可出现在 github.com/topics/dsh-plugin 的搜索结果里:
    gh repo edit <owner>/<repo> --add-topic dsh-plugin
    gh repo edit <owner>/<repo> --add-topic deepseek-harness
    
    或网页端:仓库主页 → About 右侧 ⚙ → Topics → 添加 dsh-plugin → Save;
  3. 标签建议:dsh-plugin(必打,本主题是搜索入口)、deepseek-harness、ai-agent、vision(按功能);
  4. 其他用户克隆后:pnpm install --lockfile-only(link 方式)或运行各插件目录的 install 脚本(复制方式)。

License

各插件独立 MIT License(见各自目录)。