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

技能挂载 Hzans777/dsh-skill-mount

DeepSeek Harness
Hzans77713 天前有提交已提供中文文档扫描:含敏感能力

在聊天栏一键开关技能,并给技能起备注名

30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Hzans777/dsh-skill-mount
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

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

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

验证判据与等级说明 →

可信度证据

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 35 处,展示前 24 条)
  • 读取本地文件
    lib/index.js:76
    if (!existsSync(root.path)) continue
  • 发起网络请求
    client/client.js:218
    const response = await fetch(API + pathname, Object.assign({ cache: "no-store" }, options || {}));
  • 读取本地文件
    lib/routes.js:107
    if (!existsSync(path)) continue
  • 执行外部命令固定命令
    lib/routes.js:301
    if (process.platform === 'win32') spawn('explorer.exe', [target], { detached: true, stdio: 'ignore' }).unref()
  • 执行外部命令来自配置/变量
    lib/routes.js:302
    else spawn(process.platform === 'darwin' ? 'open' : 'xdg-open', [target], { detached: true, stdio: 'ignore' }).unref()
  • 读取本地文件
    lib/state.js:26
    if (!existsSync(this.file)) return this
  • 读取本地文件
    lib/state.js:27
    const parsed = JSON.parse(readFileSync(this.file, 'utf8'))
  • 写入本地文件
    lib/state.js:51
    mkdirSync(dirname(this.file), { recursive: true })
  • 写入本地文件
    lib/state.js:53
    writeFileSync(temporary, `${JSON.stringify(this.data, null, 2)}\n`, 'utf8')
  • 写入本地文件
    lib/state.js:54
    renameSync(temporary, this.file)
  • 写入本地文件
    lib/state.js:69
    mkdirSync(dirname(this.file), { recursive: true })
  • 写入本地文件
    lib/state.js:70
    writeFileSync(this.file, `${JSON.stringify(this.data, null, 2)}\n`, 'utf8')
  • 读取本地文件
    lib/skillfs.js:94
    if (!existsSync(root)) return []
  • 读取本地文件
    lib/skillfs.js:96
    for (const entry of readdirSync(root, { withFileTypes: true })) {
  • 读取本地文件
    lib/skillfs.js:100
    if (!existsSync(file)) continue
  • 读取本地文件
    lib/skillfs.js:101
    const parsed = parseSkillFile(readFileSync(file, 'utf8'), entry.name)
  • 读取本地文件
    lib/skillfs.js:115
    const parsed = parseSkillFile(readFileSync(absolute, 'utf8'), entry.name.slice(0, -3))
  • 读取本地文件
    lib/skillfs.js:137
    const text = readFileSync(record.file, 'utf8')
  • 写入本地文件
    lib/skillfs.js:152
    mkdirSync(trashRoot(), { recursive: true })
  • 写入本地文件
    lib/skillfs.js:155
    renameSync(source, target)
  • 写入本地文件
    lib/skillfs.js:160
    renameSync(source, `${source}.deleted-${Date.now()}`)
  • 写入本地文件
    lib/skillfs.js:181
    mkdirSync(targetRoot, { recursive: true })
  • 写入本地文件
    lib/skillfs.js:281
    mkdirSync(destination, { recursive: true })
  • 写入本地文件
    lib/skillfs.js:282
    writeFileSync(join(destination, 'SKILL.md'), list[0].data)
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

DeepSeek Harness 插件:聊天栏一键挂载/关闭 SKILL,设置页可加备注、卸载、本地安装。 Skill mount tray plugin for DeepSeek Harness.

README

由 DeepSeek 最新模型翻译生成
dsh-skill-mount · 技能挂载 DeepSeek Harness 插件:把 SKILL 变成聊天栏里可开关的挂载项。 输入框右侧多一个「🧩 技能」按钮,点开就能勾选/关闭本会话要挂载的 SKILL;设置里多一页「技能挂载」,可以给每个 SKILL 起备注(备注名会直接显示在聊天栏选择器里),也能卸载、本地安装。 DeepSeek Harness 插件:从聊天栏挂载技能,用你自己的备注给它们改名,在设置里卸载和安装本地技能。 安装 git clone https://github.com/zshlove321-cyber/dsh-skill-mount.git "$env:USERPROFILE\.dsh\plugins\dsh-skill-mount" New-Item -ItemType Junction -Path "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-skill-mount" -Target "$env:USERPROFILE\.dsh\plugins\dsh-skill-mount"
展开完整文档(README 剩余 1 节)
dsh-skill-mount · 技能挂载

DeepSeek Harness 插件:把 SKILL 变成聊天栏里可开关的挂载项。

输入框右侧多一个「🧩 技能」按钮,点开就能勾选/关闭本会话要挂载的 SKILL;设置里多一页「技能挂载」,可以给每个 SKILL 起备注(备注名会直接显示在聊天栏选择器里),也能卸载、本地安装。

DeepSeek Harness 插件:从聊天栏挂载技能,用你自己的备注给它们改名,在设置里卸载和安装本地技能。

安装

git clone https://github.com/zshlove321-cyber/dsh-skill-mount.git "$env:USERPROFILE\.dsh\plugins\dsh-skill-mount"

New-Item -ItemType Junction
-Path "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-skill-mount"
-Target "$env:USERPROFILE\.dsh\plugins\dsh-skill-mount"

再改 ~/.dsh/profiles/desktop/package.json:dependencies 里加 "dsh-skill-mount": "file:../../plugins/dsh-skill-mount",dsh.profile.bundles 里加 "dsh-skill-mount",然后重启 DeepSeek Harness。

零依赖、无构建步骤:源码就是运行时代码,改完重启即生效。

组成

| 位置 | 作用 |
| lib/index.js | 宿主半边:注册 /skill-mount/ HTTP 接口,并在 agent/pre-step 里把已挂载技能的全部指令注入当前会话 |
| lib/routes.js | 接口实现(state / toggle / note / remove / install / install-zip / reveal) |
| lib/skillfs.js | 扫 ~/.dsh/skills、<workspace>/.dsh/skills,解析 SKILL.md,安装 zip/文件夹,卸载进回收站 |
| lib/state.js | 挂载表与备注,落在 $DSH_HOME/skill-mount.json |
| client/client.js | 浏览器半边:conversation.input.right 托盘 + settings.section 设置页 |
| cordis.patch.yml | 把本插件插进 profile 的插件树 |

用法

1. 挂载:输入框右侧「🧩 技能」→ 勾选。勾上的技能,其 SKILL.md 正文会在下一次发消息时以 <skill_content> 注入当前会话,模型直接按它执行,不用再调 skill 工具。
2. 关闭:再点一次取消勾选;下一轮会注入一条「已卸载」提示,让模型停止沿用旧指令。「全部关闭」一键清空本会话。
3. 备注:设置 → 技能挂载 → 每行的备注输入框,失焦即保存。备注名会替换聊天栏列表里显示的名字,真实 name 仍以小字显示。
4. 全局挂载:设置页那张表格里的 ●/○,对所有新会话默认挂载。
5. 安装:设置页填本地路径(文件夹或 .zip),或点「选择 .zip 上传安装」。
6. 卸载:设置页行尾「卸载」→ 再点一次「确认卸载」;文件移到 $DSH_HOME/skills-trash/<时间戳>-<名字>,可手动恢复。

接口

| 方法 | 路径 | 说明 |
| GET | /skill-mount/state?sessionId= | 技能清单 + 挂载表 + 备注 |
| POST | /skill-mount/toggle | {sessionId, name, mounted};sessionId 为空即全局 |
| POST | /skill-mount/mounts | {sessionId, names} 整体覆盖 |
| POST | /skill-mount/clear | {sessionId} 清空 |
| POST | /skill-mount/note | {name, note} 备注 |
| POST | /skill-mount/remove | {name} 卸载到回收站 |
| POST | /skill-mount/install | {path, scope} 安装文件夹/zip |
| POST | /skill-mount/install-zip?filename= | 请求体直接是 zip 字节 |
| POST | /skill-mount/reveal | {which: "user" \| "trash"} 打开目录 |

写操作只接受回环地址 + 同源 Origin,与 DSH 其他本地插件的约定一致。

状态文件

$DSH_HOME/skill-mount.json

{
"version": 1,
"mounts": { "<sessionId>": ["novel-to-storyboard"], "": ["prompt-semantic-compiler"] },
"notes": { "novel-to-storyboard": "分镜" }
}

* 是全局挂载键:会话自己的列表优先,没有自己的列表时用全局。

安装 / 升级

1. 放进 ~/.dsh/plugins(见上面「安装」)
2. 链进 profile(或改 package.json 依赖后 pnpm install) New-Item -ItemType Junction -Path "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-skill-mount" -Target "$env:USERPROFILE\.dsh\plugins\dsh-skill-mount"

3. profiles\desktop\package.json:dependencies 加 "dsh-skill-mount": "file:../../plugins/dsh-skill-mount"

dsh.profile.bundles 加 "dsh-skill-mount"

4. 重启 DeepSeek Harness

升级就是 git -C "$env:USERPROFILE\.dsh\plugins\dsh-skill-mount" pull 再重启。

边界

- 挂载 = 把技能指令写进会话,不是给 skill 工具加白名单;产品自带的 <available_skills> 目录仍列出全部已装技能,模型仍可能主动加载未挂载的技能。
- 注入是一次性的:每轮只在「会话里还没有该技能正文」时补一次,历史被压缩掉后会重新补。
- 技能正文超过 120000 字符会截断,注入消息里会给出目录路径提示。

技能来源

清单同时列出两类技能:$DSH_HOME/skills(及工作区 .dsh/skills)里的磁盘技能,和 harness 内置/提供者技能(office-docx 等)。内置技能没有自己的目录,卸载按钮显示「内置技能,不可卸载」;挂载时它们的正文通过 skills 服务读取。
预览分享卡片长什么样 ↓Hzans777/dsh-skill-mount
分享 · DeepSeek Harness Hub
Hzans777/dsh-skill-mount

在聊天栏一键开关技能,并给技能起备注名

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