🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

技能市场 montersy123/dsh-skill-market

DeepSeek Harnessv2.0.7
montersy12314 天前有提交已提供中文文档扫描:含敏感能力

在 DeepSeek Harness 里浏览、搜索并安装 SkillHub 技能。

32.2/100
综合分
3
GitHub 星标
891
npm 周下载
—/5
用户评分

数据截至 2026/10/22 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @montersy123/dsh-skill-market
npm 源 · @montersy123/dsh-skill-market 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/10/24·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 14 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包@montersy123/dsh-skill-market @ 2.0.7
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/22 06:43:05

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 74 处,展示前 22 条)
  • 发起网络请求
    lib/index.js:253
    const response = await fetch(target, {
  • 读取本地文件
    lib/index.js:409
    if (legacy === current || !existsSync(legacy)) return []
  • 读取本地文件
    lib/index.js:411
    for (const entry of await readdir(legacy, { withFileTypes: true })) {
  • 读取本地文件
    lib/index.js:415
    if (existsSync(to)) continue
  • 写入本地文件
    lib/index.js:416
    await mkdir(current, { recursive: true })
  • 写入本地文件
    lib/index.js:417
    await rename(from, to)
  • 删除本地文件递归
    lib/index.js:422
    await rm(legacy, { recursive: true, force: true })
  • 删除本地文件递归
    lib/index.js:423
    await rm(dirname(legacy), { recursive: true, force: true })
  • 发起网络请求
    lib/index.js:571
    const response = await fetch(`${UPSTREAM}/api/v1/skills/${encodeURIComponent(slug)}/file?${params.toString()}`, {
  • 发起网络请求
    lib/index.js:613
    const listed = await fetch(`${UPSTREAM}/api/v1/skills/${encodeURIComponent(slug)}/files?${params.toString()}`, {
  • 删除本地文件递归
    lib/index.js:635
    await rm(staging, { recursive: true, force: true })
  • 写入本地文件
    lib/index.js:636
    await mkdir(staging, { recursive: true })
  • 写入本地文件
    lib/index.js:661
    await mkdir(dirname(destination), { recursive: true })
  • 写入本地文件
    lib/index.js:662
    await writeFile(destination, bytes)
  • 删除本地文件递归
    lib/index.js:670
    await rm(staging, { recursive: true, force: true })
  • 读取本地文件
    lib/index.js:674
    const instruction = await readFile(join(staging, 'SKILL.md'), 'utf8')
  • 删除本地文件递归
    lib/index.js:677
    await rm(staging, { recursive: true, force: true })
  • 删除本地文件递归
    lib/index.js:685
    await rm(staging, { recursive: true, force: true })
  • 写入本地文件
    lib/index.js:801
    await mkdir(dirname(dir), { recursive: true })
  • 读取本地文件
    lib/index.js:833
    if (!existsSync(legacyState)) return []
  • 读取本地文件
    lib/index.js:836
    const parsed = JSON.parse(await readFile(legacyState, 'utf8'))
  • 发起网络请求
    lib/client.js:2054
    return await fetch(path, init)
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 浏览技能
  • 搜索技能
  • 安装技能
v2.0.72026-10-21
· 修复 · 预览弹框标题栏的两段文字对齐了。 文件名与它右边的路径原本各自垂直居中,11.5px 的路径基线比 13.5px 的文件名高 2.4px,看起来像浮在名字上面;现在它们共用一条基线,字号与主次关系不变,窄窗口里路径照样以省略号收尾。同一个标题栏里的文件图标也不会再被压扁——窄到 420px 时它曾缩成 6px。 · 页面已经握有文档时,不再采纳「什么都没存过」的答复。 这是 2.0.6 数据丢失修复的另一半:升级或回退的瞬间,页面可能已经是新客户端、Host 仍是旧版本,而旧 Host 对 GET /state 会回一个空文档。现在知道存储版本号的页面直接拒绝这个答复,旧 Host 没法再把真文档替换成默认值。 升级提示:这两个修复都在客户端半,升级后刷新页面即可生效,不需要重启。 完整变更见 CHANGELOG.md。
v2.0.62026-10-19
· 修复 · 读不到面板状态时,不再把已保存的数据覆盖掉。 以前 GET /state 遇到「文件读不出来」(不只是「文件不存在」)也回一个空文档,面板据此以为从未保存过,用默认值顶替;下一次保存就把收藏、账本等数据覆盖成空。Windows 上文件被索引器或杀毒软件短暂占用就能触发这个竞态。现在只有文件确实不存在才算空;读失败会明确报错,面板保留内存里的副本并暂停写盘,等读取恢复后继续工作。 · 每次保存前留一份备份。 被替换的旧文档会复制成同目录的 panel.json.bak,一次坏写最多损失最近一次变更,而不是整份数据。 升级提示:这次改动了 Host 半,需要重启 DeepSeek Harness 后生效。若此前的收藏已经丢失,本版本无法恢复它们(磁盘上没有副本),但可以保证不再发生。 完整变更见 CHANGELOG.md。
v2.0.52026-10-19
· 新增 · 文件内容改用弹框查看。 原来在「文件」页签里点开一个文件,内容会挤进 560px 宽的抽屉里显示;现在改为覆盖整个面板的弹框(1040×760,随视口收缩;≤920px 时铺满整屏)。文件树留在原处,关掉弹框就回到它原来的位置。三个出口:右上角「关闭」、点遮罩、按 Esc —— Esc 只关弹框,不会把整个抽屉一起关掉。 · 文档里的相对链接可以点开。 文字 按当前文件所在目录解析(支持 ./、../),只打开同一份技能包里的文件;点开后在同一弹框内切换,左上角出现「返回上一个文件」,可以逐级回退。绝对路径、带 scheme 的 URL、爬出根目录的 .. 都不会被打开。 · 代码文件有语法高亮。 .py / .ts / .sh / .json 等由宿主的 useCodeHighlighter 上色,语言按扩展名推断,推断不出就按纯文本;配色跟随面板的浅色 / 深色主题。 · 新增只读接口 GET /skill-market/api/build,返回当前 host 与 client 的构建指纹,用于确认正在运行的是哪一版。 · 修复 · 链接里的文件类型图标不再独占一行,把链接文字挤到下一行。 完整变更见 CHANGELOG.md。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
简体中文 · English dsh-skill-market DeepSeek Harness 的技能市场浏览 SkillHub 上的技能,并把它们真的装进 Harness。 dsh-skill-market 在侧边栏加一个 Skill Market 面板,把 SkillHub 的技能库变成可以浏览、筛选、搜索、查看详情,并一键安装到本机的地方。装好的技能和手写的本地技能没有区别 —— Harness 自己的技能系统会照常发现它们,在任何会话里都能调用。 技能不是本插件创作的。 面板里列出的每一个技能都来自 SkillHub,由各自的作者创作并发布,版权归原作者所有,以每个技能自己声明的许可证为准。本插件只负责在 Harness 里更省事地找到并安装它们。 - 发现 — 整个 SkillHub 技能库,默认按下载量排序。分类筛选、关键词搜索、懒加载,卡片上直接安装。 - 已安装 — 本机上的技能。可以停用而不卸载(目录被移到停用区,Harness 就读不到了),也可以更新或卸载。 - 收藏 — 收藏夹只存在本机,用来记下想装的技能。 - 本地导入 — 把自己手头的 .zip 技能包拖进来,或者直接把文件夹拷进技能目录。 - 详情抽屉 — 六个页签:概览、文件、版本历史、权限、安全扫描、指标。文件页签能展开真实的文件树并预览内容,版本历史可以装回任意旧版本。
展开完整文档(README 剩余 1 节)
简体中文 · English

dsh-skill-market

DeepSeek Harness 的技能市场浏览 SkillHub 上的技能,并把它们真的装进 Harness。

dsh-skill-market 在侧边栏加一个 Skill Market 面板,把 SkillHub 的技能库变成可以浏览、筛选、搜索、查看详情,并一键安装到本机的地方。装好的技能和手写的本地技能没有区别 —— Harness 自己的技能系统会照常发现它们,在任何会话里都能调用。

技能不是本插件创作的。 面板里列出的每一个技能都来自 SkillHub,由各自的作者创作并发布,版权归原作者所有,以每个技能自己声明的许可证为准。本插件只负责在 Harness 里更省事地找到并安装它们。

- 发现 — 整个 SkillHub 技能库,默认按下载量排序。分类筛选、关键词搜索、懒加载,卡片上直接安装。
- 已安装 — 本机上的技能。可以停用而不卸载(目录被移到停用区,Harness 就读不到了),也可以更新或卸载。
- 收藏 — 收藏夹只存在本机,用来记下想装的技能。
- 本地导入 — 把自己手头的 .zip 技能包拖进来,或者直接把文件夹拷进技能目录。
- 详情抽屉 — 六个页签:概览、文件、版本历史、权限、安全扫描、指标。文件页签能展开真实的文件树并预览内容,版本历史可以装回任意旧版本。

安装

从 Harness 界面安装(推荐)

打开 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 自己的 设置 → 常规 里的语言设置,面板里不再放第二个开关。所有界面文案都有两份,数字和日期按当前语言格式化。

环境要求

- DeepSeek Harness,且客户端插件树可用(本插件是一个 bundle:dsh.bundle manifest + cordis.patch.yml 层)。
- Host 侧 Node.js >= 20。
- 访问 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/ 下的响应样本是测试数据,不会随包发布。
- 本插件处理的是索引元数据 —— 名称、简介、版本、下载量、收藏数、分类、第三方安全扫描结论与文件清单,以及你在安装前主动点开某个文件时按需取回的那一份文本。这些只用于展示与识别技能,并附带回原始页面的链接。
- SkillHub 及其标识归各自所有者所有。 本插件是独立的社区项目,与 SkillHub、腾讯及 DeepSeek 均无隶属、赞助或背书关系。
- 安装后的技能由你自己决定是否信任。 安全扫描结论来自 SkillHub 的第三方检测方,仅供参考,不构成任何担保;安装前请阅读技能自身的 SKILL.md。面板只在所有检测方都报告安全时才显示绿色标记,但这不等于推荐。
- 如果你是技能作者或平台方,希望调整或移除此处展示的信息,请提交 issue,我会尽快处理。

许可

MIT © 2026 montersy123

该许可只覆盖本插件的代码,不覆盖任何技能。 技能的版权与许可归属见上一节,以及 THIRD-PARTY-NOTICES.md。
预览分享卡片长什么样 ↓montersy123/dsh-skill-market
分享 · DeepSeek Harness Hub
montersy123/dsh-skill-market

在 DeepSeek Harness 里浏览、搜索并安装 SkillHub 技能。

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部