dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
浏览、搜索并安装公开的 SkillHub 技能库,启用、停用、更新或卸载都不必离开 Harness。分类按钮带该分类的上游总数;详情抽屉提供文件树、版本历史、权限、第三方安全扫描结论与上游指标等页签。装好的技能会作为一个普通本地技能写入 harness 的技能根目录,而「停用」是把它的目录移出该根目录,不是打标记。
简体中文 · English
DeepSeek Harness 的技能市场
浏览 SkillHub 上的技能,并把它们真的装进 Harness。
dsh-skill-market 在侧边栏加一个 Skill Market 面板,把 SkillHub 的技能库变成可以浏览、筛选、搜索、查看详情,并一键安装到本机的地方。装好的技能和手写的本地技能没有区别 —— Harness 自己的技能系统会照常发现它们,在任何会话里都能调用。
技能不是本插件创作的。 面板里列出的每一个技能都来自 SkillHub,由各自的作者创作并发布,版权归原作者所有,以每个技能自己声明的许可证为准。本插件只负责在 Harness 里更省事地找到并安装它们。
.zip 技能包拖进来,或者直接把文件夹拷进技能目录。打开 DeepSeek Harness → 插件 → 添加插件,填入 npm 包名:
@montersy123/dsh-skill-market
点 安装。包里的代码就是可运行的 ESM,不需要任何构建步骤。这个对话框同样接受 GitHub 仓库地址和本地目录路径。
dsh 命令行安装按你运行的形态选一个 profile。桌面端是 desktop,Web 端是 web:
# Web 端
dsh plugin --profile web add @montersy123/dsh-skill-market
# 桌面端
dsh plugin --profile desktop add @montersy123/dsh-skill-market
这两条从 npm 官方源安装,拿到的是已发布的版本。要用仓库 main 上还没发布的提交,把包名换回 github:montersy123/dsh-skill-market —— pnpm 会把 git 依赖钉在解析到的那一个 commit 上,以后升级还得重新解析,所以日常安装用包名更省事。
dsh plugin 会把包管理操作转发给 pnpm,所以 web 与 desktop 的差别只在装进哪个 profile。先确认 pnpm 在 PATH 上。
装完重启对应形态让新的 bundle 层生效:
dsh --profile web
想确认这一层真的加载了,可以在启动前 dump 一次配置,输出里应当出现 # == @montersy123/dsh-skill-market:
dsh --profile web --dump-config
已经克隆了仓库的话,直接指向该目录(profile 名同上):
dsh plugin --profile web add ./dsh-skill-market
安装的插件不会自动升级。重新执行同一条安装命令即可 —— 包名写法会按语义化版本解析(不像 git 依赖那样钉在某个 commit 上)。已装的技能、停用状态与收藏都会保留(状态存放在包外)。
插件的数据全部在 DSH 自己的 storages 目录里(与 dsh-cost-meter 的账本同一个地方),不写进 profile、也不写进 DSH 自身的会话存储:
$DSH_HOME/storages/@montersy123/dsh-skill-market/data/
├── panel.json 收藏(含完整技能记录)、已安装账本、类目偏好、待重启提示
├── installed.json 每个技能装的是哪一版
└── skills/ 停用的技能(目录整份移到这里,Harness 就此读不到)
已启用的技能不在这个目录里,它们在 Harness 自己的技能根 $DSH_HOME/skills 下 —— 面板的开关就是在这两个目录之间搬目录,所以"启用/停用"是一个位置,而不是一个标记。
$DSH_HOME 默认是 %USERPROFILE%\.dsh(可用环境变量覆盖)。备份或迁移就复制这个 data 目录;想彻底清空,删掉它即可(已装的技能另在 $DSH_HOME/skills 下)。
这个位置换过几次:更早的版本把面板状态存在页面的 Local Storage 里(DSH 桌面端自己的
%APPDATA%\@deepseek-ai\dsh-desktop\Local Storage,和其他插件挤同一份存储),后来搬到 profile 目录下的@montersy123-dsh-skill-market/data。当前版本只读$DSH_HOME/storages/...这一处,不兼容旧位置:从旧版本升级时,把旧的data目录整个搬到新位置即可,不搬就等于从零开始。
安装技能后需要重启 DeepSeek Harness:技能文件会立刻落到磁盘,但一场对话用的是它开始时就确定的技能清单,所以新装的技能在新会话里才能调用。面板会用一条提示条和一个 toast 说明这一点,并且不会因此锁住任何控件 —— 你可以一次改好几个技能,再重启一次。
| 位置 | 能得到什么 |
|---|---|
| 发现 | 整个 SkillHub 库:分类 chips 按类目显示总数,搜索按关键词命中,卡片显示下载量、评分、收藏数与安全标记。 |
| 已安装 | 库里的每个技能:来源、版本、目录、文件数、安装时间,以及启用/停用开关与更新/卸载。 |
| 收藏 | 只在本机的收藏夹,带一键安装。 |
| 本地导入 | 拖放 .zip,或把目录直接放进技能目录 —— 两种都会列出来,并标明是哪一种。 |
| 详情抽屉 | 六个页签。安全扫描页签逐个列出第三方检测方的结论。 |
点任意卡片打开。顶部是一条统计条 —— 下载量、收藏数、综合评分、版本 —— 下面是六个页签。上图右侧展开的就是这个抽屉。
概览给出上游简介与关键信息;文件展开真实的目录树,点开单个文件可以预览内容;版本历史列出每个发布的更新说明,并能把任意旧版本装回去;权限区分技能自身的声明与本插件的行为;指标是 SkillHub 的原始数字。
技能会被真的下载、解包,写进 $DSH_HOME/skills/<handle>--<slug>/。这是 Harness 自己的技能根目录,不是插件的私有目录 —— 这正是装好的技能会变成一个普通本地技能的原因:内置的文件系统 provider 会发现它,技能列表里它和手写的技能并列,而且停用这个插件也不会让它消失。
「停用」是一个位置,不是一个标记。 启用和停用把目录在两个根目录之间移动,所以磁盘上的位置永远就是事实。这也意味着你可以自己动手:把文件夹拷进 $DSH_HOME/skills 就是启用,拷进停用区就是停用;面板两种都认。
SkillHub 用多家第三方检测方扫描每个技能。面板只在所有检测方都报告安全时,才显示绿色的「安全」标记 —— 实测中检测方经常互相矛盾,所以只要有一家说可疑,就不显示任何标记(而不是显示一个灰色的)。不显示诚实地表示「没有结论」,而灰色 chip 会让人以为面板有自己的判断。
安全扫描页签逐行列出每家的结论和报告链接,所以分歧是看得见的,而不是被压成一个结论。
界面是中英双语,跟随 DSH 自己的 设置 → 常规 里的语言设置,面板里不再放第二个开关。所有界面文案都有两份,数字和日期按当前语言格式化。
dsh.bundle manifest + cordis.patch.yml 层)。api.skillhub.cn 的网络。浏览和安装需要它;启用、停用和卸载不需要。$DSH_HOME/skills 和插件的 data/ 在启动时都不会被清理;停用的技能和导入的技能在重启与插件升级后都还在。0:那是「没测到」的样子,印出来就成了一个没人测过的事实。name 字段,所以一个声明了 name: Something With Spaces 的包会安静地装进去然后永远不出现。现在这种包在安装时就会失败,并指出发布者的错误。开发笔记(设计契约、测量方式、踩过的坑)在 docs/development.md;上游接口笔记在 docs/skillhub-api.md。
仓库里带一套自检脚本,不需要浏览器就能跑。装了插件之后:
node scripts/install-plugin.mjs --apply # 打包并装进 profile
npm test # 整套自检(29 项)
npm test 会逐项打印退出码,任何一项失败都会让整体失败。其余脚本在 scripts/,一次性的调查脚本归档在 scripts/dev/。
面板里的技能全部来自 SkillHub。感谢平台的维护者,以及在上面发布技能的每一位作者。本插件只是让你在 Harness 里更方便地找到并安装它们。
SKILL.md 中的 license 字段)为准。本仓库的 MIT 只适用于本插件自身的代码,不适用于任何技能。package.json 的 files 白名单只包含 lib、locale、icon.svg、cordis.patch.yml、assets 与三份文档;tests/ 下的响应样本是测试数据,不会随包发布。SKILL.md。面板只在所有检测方都报告安全时才显示绿色标记,但这不等于推荐。MIT © 2026 montersy123
该许可只覆盖本插件的代码,不覆盖任何技能。 技能的版权与许可归属见上一节,以及 THIRD-PARTY-NOTICES.md。