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

纪代插件市场 NokorinNishikino/kidai-plugin-market-hub

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

多源聚合插件,一键安装并安全审计管理

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · market
装得上吗
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 62 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(dependency_conflict · 2026/10/6) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

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

展开查看检查明细 ↓

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

✗npm 包kidai-plugin-market-hub(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 19:21:00

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

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

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 123 处,展示前 33 条)
  • 发起网络请求
    lib/index.js:193
    const response = await fetch(`${base}/${encodeURIComponent(name)}`, {
  • 发起网络请求
    lib/index.js:228
    const response = await fetch(url, {
  • 发起网络请求
    lib/index.js:253
    const response = await fetch(url, {
  • 发起网络请求
    lib/index.js:305
    const response = await fetch(`${base}/${encodeURIComponent(name)}/latest`, {
  • 发起网络请求
    lib/index.js:418
    const response = await fetch(`${base}/repos/${AWESOME_LIST_OWNER}/${AWESOME_LIST_REPO}/readme`, {
  • 请求外部主机github.com
    lib/index.js:516
    const response = await fetch("https://github.com/", {
  • 发起网络请求
    lib/index.js:516
    const response = await fetch("https://github.com/", {
  • 读取本地文件
    lib/index.js:593
    if (existsSync(manifestPath)) {
  • 读取本地文件
    lib/index.js:595
    const manifest = JSON.parse(readFileSync(manifestPath, "utf8"));
  • 读取本地文件
    lib/index.js:605
    entries = readdirSync(dir, { withFileTypes: true });
  • 读取本地文件
    lib/index.js:635
    if (existsSync(manifestPath)) {
  • 读取本地文件
    lib/index.js:637
    const manifest = JSON.parse(readFileSync(manifestPath, "utf8"));
  • 读取本地文件
    lib/index.js:648
    entries = readdirSync(dir, { withFileTypes: true });
  • 写入本地文件
    lib/index.js:1743
    writeFileSync(this.diskCachePath(), JSON.stringify({ bySort }, null, 2));
  • 写入本地文件
    lib/index.js:1841
    writeFileSync(patchPath, YAML.stringify(doc));
  • 写入本地文件
    lib/index.js:1878
    writeFileSync(patchPath, YAML.stringify(doc));
  • 写入本地文件
    lib/index.js:1909
    writeFileSync(join(this.profileDir(), FAVORITES_FILENAME), `${JSON.stringify({ names: unique }, null, 2)}\n`);
  • 写入本地文件
    lib/index.js:1974
    mkdirSync(target, { recursive: true });
  • 写入本地文件
    lib/index.js:1983
    writeFileSync(join(target, name), readFileSync(path));
  • 删除本地文件递归
    lib/index.js:2018
    rmSync(join(dir, name), { recursive: true, force: true });
  • 删除本地文件递归
    lib/index.js:2662
    rmSync(junctionPath, { recursive: true, force: true });
  • 删除本地文件递归
    lib/index.js:2951
    rmSync(target, { recursive: true, force: true });
  • 删除本地文件递归
    lib/index.js:3131
    try { rmSync(root, { recursive: true, force: true }); } catch { }
  • 删除本地文件递归
    lib/index.js:3302
    rmSync(vendorDir, { recursive: true, force: true });
  • 删除本地文件递归
    lib/index.js:3317
    try { rmSync(vendorDir, { recursive: true, force: true }); } catch { }
  • 执行外部命令来自配置/变量
    lib/index.js:3452
    ? spawn(process.env.ComSpec ?? "cmd.exe", ["/d", "/s", "/c", `"${[command, ...args].map((arg) => this.quoteCmdArg(arg)).join(" ")}"`], { ...spawnOptio
  • 执行外部命令来自配置/变量
    lib/index.js:3453
    : spawn(command, args, { ...spawnOptions, shell: false });
  • 请求外部主机api.github.com
    lib/client.js:936
    const response = await fetch(`https://api.github.com/search/repositories?q=${query}&sort=${githubSort}&order=desc&per_page=100&page=${page}`, {
  • 发起网络请求
    lib/client.js:936
    const response = await fetch(`https://api.github.com/search/repositories?q=${query}&sort=${githubSort}&order=desc&per_page=100&page=${page}`, {
  • 发起网络请求
    lib/client.js:961
    const response = await fetch(`${registry}?text=${encodeURIComponent(query)}&size=250`);
  • 发起网络请求
    lib/client.js:985
    const response = await fetch(url);
  • 写入剪贴板
    lib/client.js:2250
    await navigator.clipboard.writeText(modal.command);
  • 发起网络请求
    lib/client.js:3431
    const response = await fetch(`/api/${endpoint}`, {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
涉及外部主机:github.com、api.github.com

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-typert-protocol
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 多源插件目录聚合
  • 一键安装与卸载
  • 孤儿插件扫描

README

由 DeepSeek 最新模型翻译生成
🐋 Kidai Plugin Market Hub(纪代插件市场) 一键安装 · 统一管理 · 安全护航 — DeepSeek Harness 的插件市场中心 简体中文 · English ✨ 为什么用它 DeepSeek Harness(DSH)的插件生态越来越大,但找插件、装插件、管插件分散在好几个地方。纪代插件市场把这些全部收进一个独立的全屏页面,侧边栏一键直达: - 🗂️ 海量目录,一处逛完 — 聚合 GitHub dsh-plugin 话题、npm 注册表与社区精选 awesome 列表,1700+ 插件可搜索、可排序、可分类; - ⚡ 一键安装 — 点一下就在当前 DSH 配置里装好,自动收敛 bundles,重启即生效; - 🛡️ 装上就能用,不会装崩 — 市场在安装时自动做安全审计、入口校验、运行时兼容检查、keyed-slot 修补、@local 链接、源码子包构建——伪插件和"必崩"插件在安装环节就被拦下; - 🧹 已装管理 + 孤儿清理 — 启用 / 禁用 / 更新 / 卸载,连"文件残留但没挂载"的孤儿插件都能在列表里直接启用或删除; - 🚀 顶部立即重启 — 装完、更新完、切换完,一键重启 DSH。 无需懂任何技术细节 — 普通用户打开即用;开发者也能享受完整的安装安全网。
展开完整文档(README 剩余 1 节)
🐋 Kidai Plugin Market Hub(纪代插件市场)

一键安装 · 统一管理 · 安全护航 — DeepSeek Harness 的插件市场中心

简体中文 · English

✨ 为什么用它

DeepSeek Harness(DSH)的插件生态越来越大,但找插件、装插件、管插件分散在好几个地方。纪代插件市场把这些全部收进一个独立的全屏页面,侧边栏一键直达:

- 🗂️ 海量目录,一处逛完 — 聚合 GitHub dsh-plugin 话题、npm 注册表与社区精选 awesome 列表,1700+ 插件可搜索、可排序、可分类;
- ⚡ 一键安装 — 点一下就在当前 DSH 配置里装好,自动收敛 bundles,重启即生效;
- 🛡️ 装上就能用,不会装崩 — 市场在安装时自动做安全审计、入口校验、运行时兼容检查、keyed-slot 修补、@local 链接、源码子包构建——伪插件和"必崩"插件在安装环节就被拦下;
- 🧹 已装管理 + 孤儿清理 — 启用 / 禁用 / 更新 / 卸载,连"文件残留但没挂载"的孤儿插件都能在列表里直接启用或删除;
- 🚀 顶部立即重启 — 装完、更新完、切换完,一键重启 DSH。

无需懂任何技术细节 — 普通用户打开即用;开发者也能享受完整的安装安全网。

🚀 快速开始

在 DSH 命令行中执行(Desktop 用 desktop,Web 用 web):

dsh plugin --profile desktop add kidai-plugin-market-hub

然后重启 DSH,主页侧边栏「设置」按钮上方会出现「纪代市场」入口,点击进入全屏市场页。

卸载:

dsh plugin --profile desktop remove kidai-plugin-market-hub

需要本机可用的 pnpm(或 DSH 自带的 pnpm),并确保能访问 api.github.com(目录)与 registry.npmjs.org(安装校验)。

🎯 功能一览

逛市场

- 多源目录 — GitHub / npm / awesome 三个来源合并,实时抓取,5 分钟缓存 + 离线兜底;
- 搜索排序 — 按名称、描述匹配;按最近更新 / 星标 / 名称排序;
- 插件卡片 — 头像、简介、标签、星标、更新时间一目了然,点击直达 GitHub 发布页。

装插件

- 一键本地安装 — 自动解析 npm 包名或 GitHub 仓库,pnpm add + bundles 收敛;
- 安全审计 — 静态扫描高危风险(动态执行、网络请求、密钥读取等),高危拦截;
- 可加载性校验 — 缺入口的伪插件(如把部署脚本伪装成插件)在安装时被拒绝;
- 运行时兼容 — 旧版 DSH 插件自动修补已知差异,确认后安装,成功附带风险提示;
- 自动构建 — TypeScript 源码包子包缺构建产物时自动编译,失败即回滚。

管插件

- 启用 / 禁用 / 更新 / 卸载 — 已安装页集中操作;
- 孤儿插件 — 扫描未挂载的残留文件,灰色卡片可直接启用或删除;
- 打开本地目录 — 一键在文件管理器里定位插件安装位置。

立即重启

Hub 顶部常驻「立即重启」,两步确认后即时生效。

🖥️ 支持的部署形态

| 部署形态 | 启动方式 | 状态 |
| Desktop 应用(内嵌 Web 界面) | 启动 DSH Desktop | ✅ 完整可用 |
| 独立 Web 部署 | dsh --profile web --port 8080 | ✅ 完整可用 |

两种形态功能完全一致,唯一差异:独立 Web 部署无 Electron,"立即重启"降级为手动重启提示。

⚙️ 工作原理(技术细节)

| 组成部分 | 文件 | 说明 |
| Host 半 | lib/index.js | Cordis 插件,PluginMarketGateway(TypertRemoteService,命名空间 pluginMarketHub),通过 SRC 标记暴露 listPublished / installed / installPlugin / setEnabled / openLocal / cancelEnabled / checkUpdates / updatePlugin / fetchReadme / auditPackage / restartApp / uninstallPlugin / scanOrphanPlugins / mountOrphan / removeOrphanFiles。 |
| 组合层 | cordis.patch.yml | 插入插件行;因包声明 dsh.client,同一行同时进入浏览器模块清单。 |
| Client 半 | lib/client.js | 浏览器 bundle:注册侧边栏启动器(sidebar.footer.action)与全屏 Hub 页(shell.overlay),挂载 Remote 描述符(手写严格 codec),渲染双页签 UI。 |
| 安装通道 | Host installPlugin(spec) | 校验 spec → 解析 pnpm → pnpm add → 收敛 dsh.profile.bundles。 |
| 重启通道 | Host restartApp() | 检测部署形态并请求重启;Hub 头部两步确认。 |

目录数据源

按顺序尝试,第一个成功即采用(页签下方显示来源):

1. GitHub API(官方) — topic:dsh-plugin 仓库搜索;
2. GitHub API 镜像 — ghfast.top / ghproxy.net;
3. npm 官方搜索 — registry.npmjs.org/-/v1/search;
4. npmmirror 搜索 — registry.npmmirror.com(国内最快最稳);
5. awesome-dsh-plugin 精选 — 社区维护列表,CDN 优先链路抓取,不耗 API 配额。
当 GitHub 不可达时自动走 tarball 下载链(codeload → ghproxy → ghfast → gh-proxy),避免 git 协议挂起数分钟。全部失败回退离线缓存。

📚 更多

- 更新记录:CHANGELOG.md
- 开发与发布:修改 lib/index.js(Host)重启生效;lib/client.js(浏览器)重启或走 dsh-client-hmr 热更。语法检查 node --check lib/index.js && node --check lib/client.js;测试套件见 scripts/。

License

MIT
预览分享卡片长什么样 ↓NokorinNishikino/kidai-plugin-market-hub
分享 · DeepSeek Harness Hub
NokorinNishikino/kidai-plugin-market-hub

多源聚合插件,一键安装并安全审计管理

这是你的仓库?认领条目

回到顶部