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

插件管家 Ycet/dsh-my-plugins

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

该插件已停止更新与维护。 本仓库不再新增功能、不再适配新版 DeepSeek…

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

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

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Ycet/dsh-my-plugins
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · market
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 12 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

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

✗npm 包dsh-my-plugins(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

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

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 19 处,展示前 13 条)
  • 写入本地文件
    lib/index.js:92
    writeFileSync(tmp, content, "utf8");
  • 写入本地文件
    lib/index.js:93
    renameSync(tmp, path);
  • 读取本地文件
    lib/index.js:123
    if (path && !existsSync(path)) return { packageName, spec, path };
  • 读取本地文件
    lib/index.js:173
    try { stats = statSync(value); } catch { return { ok: false, error: `路径不存在:${value}` }; }
  • 读取本地文件
    lib/index.js:181
    if (!existsSync(value)) return { ok: false, error: `路径不存在:${value}` };
  • 读取本地文件
    lib/index.js:227
    try { return JSON.parse(readFileSync(path, "utf8")); } catch { return {}; }
  • 读取本地文件
    lib/index.js:261
    if (!statSync(dir).isDirectory() || !statSync(join(dir, "package.json")).isFile()) return null;
  • 读取本地文件
    lib/index.js:276
    try { names = readdirSync(profilesRoot, { withFileTypes: true }).filter((row) => row.isDirectory() && row.name !== "node_modules").map((row) => row.na
  • 请求外部主机api.github.com
    lib/index.js:369
    const response = await fetch(`https://api.github.com${path}`, {
  • 发起网络请求
    lib/index.js:369
    const response = await fetch(`https://api.github.com${path}`, {
  • 请求外部主机registry.npmjs.org
    lib/index.js:380
    const response = await fetch(`https://registry.npmjs.org/${encodeURIComponent(packageName)}/latest`, { headers: { accept: "application/json", "user-ag
  • 发起网络请求
    lib/index.js:380
    const response = await fetch(`https://registry.npmjs.org/${encodeURIComponent(packageName)}/latest`, { headers: { accept: "application/json", "user-ag
  • 执行外部命令来自配置/变量
    lib/index.js:480
    const child = spawn(process.execPath, [bin, "plugin", "--profile", profileName, ...args], { env: process.env, stdio: ["ignore", "pipe", "pipe"] });
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
涉及外部主机:api.github.com、registry.npmjs.org

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 双列卡片展示已装插件
  • 查看配置状态
  • 查看运行状态

DSH 设置-插件页新增「我的插件」标签:双列卡片展示你自己安装的插件,含配置状态、Cordis 状态和插件介绍。

README

由 DeepSeek 最新模型翻译生成
dsh-my-plugins [!WARNING] 该插件已停止更新与维护。 本仓库不再新增功能、不再适配新版 DeepSeek Harness,也不再处理问题反馈;现有代码仅作存档参考,可能无法在当前版本中正常工作,请谨慎使用。 DeepSeek Harness(DSH)插件管理面板:在「设置 → 插件」页新增「我的插件」标签,一键安装(GitHub / Link / File / npm)、集中查看插件版本、启停、GitHub 更新检查与二次确认移除。 📑 目录 - 📸 界面预览 - ✨ 功能特性 - 🚀 快速开始 - 📖 使用说明 - 🔧 工作原理 - 🧪 开发与测试 - ⚠️ 已知限制 - 🤝 贡献 - 📄 许可证 📸 界面预览 「设置 → 插件 → 我的插件」页(v1.4.0):搜索框右侧新增「安装插件」按钮,弹窗支持 GitHub / link / file / npm 四种安装方式;插件卡片列表含版本、安装来源、配置与 Cordis 状态。
展开完整文档(README 剩余 1 节)
dsh-my-plugins

[!WARNING]
该插件已停止更新与维护。 本仓库不再新增功能、不再适配新版 DeepSeek Harness,也不再处理问题反馈;现有代码仅作存档参考,可能无法在当前版本中正常工作,请谨慎使用。

DeepSeek Harness(DSH)插件管理面板:在「设置 → 插件」页新增「我的插件」标签,一键安装(GitHub / Link / File / npm)、集中查看插件版本、启停、GitHub 更新检查与二次确认移除。

📑 目录

- 📸 界面预览
- ✨ 功能特性
- 🚀 快速开始
- 📖 使用说明
- 🔧 工作原理
- 🧪 开发与测试
- ⚠️ 已知限制
- 🤝 贡献
- 📄 许可证

📸 界面预览

「设置 → 插件 → 我的插件」页(v1.4.0):搜索框右侧新增「安装插件」按钮,弹窗支持 GitHub / link / file / npm 四种安装方式;插件卡片列表含版本、安装来源、配置与 Cordis 状态。

「我的插件」页界面截图 1

「我的插件」页界面截图 2

✨ 功能特性

| 功能 | 说明 |
| 「我的插件」标签页 | 在「设置 → 插件」页新增独立标签(mine),集中展示用户安装的插件 |
| 一键安装插件 | 搜索框右侧「安装插件」弹窗,支持 GitHub 远程安装、本地 link 安装、本地 file 安装与 npm 安装四种方式(v1.4.0 起);已安装同名插件时二次确认后切换安装来源 |
| 批量检查更新 | 搜索框右侧「检查更新」按钮,一键检查全部已安装插件的可更新版本(排除本地安装与手工 patch 来源,v1.6.0 起);有更新的插件状态标签显示为黄色「待更新」,点击卡片「立即更新」后清除 |
| 插件卡片 | 每个插件一张卡片:名称、版本、介绍、安装来源(GitHub / 本地 / Registry / 手工 patch);GitHub 安装来源与 Registry 卡片的 GitHub 上游文字为可点击链接,点击在新标签页打开对应仓库(v1.5.0 起) |
| 状态展示 | 配置状态(已启用/已停用)与 Cordis 挂载阶段(未挂载 / 等待依赖 / 加载中 / 已挂载 / 挂载失败 / 卸载中) |
| 搜索 | 按插件名称或介绍实时过滤 |
| 启停管理 | 一键禁用 / 启用插件,状态写入 profile 托管的 patch 覆盖块,重启 dsh web 后完全生效 |
| GitHub 更新检查 | 对 GitHub 来源插件检查上游 Release,判断是否可安全更新(版本对比 + Git commit 确认) |
| 立即更新 | 通过官方 dsh plugin CLI 更新 GitHub 来源插件;更新前校验 profile 内的本地依赖是否失效(v1.3.6 起),避免更新破坏安装 |
| 二次确认移除 | 移除插件前弹出确认弹窗;通过官方 dsh plugin remove 执行,同时清理本插件托管的禁用状态块,重启后完成卸载 |
| 双语言界面 | 中英文界面,跟随 DSH 活动语言 |

🚀 快速开始

前提条件

- 已安装 DSH CLI 与 pnpm(dsh plugin 内部转发到 pnpm)

安装

方式一:从 GitHub 安装
dsh plugin --profile web add github:Ycet/dsh-my-plugins

方式二:从本地源码安装(开发)
dsh plugin --profile web add dsh-my-plugins@file:<absolute-path-to-plugin>

包声明了 dsh.bundle 补丁层,dsh plugin 会自动把加载项合入 profile 的 bundle 层,无需手动编辑 cordis.patch.yml。

[!NOTE]
file: 安装是快照:更新源码后需重新执行安装命令,再重启 dsh web 生效(bundle 层变更不热加载)。

启动

1. 重启网页应用:dsh web
2. 打开 http://127.0.0.1:3080,进入「设置 → 插件」
3. 切换到「我的插件」标签查看全部用户安装的插件

📖 使用说明

1. 打开「设置 → 插件 → 我的插件」;
2. 安装:点击搜索框右侧「安装插件」,在弹窗中选择安装方式并输入地址/路径/包名后点击「安装」;GitHub 输入 owner/repo(可附 #分支或tag),link / file 输入本地绝对路径(link 自动读取源码 package.json 的包名),npm 输入包名(可附 @版本);同名插件已安装时会提示确认后切换来源。安装完成后重启 dsh web 生效;
3. 批量检查:点击搜索框右侧「检查更新」,一次检查所有已安装插件;有更新的插件状态标签变为黄色「待更新」,展开卡片点击「立即更新」逐个升级;
4. 搜索:在顶部输入框按名称或介绍过滤插件;
5. 启停:点击卡片上的「禁用插件 / 启用插件」,按提示重启 dsh web 后生效;
6. 更新(GitHub 来源):点击「检查更新」查看上游是否有新版本;有更新时点击「立即更新」,完成后重启 dsh web 生效;
7. 移除:点击「移除插件」,在二次确认弹窗中点击「确认移除」,重启 dsh web 后完成卸载。

[!NOTE]
安装、更新与移除均通过官方 dsh plugin 命令行执行;操作完成提示出现在页面右下角 toast 中,之后需在终端重启 dsh web 使改动完全生效。

🔧 工作原理

双面插件(宿主 + 浏览器)。宿主在 webServer 注册 /my-plugins/api 前缀路由(仅接受同源信任请求的 POST,按路径段分发方法):

| 方法 | 路径 | 用途 |
| POST | /my-plugins/api/list | 返回全部插件卡片(版本、来源、配置状态、Cordis 挂载阶段、可执行操作) |
| POST | /my-plugins/api/check-all | 批量检查全部可自动更新插件的可更新版本(排除本地与手工 patch 来源,v1.6.0 起) |
| POST | /my-plugins/api/install | 安装插件(kind 为 github/link/file/npm,input 为地址/路径/包名;已安装同名包时先返回 needConfirm,确认后执行) |
| POST | /my-plugins/api/toggle | 禁用 / 启用插件(写入 profile cordis.patch.yml 的托管状态块) |
| POST | /my-plugins/api/check-update | 检查 GitHub 上游 Release 与版本对比 |
| POST | /my-plugins/api/update | 通过 dsh plugin 更新 GitHub 来源插件 |
| POST | /my-plugins/api/remove | 通过 dsh plugin remove 移除插件并清理托管状态 |

关键机制:

- 安装输入校验:GitHub owner/repo(可附 #ref)、npm 包名 / 版本、本地绝对路径均在服务端严格校验后才拼装 dsh plugin ... add <spec> 参数(link 方式自动读取源码目录 package.json 的 name 拼成 <name>@link:<路径>);
- 同名安装确认:npm / link 方式可解析出包名,若 profile 中已安装同名插件,先返回确认提示,用户确认后才执行覆盖安装(支持切换安装来源,如 file: → github:);

- 托管状态块:启停覆盖写入 profile 的 cordis.patch.yml,用 # >>> dsh-my-plugins managed states >>> 标记边界,由宿主维护,避免与手工补丁混淆;
- 来源判定:根据包元数据识别 GitHub(git+https://github.com/… 等)、本地(file: 路径)、Registry(npm 版本规格)与手工 patch 四种来源,并据此决定是否支持自动更新;GitHub 来源及 Registry 上游的 owner/repo 经客户端同规则校验后渲染为指向 https://github.com/<owner>/<repo> 的链接(新标签页打开),非法元数据回退纯文本(v1.5.0 起);
- 更新安全性:check-update 做版本语义比较并确认已安装 commit;update 前校验 profile 内被引用的本地安装包是否失效(v1.3.6 起),存在失效依赖时拒绝更新并提示先修复安装来源;
- 移除清理:remove 成功后同步清理该插件入口对应的托管禁用状态,保持 profile 补丁文件整洁。

🧪 开发与测试

npm test # node --test test/*.test.mjs

test/metadata.test.mjs 覆盖纯函数契约:包根解析(packageRootOf)、来源判定(sourceOf)、GitHub 元数据与版本比较(githubRepoOf / compareVersions)、patch 插入块扫描(scanPatchInsertIds)、托管状态读写(readManagedStates / writeManagedStates)、更新参数构造(updateArgsFor)与失效本地依赖检测(missingLocalDependency);v1.4.0 起新增安装输入校验(resolveInstallSpec / splitNpmInput)、同名依赖检测(existingDependency)与命令行错误摘要(summarizeCliError)用例。

⚠️ 已知限制

- 自动更新仅限 GitHub 来源:Registry、本地安装与手工 patch 来源不支持自动更新,卡片会显示对应原因(upstreamAhead 表示 GitHub 上游已有新 Release,但当前 npm 安装源尚未发布可安装更新)。
- 固定引用无法跟踪:插件固定在 tag 或 commit 时无法检查分支更新;无法确认已安装 Git commit 时不会安全判断更新。
- 操作需重启生效:安装、启停、更新与移除均在重启 dsh web 后完全生效(bundle 层不热加载)。
- 安装同名覆盖:npm / link 安装解析到已安装的包名时需二次确认;github / file 方式无法预先得知包名,重复安装由 pnpm 直接处理。
- 移除即卸载:移除操作从当前 profile 删除插件依赖,属于不可逆操作,请谨慎使用。

🤝 贡献

欢迎提交 Issue 与 Pull Request:发现问题请携带 DSH 版本、插件版本与复现步骤到 Issues 反馈;改进请按 Fork → 分支 → PR 流程提交,并在提交前运行 npm test 确保契约测试通过。

📄 许可证

本项目使用 MIT 许可证。
预览分享卡片长什么样 ↓Ycet/dsh-my-plugins
分享 · DeepSeek Harness Hub
Ycet/dsh-my-plugins

该插件已停止更新与维护。 本仓库不再新增功能、不再适配新版 DeepSeek…

这是你的仓库?认领条目

回到顶部