在设置里浏览 GitHub 插件并一键安装卸载
30.3/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/8/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:npm 同名包「dsh-plugin-marketplace」归属 scorp1o117/dsh-plugin-marketplace,装到的可能不是本插件。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Viveksssss/DeepSeek-harness-marketplace该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 80 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(dependency_conflict · 2026/11/2) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意npm 同名包「dsh-plugin-marketplace」归属 scorp1o117/dsh-plugin-marketplace,装到的可能不是本插件
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-plugin-marketplace @ 0.4.2
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/7 04:10:43
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 9 处,展示前 9 条)
- 读取本地文件lib/index.js:13
const raw = readFileSync(statePath(home), "utf8"); - 写入本地文件lib/index.js:24
mkdirSync(dirname(p), { recursive: true }); - 写入本地文件lib/index.js:25
writeFileSync(p, JSON.stringify({ version: 1, updatedAt: new Date().toISOString(), enabled: list }, null, 2) + "\n"); - 读取本地文件lib/index.js:125
const manifest = JSON.parse(readFileSync(join(home, "profiles", profile, "package.json"), "utf8")); - 读取本地文件lib/index.js:141
const manifest = JSON.parse(readFileSync(join(dir, "package.json"), "utf8")); - 读取本地文件lib/index.js:159
if (!existsSync(join(dir, "package.json"))) { - 读取本地文件lib/index.js:165
if (!existsSync(abs) || !readFileSync(abs).length) { - 读取本地文件lib/index.js:165
if (!existsSync(abs) || !readFileSync(abs).length) { - 发起网络请求lib/client.js:123
response = await fetch(path, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify(payload || {}) });
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 浏览GitHub插件
- 一键安装插件
- 一键卸载插件
README
由 DeepSeek 最新模型翻译生成🛍️ DSH 插件市场
一个为 DeepSeek Harness (DSH) 打造的插件生态入口
在「设置 → 插件」里直接浏览、预览、一键安装 GitHub 上的 DSH 插件,启用列表持久化保存,重启不丢失。
DSH
License
Platform
GitHub stars
📖 目录
- 它是什么
- 核心特性
- 工作原理
- 快速开始
- 详细使用指南
- 方式一:通过本插件市场(推荐)
- 方式二:使用 DSH 命令行
- 浏览页
- 导入仓库
- 已启用列表
- 插件识别规则
- 状态文件
- 常见问题
- 踩坑与已知限制
- 开发
- License
🧭 它是什么
dsh-plugin-marketplace 是一个 DSH web 端插件,它在 DSH 的网页版「设置 → 插件」区域新增了一个「插件市场」 标签页。
你可以像逛应用商店一样:
1. 🔍 浏览 GitHub 上带 topic:dsh-plugin 标签的仓库;
2. 📖 直接查看仓库的 README、星标、语言、许可证 等元信息;
3. ⚡ 一键安装 / 卸载,自动调用 DSH 官方的插件机制;
4. 💾 已启用的插件列表会 持久化 到本地 JSON 文件,重启 DSH 后依然保留。
展开完整文档(README 剩余 1 节)
🛍️ DSH 插件市场
一个为 DeepSeek Harness (DSH) 打造的插件生态入口
在「设置 → 插件」里直接浏览、预览、一键安装 GitHub 上的 DSH 插件,启用列表持久化保存,重启不丢失。
DSH
License
Platform
GitHub stars
📖 目录
- 它是什么
- 核心特性
- 工作原理
- 快速开始
- 详细使用指南
- 方式一:通过本插件市场(推荐)
- 方式二:使用 DSH 命令行
- 浏览页
- 导入仓库
- 已启用列表
- 插件识别规则
- 状态文件
- 常见问题
- 踩坑与已知限制
- 开发
- License
🧭 它是什么
dsh-plugin-marketplace 是一个 DSH web 端插件,它在 DSH 的网页版「设置 → 插件」区域新增了一个「插件市场」 标签页。
你可以像逛应用商店一样:
1. 🔍 浏览 GitHub 上带 topic:dsh-plugin 标签的仓库;
2. 📖 直接查看仓库的 README、星标、语言、许可证 等元信息;
3. ⚡ 一键安装 / 卸载,自动调用 DSH 官方的插件机制;
4. 💾 已启用的插件列表会 持久化 到本地 JSON 文件,重启 DSH 后依然保留。
它本身是「DSH 的插件」,同时又是「DSH 插件的安装器」——是一个典型的生态入口(bootstrap)。
✨ 核心特性
| 特性 | 说明 |
| 🔎 GitHub 搜索 | 按 topic:dsh-plugin / topic:dsh-theme / topic:dsh-skill 等关键词检索,按星标排序 |
| 📄 仓库预览 | 拉取仓库描述、星标、fork 数、语言、许可证、topics 与 README(自动截断) |
| ⚡ 一键启用 | 底层调用 dsh plugin --profile add github:owner/repo,复用官方安装流程 |
| 🛡️ 安装校验 | 装完后验证插件包入口文件是否存在,缺失则自动回滚,避免弄坏 profile 下次无法启动 |
| 💾 持久化启用列表 | 写入 ~/.dsh/plugin-marketplace.json,重启不丢失 |
| 🎨 深度契合主题 | 全部样式使用 DSW 设计令牌(--dsw-alias-),自动适配明暗主题 |
| 🚦 友好反馈 | 区分错误 / 警告 / 提示三态,网络异常、GitHub 限流都有清晰提示 |
⚙️ 工作原理
DSH Web UI(设置 → 插件 → 插件市场) │ fetch POST /marketplace/ ▼ 后端 handler(lib/index.js,通过 ctx.webServer.register 挂载) │ ├── /marketplace/browse → GitHub Search API 搜仓库 ├── /marketplace/import → GitHub Repos API 拉单个仓库 + README ├── /marketplace/enable → 调 dsh plugin add github:owner/repo(pnpm 转发) ├── /marketplace/disable → 调 dsh plugin remove └── /marketplace/enabled → 读/写 ~/.dsh/plugin-marketplace.json │ ▼
dsh plugin(官方 CLI)→ 转发给 pnpm → reconcilePlugins → 写入 profile 的 bundles 层栈
关键点:本插件 不重新发明安装逻辑,而是完全复用 DSH 官方的
dsh plugin 命令(它本质是 pnpm 转发器 + bundle 调和器),
只负责「搜索、预览、持久化、安装后校验与回滚」这些官方 CLI 没有的 UI 能力。
🚀 快速开始
前置要求
- ✅ 已安装 DeepSeek Harness(dsh CLI 可用)
- ✅ 已安装 pnpm(dsh plugin 内部依赖 pnpm)
- ✅ 能访问 GitHub(含 api.github.com)
一键安装
把这个仓库作为一个插件安装进你的 web profile:
dsh plugin --profile web add github:Viveksssss/DeepSeek-harness-marketplace
然后用 dsh web 启动:
dsh web
打开网页版 → 进入 设置 → 插件,就能看到新增的 「插件市场」 标签页。🎉
📚 详细使用指南
方式一:通过本插件市场(推荐)
装好插件市场之后,日常管理插件就再也不用记命令了:
1. 启动 DSH 网页版:dsh web
2. 进入 「设置」→「插件」
3. 点击顶部 「插件市场」 标签
现在就进入了插件市场,包含三个子页面:
🔍 浏览页
搜索框:默认值是 topic:dsh-plugin,输入任意 GitHub 搜索关键词后回车或点「搜索」。
快捷标签(chips):一键切换热门搜索词:
| 快捷词 | 用途 |
| topic:dsh-plugin | 搜索打上 dsh-plugin 标签的插件 |
| topic:dsh-theme | 搜索 DSH 主题 |
| topic:dsh-skill | 搜索 DSH 技能 |
| deepseek-harness | 搜索含该关键词的仓库 |
结果卡片:每个仓库显示 —— 名称(可点开 GitHub)、星标数、描述、语言、许可证、topics,以及一个 「启用 / 已启用 · 停用」 按钮。
- 点 「启用」 → 开始安装,按钮变为「处理中…」;
- 安装完成后顶部提示「操作已保存:已安装插件,重启 DSH 后生效」;
- 再次点击(此时为「已启用 · 停用」红色按钮)→ 卸载该插件。
分页:列表底部有「上一页 / 第 N 页 / 下一页」,每次最多 30 个结果。
📥 导入仓库
用于精确安装某个已知仓库(浏览搜索不到时很实用)。
在输入框中填入仓库地址,支持以下任意格式:
deepseek-ai/deepseek-harness # owner/repo
https://github.com/owner/repo # 完整 URL https://github.com/owner/repo/tree/main # 带路径的 URL git@github.com:owner/repo.git # SSH 形式(会被归一化)
点 「导入并预览」 后,卡片会显示:
- 仓库描述、星标、语言、许可证、topics;
- README 前 6000 字符(等宽字体滚动框);
- 默认分支名;
- 「添加并启用」按钮(逻辑同浏览页)。
📋 已启用列表
展示所有已启用(且已持久化)的插件。
- 显示每个插件的名称、星标、描述;
- 每个条目的 「停用」 按钮会卸载插件;
- 顶部提示:启用列表已持久化到 ~/.dsh/plugin-marketplace.json。
方式二:使用 DSH 命令行
插件市场本质上是对官方 CLI 的封装,你也可以完全脱离 UI 使用官方命令:
安装(推荐 github: 协议,git 依赖会执行 prepare 脚本)
dsh plugin --profile web add github:Viveksssss/DeepSeek-harness-marketplace
卸载
dsh plugin --profile web remove
查看已安装
dsh plugin --profile web list
升级
dsh plugin --profile web update
⚠️ 注意:DSH / pnpm 不识别 @owner:repo 这种写法(那是 npx 的语法)。
请使用 github:owner/repo 或 owner/repo。
🧩 插件识别规则
一个 GitHub 仓库要能作为 DSH 插件被本市场(以及 dsh plugin)正确安装,需要同时具备两个条件:
1. 声明 dsh.bundle(作为 profile bundle 层被加载)
package.json 里声明 dsh.bundle.patch,指向仓库根目录的 cordis.patch.yml:
{
"name": "dsh-plugin-marketplace",
"dsh": {
// 关键:声明自己是 bundle,reconcilePlugins 会据此把它加进 dsh.profile.bundles
"bundle": {
"patch": "./cordis.patch.yml"
}
}
}
仓库根目录同时需要一个 cordis.patch.yml,把自己 insert 进 Loader 的 entries (name 必须是 package.json 的包名;id 全局唯一):
- insert:
- id: plugin-marketplace
name: dsh-plugin-marketplace
inject: [webServer, subprocess] # 仅当 host 半需要这些服务时才写
⚠️ 没有 dsh.bundle 声明,dsh plugin add 会把它当普通依赖安装(不加入 bundle 层),并打印 declares no dsh.bundle 警告;没有 cordis.patch.yml 里的 entry,则不会被 Loader 加载。两者缺一不可。
2. 声明 dsh.client(作为浏览器插件被扫描)
如果插件有前端 UI,再声明 dsh.client:
{
"dsh": {
"bundle": { "patch": "./cordis.patch.yml" },
"client": {
"inject": ["@deepseek-ai/dsh-client-runtime"],
"platform": "web"
}
},
"exports": {
".": "./lib/index.js", // host 半(后端,提供 /marketplace 路由) "./client": "./lib/client.js" // browser 半(前端,slot 注入 UI) } }
client-modules 扫描 ctx.loader.entries(),对每个包读 dsh.client,校验 platform === "web" 且存在 exports["./client"],然后 serve /plugins//client.js。
3. 入口文件必需真实存在
这是最常见的坑——很多 git 仓库不提交 lib/ 构建产物,安装时又没跑 prepare/build,导致装上后却无法启动。
- ✅ 方案 A:把构建产物提交进 git;
- ✅ 方案 B:把 build 脚本改成(或加上)prepare,因为 pnpm 安装 git 依赖时会执行 prepare。
本市场在启用插件时会对入口文件做校验,缺失会自动回滚并给出具体报错,避免污染 profile 导致下次 dsh web 启动失败。
💾 状态文件
插件市场会把启用状态写入:
~/.dsh/plugin-marketplace.json
结构大致如下(DSH_HOME 环境变量可自定义 DSH 主目录):
{
"version": 1,
"updatedAt": "2025-08-15T12:00:00.000Z",
"enabled": [
{
"full": "owner/repo",
"owner": "owner",
"name": "repo",
"description": "...",
"htmlUrl": "https://github.com/owner/repo",
"stars": 123,
"pkgName": "实际的 npm 包名", "enabledAt": "2025-08-15T12:00:00.000Z" } ] }
- 卸载插件时会读取该文件中记录的 pkgName,用真实的 npm 包名来卸载(因为 git 依赖装进 profile 后,dependencies 里写的是 npm 名,不是 owner/repo);
- 删除这个文件即可重置市场状态(不会卸载已装的插件本体)。
❓ 常见问题
Q:安装后提示「插件缺少入口文件」,怎么办?
这是最典型的问题:仓库没提交构建产物(lib/),安装时也没生成。请 联系插件作者,让其要么提交构建产物,要么把 build 改为 prepare。
本市场已自动回滚,未污染你的 profile。
Q:提示「已触发 GitHub 速率限制」,怎么回事?
GitHub API 对匿名请求有速率上限(约 60 次/小时)。稍等一段时间再试,或为本机配置一个 GitHub token 提升额度(本市场当前版本暂未内置 token 注入,后续可扩展)。
Q:装完插件后需要重启吗?
需要。插件市场安装/卸载后都会提示「重启 DSH 后生效」,因为 DSH 的 bundle 层在启动时解析。
Q:状态文件删掉后,已装的插件会消失吗?
不会。状态文件只是市场用于「记住启用了哪些、卸载时用什么 npm 名」的索引。
真正的插件本体在 profile 的 node_modules 里,由 DSH 官方机制管理。
⚠️ 踩坑与已知限制
1. 入口文件校验是兜底而非万能:只检查主入口是否存在且非空,无法做深度语法检查。
2. 匿名 GitHub API 限流:共享 IP 下浏览/导入频繁可能触发限流,属 GitHub 限制。
3. 安装依赖网络:dsh plugin add github:... 走 git + pnpm,网络慢或 prepare 脚本未在 pnpm-workspace.yaml 的 allowBuilds 白名单里时可能失败,此时 CLI 会打印具体需要放行的 key。
4. 仅支持 web 平台:本插件 platform 声明为 web,客户端注入的是 @deepseek-ai/dsh-client-runtime,TUI 等其它 profile 不适用。
🛠️ 开发
克隆
git clone https://github.com/Viveksssss/DeepSeek-harness-marketplace.git
cd dsh-plugin-marketplace
本项目无独立构建步骤(源码即产物,lib/ 已提交)以 git 依赖方式装进本地 profile 调试:
dsh plugin --profile web add github:Viveksssss/DeepSeek-harness-marketplace
或者用本地路径:
dsh plugin --profile web add link:$(pwd)
目录结构
.
├── package.json # 包清单:dsh.bundle(bundle 层)+ dsh.client(浏览器插件)声明 ├── cordis.patch.yml # bundle 补丁:把自己 insert 进 Loader entries ├── LICENSE # MIT └── lib ├── index.js # host 半:/marketplace HTTP 路由 + dsh plugin 调用 + 校验/回滚 └── client.js # 浏览器端:设置页 UI(React + DSW 设计令牌)
📄 许可证
MIT © 2025预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Viveksssss/DeepSeek-harness-marketplace
在设置里浏览 GitHub 插件并一键安装卸载
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,225未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,370已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13941 个插件含 PR 收录与…
★ 355已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目