DSH 插件市场:在侧边栏浏览、搜索、个性化推荐、安装与一键管理 DSH 生态插件,本地画像零 token 常驻。
- 语言
- TypeScript
- License
- NOASSERTION
- 分支
- master
安装
$ dsh plugin --profile web add github:2BingLing/dsh-market在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程
对话式安装
帮我安装 DeepSeek Harness 插件 2BingLing/dsh-market:先查看仓库 https://github.com/2BingLing/dsh-market.git 确认安全性,然后执行安装命令并验证插件加载成功。
把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。
一句话定位
把 DSH 生态的插件和整合包收进侧边栏:浏览、搜索、个性化推荐、一键安装与卸载,全程在本地画像上跑,不打开面板时零 token 常驻。
核心能力
- 浏览与搜索:浏览全量已收录插件;中文关键词、标签多选、类型筛选都可用,搜索走本地 Fuse.js,秒级返回
- 个性化推荐:冷启动问卷 / 收藏 / GitHub 加星 / 已装列表共同构成用户画像,"猜你喜欢"按 EMA 衰减动态更新,每条都附"为什么推荐"
- 场景推荐:读取当前会话标题和最近消息(含工具名)零 token 匹配插件标签,给"现在该装什么"的本地化建议
- 一键安装:skill 型走 git clone,cordis 型走 dsh plugin add;带失败重试、安装前快照、回滚;AI 代理安装可让 DSH 子代理读 README 后再执行
- 已装管理:自动检测本机已装(扫 skill 目录 + profile 依赖),支持一键卸载,并检查 npm registry / pushedAt 给出更新提示
- GitHub 集成:在面板里用设备流或 PAT 登录 GitHub,直接给市场里的插件加星/取消加星;设置页还能切"推荐模式"和目标 profile
技术实现
- 语言: TypeScript(ESM 严格模式,主机包与核心包分两层;面板用 React 18)
- 关键依赖: @dsh-market/core、@dsh-market/schema、fuse.js(本地搜索)、@dsh-market/plugin 自家在 web profile 下运行
- 架构模式: cordis 双端插件 — host 半注册
/market/apiJSON-RPC 路由(index.ts:128-475),client 半通过sidebar.footer.action注入侧边栏按钮、shell.overlay注入全屏面板;数据源走 GitHub Pages 上的plugins.json,本地缓存 1 小时 - 入口文件: 主机入口
plugin/ui/src/index.ts、浏览器入口plugin/ui/src/client/index.ts、纯 Node 核心库plugin/core/src/index.ts
适用场景
刚装好 DSH 不确定该装哪些插件的人,不想记一长串安装命令的人;装了 DSH 一段时间、想按自己使用习惯被推荐的人;以及想把若干插件打包管理、希望有"已装/更新/卸载"统一面板的人。
前置依赖与兼容性
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| DSH | 未声明 | 通过 cordis 插件协议(dsh.bundle.patch + dshClient.inject)注入 web profile;需启用 @deepseek-ai/dsh-client-runtime、@deepseek-ai/dsh-client-locale、@deepseek-ai/dsh-client-ui-slots |
| Node | >=20 | 仓库根 package.json 的 engines 字段声明 |
| 平台 | macOS / Windows / Linux | 安装器在 Windows 上用 cmd.exe,其他平台走默认 shell;目录删除在 Windows 上会兜底用 rmdir /s /q |
| 原生模块 | 无 | 不依赖 node-pty / sqlite / sharp 等原生绑定 |
| 仓库内工具 | blakejs / playwright-core / sharp / tweetnacl | 仅 collector 数据管道使用,不进入插件运行时 |
安装方式
dsh plugin --profile web add github:2BingLing/dsh-market
安装后重启 harness,侧边栏底部会多一个"插件市场"图标按钮,点击打开 6-Tab 面板:推荐 / 搜索 / 整合包 / 收藏 / 已装 / 设置。
配置项
| 配置 | 类型 | 说明 | 默认值 |
|---|---|---|---|
| DSH_HOME | 路径环境变量 | 改写 DSH 主目录(含 skills / profiles / 数据子目录) | ~/.dsh |
| DSH_SKILLS_DIR | 路径环境变量 | 技能(skill 型插件)安装目录 | 优先取 DSH_HOME/skills,否则 ~/.agents/skills |
| DSH_PROFILES_DIR | 路径环境变量 | profile 依赖清单所在目录 | ~/.dsh/profiles |
| DSH_MARKET_DATA_DIR | 路径环境变量 | 插件市场本地数据目录(画像、设置、绑定、快照) | ~/.dsh/plugins/dsh-market |
| 推荐模式(modeOverride) | auto / novice / veteran | novice 更偏好精选和易上手,veteran 放开权重,auto 走画像自动档 | auto |
| 目标 profile | 字符串 | 后续一键安装 / 卸载落到哪个 profile | web |
| GitHub 绑定 | 设备流 token 或 PAT | 用于同步加星列表(PAT 才能在面板里直接加星/取消加星) | 未绑定 |
本地配置文件落在
~/.dsh/plugins/dsh-market/下:profile.json(画像)、settings.json(模式 + profile 覆盖)、binding.json(GitHub 凭据)、snapshots/(每次安装的快照,用于回滚)。
常见问题
Q: 这个插件和 dsh.market 网站是什么关系?
A: 只共享同一份每日 06:00 自动生成的 plugins.json 数据。Web 版是独立静态站(dsh.market),插件版是独立 cordis 插件;装插件不影响 Web 站,反之亦然。
Q: 一键安装失败会留下半成品吗?
A: 不会。安装器在执行前会拍快照(包括旧目录备份和旧 package.json),失败后自动回滚到安装前的状态;每步最多重试 2 次才放弃。
Q: 卸载之后数据还在吗?
A: 卸载插件本身只删 skill 目录或从 profile 依赖里移除包名;本地的画像、设置、GitHub 绑定、整合包浏览记录都留在 ~/.dsh/plugins/dsh-market/,重装后能继续用。
Q: 自更新时为什么提示 EPERM?
A: harness 正在运行,pnpm 替换插件目录里的文件可能被占用。先停掉 harness,再手动跑一次 npx @deepseek-ai/dsh plugin --profile <profile> add @dsh-market/plugin@latest,然后重启 harness。
Q: 哪些功能需要联网,哪些能离线?
A: 浏览 / 搜索 / 推荐 / 一键安装 / 卸载 / 已装管理 / GitHub 加星都需要联网;本地画像和搜索索引能复用上次缓存。
Q: 哪些面板功能需要 DSH 服务存在?
A: "AI 语义搜索"依赖 harness 暴露 llm 服务,"AI 代理安装"依赖 subagents 和 agents,"场景推荐"依赖 sessionQuery;服务不可用时面板会降级或给出明确错误。
Q: 如何让自己的插件被收录?
A: 两种方式:给仓库打 dsh-plugin topic,等次日 06:00 自动管道扫描;或在仓库 issue 区用"提交插件"模板开 issue。
上手难度
入门 — 默认零配置可用,没有额外必填项;高级能力(GitHub 绑定、自更新、整合包)藏在"设置"里,按需打开。
已知问题与限制
- 自更新插件时,harness 正在运行进程可能让 pnpm 替换文件失败,需先停止 harness 再手动执行安装命令(plugin/ui/src/index.ts:194-199)
- cordis 插件的卸载依赖 pnpm 对依赖键名的大小写敏感,市场里 plugin.name 是 GitHub 仓库原大小写,必须用本地已装的依赖键名(localName)才能正确卸载(plugin/core/src/installer.ts:329-333)
- Windows 上删除 skill 目录可能被占用,删除逻辑内置 5 次重试 +
rmdir /s /q兜底,但仍可能需要关闭占用进程(plugin/core/src/installer.ts:289-310) - AI 语义搜索固定召回 60 个候选池,调 LLM 精排:插件量继续增长时召回深度不会同步增加,避免 token 失控,但同时限制了长尾召回(plugin/ui/src/index.ts:286-308)
- "AI 代理安装"和"AI 语义搜索"只在 harness 暴露对应服务(subagents / llm)时才可用;老版本 harness 可能缺失这两类服务(plugin/ui/src/index.ts:286-414)
- 仓库根目录声明的 engines 为
node >=20,比部分 DSH 官方文档建议的版本更宽,但实际安装仍依赖用户 DSH profile 自带的 Node 运行时(package.json:18-20)
中文 · English
两种形态
DSH 生态增长极快,插件与技能散落在 GitHub 各处 —— 不知道哪个好用、怎么装、怎么组合成一套能干活的环境。DSH Market 用一个平台收齐它们,并提供两种消费入口:
| 位置 | 浏览器 · GitHub Pages 纯静态站 | DSH 侧边栏 · cordis 插件 |
| 定位 | 发现与评估 | 安装与管理 |
| 内容 | 插件(cordis/skill)+ 整合包分区(生态内容市场) | 5-Tab 面板 · 一键安装 · 新手推荐 · 个性化推荐 · 场景推荐 · AI 代理安装(详见 DSH 插件版)+ 整合包 Tab |
| 安装 | 零安装,浏览器打开即用 | npx @deepseek-ai/dsh plugin --profile web add @dsh-market/plugin |
| 资源消耗 | — | 零 token 被动运行,不参与日常对话 |
两者的关系:仅共享同一份
plugins.json数据(每日 06:00 自动刷新星星与描述),除此之外没有直接关联——Web 版是独立的浏览站,插件版是独立的 cordis 插件,可分别使用、互不依赖:用 Web 版不一定要装插件,装插件也不影响 Web 站。
演示
| Web 版 | DSH 插件版 |
|---|---|
![]() | ![]() |
快速开始
Web 版
无需安装,直接访问:
安装插件版
npx @deepseek-ai/dsh plugin --profile web add @dsh-market/plugin
装完重启 harness,侧边栏底部出现「插件市场」入口。
DSH 插件版
装进 DSH 侧边栏的插件市场:新手 3 分钟上手,越用越懂你。
新手友好 · 零门槛
- 首次打开有冷启动问卷:选你常用的场景与插件类型,立即得到精选 + 猜你喜欢
- 不用记任何命令——卡片上一键安装(skill / cordis 自动路由,失败自动重试、可回滚)
- 零 token 被动运行:不打开面板不消耗任何资源,不参与日常对话
个性化推荐 · 越用越懂你
- 画像来自问卷 / 收藏 / GitHub 加星 / 已装插件,全部保存在本机
- 「猜你喜欢」随使用动态更新(EMA 衰减),每个推荐附一句「为什么推荐」
场景推荐 · 读当前会话
- 手动触发,读取当前会话标题与消息(零 token)→ 推荐"现在这个场景该装什么"
AI 语义搜索 · 即将上线
- 本地召回 60 候选 → LLM 精排 20 并附理由;候选池固定不随插件量增长,默认关闭省 token
AI 代理安装
- 拿不准装不装?交给 DSH 子代理:读 README → 验证 → 安装,需要配置时先向你确认
特性
- 持续收录 — 每天自动扫描
dsh-plugin/dsh等 GitHub topic、社区精选列表,全量收录(当前 4276 个插件 + 整合包通道) - 实用五维评分 — 维护活跃 / 实用度 / 生态热度 / 便捷度 / 信号质量,加权几何平均融合,每个插件附「为什么推荐」解释
- 中文体验 — 所有插件自动生成中文简介与中文功能标签,中文搜索、中文筛选
- 一键安装 — 插件版确定性脚本路由:skill 型
git clone,cordis 型dsh plugin add;失败可重试、可回滚 - AI 安装 — 插件版可交给 DSH 子代理读 README 验证后安装,需要配置时先向你确认
- 推荐体系 — 冷启动问卷 / 新手友好 / 猜你喜欢(个性化画像)/ 场景推荐(读会话上下文,详见 DSH 插件版)
- 整合包生态 — Web「整合包」分区 + 插件端整合包 Tab(浏览 / 条目解析率校验 / 装包入口);配套
dsh.pack.json整合包协议(详见 dsh-bundler) - 零 token 常驻 — 插件版纯被动运行,不打开面板不消耗任何资源
使用
Web 版
| 场景 | 怎么用 |
|---|---|
| 找插件 | 搜索框中文关键词 / 标签多选 / 类型与评分筛选 |
| 看质量 | 卡片五边形雷达图 + 五维明细 + 推荐理由 |
| 装插件 | 详情页复制真实安装命令,或复制「AI 安装提示词」 |
插件版(5-Tab 面板)
| Tab | 做什么 |
|---|---|
| 推荐 | 猜你喜欢 / 精选 / 场景推荐(手动触发,读会话上下文) |
| 搜索 | 本地 Fuse 搜索 · 热门标签 · 200+ 结果分页 |
| 收藏 | 星标收藏的插件,稍后安装 |
| 已装 | 检测本机已装(skill 目录 + profile),一键卸载 |
| 设置 | GitHub 绑定(PAT 加星 / 设备流只读)· 推荐模式 · 目标 profile |
评分体系
实用五维(权重加权几何平均,借鉴 StarRadar 融合机制、理念转向「实用、便捷」):
| 维度 | 权重 | 含义 |
|---|---|---|
| 维护活跃 | 30% | 近 90 天提交 + issue 健康度(DSH 迭代快,易坏的插件权重最高) |
| 实用度 | 25% | README / 文档 / 示例完备度 |
| 生态热度 | 20% | stars 对数归一化(p99 动态基准)+ fork 参与率(Wilson 小样本稳健) |
| 便捷度 | 15% | 安装步骤清晰 + 无需额外配置 |
| 信号质量 | 10% | license / topics / description / README 完备度 |
每个插件附 explanation(一句话解释评分理由)。详见 评分体系说明。
收录机制
定位:DSH Market 是 DeepSeek Harness 生态的插件收录与发现平台——只收 DSH 专属生态的插件,不做通用项目收录。
每日 06:00 自动管道扫描以下数据源:
GitHub Actions(每日 06:00 自动收录 + 部署)
└─ collector(Node,并发 10,24h 缓存)
├─ 扫描数据源:
│ ├─ topic 扫描:dsh-plugin / dsh / deepseek-harness-plugin / dsh-bundle / dsh-skill
│ │ └─ 多路排序并集(stars + updated + created 各取前 1000,去重合并)
│ │ └─ GitHub Search API 单查询硬上限 1000 条,多路并集覆盖长尾(~72%+)
│ │ └─ 限流:Search API 30 次/分钟 → 每页间隔 2.3s,防 403
│ ├─ awesome 列表 ×2(人工策展社区列表)
│ ├─ dsh-external 组织
│ └─ 本仓库提交插件 issue(label: submission / 标题「[提交插件]」)
├─ 收录条件(全部满足才收录):
│ 1. 不是 fork / archived / 官方本体(deepseek-ai/deepseek-harness)
│ 2. 特征检测通过:根目录有 SKILL.md(skill 型)
│ 或 skills/ 目录含 SKILL.md(技能集合)
│ 或 dsh.profile / cordis.patch.yml 等 cordis 标记
│ 或 package.json 依赖含 cordis 关键字(二次确认)
│ 3. 无 stars / 评分门槛——检测通过即收录
├─ 元数据 + README:GitHub API(stars / 描述 / 安装命令解析)
├─ 实用五维评分 + 解释层
└─ DeepSeek 增量中文化(只翻译新插件,省 API 费用)
→ data/plugins.json
├─ 同步到 web/public/plugins.json(Web 站 + 插件版共用)
└─ 提交 → 构建 → 部署 GitHub Pages
说明:打了 dsh-plugin topic 只是进入候选池的入场券——收录还需要仓库确实是 DSH 插件(有 SKILL.md 或 cordis 标记)。topic 2000+ 仓库中大量并非 DSH 插件(随手打 tag / fork),特征检测会自动过滤。
目录结构
├─ collector/ # 数据管道(Node + tsx):扫描 → 检测 → 评分 → 中文化
├─ web/ # Web 站(Vite + React + TS + Fuse.js)
├─ plugin/
│ ├─ core/ # 插件核心层(纯 Node,零 DSH 依赖,可独立测试)
│ └─ ui/ # 插件 UI 层(cordis Host RPC + 浏览器 Client 面板)
├─ schema/ # 共享类型(DshPlugin / MarketData / PracticalScore)
└─ scripts/ # 工具脚本(截图 / 数据注入 / 视觉评审)
本地开发
# 克隆与安装
git clone https://github.com/2BingLing/dsh-market.git
cd dsh-market
npm install
cp .env.example .env # 填入 GITHUB_TOKEN(必需)、DEEPSEEK_API_KEY(可选)
# 数据管道(扫描 → 检测 → 评分 → 中文化 → data/plugins.json)
npm run collect
# Web 站
npm run dev -w web # http://localhost:5173
npm run build -w web # 生产构建
# 插件端
npm run build -w @dsh-market/core # 核心层
npm run build -w @dsh-market/plugin # 插件包(lib/index.js + lib/client.js)
贡献
提交插件(两种方式均可)
- 给仓库打
dsh-plugintopic —— 最快,每日管道扫描直接命中 - 通过 提交插件 issue 模板 提交 —— 填写仓库地址 / 插件类型 / 一句话简介即可
提交后会发生什么:
提交 issue → 次日 06:00 自动管道提取仓库 → 特征检测
├─ 通过(是 DSH 插件)→ 收录进市场 → 自动回复 issue:
│ ✅ 已收录确认 + 次日更新说明 + 徽章指引 → 自动关闭 issue
└─ 未通过(非插件)→ 不收录(可重新打开 issue 询问原因)
-
修正数据:评分 / 描述 / 安装命令有误,提 issue 或 PR
-
作者自述:提交时附上「作者自述简介」,会展示在市场详情页的「作者自述」专区(带作者标识)——用你自己的话介绍插件,比自动简介更有温度。已收录插件可提交
[数据修正]issue 补写 -
挂收录徽章:被收录的插件作者可在 README 顶部挂 DSH Market 收录徽章,让用户一眼认出:
用法见 PLUGIN-BADGE.md(高分精选需实用评分 ≥ 80)
License
收录徽章
[](https://deepseek-plugin.org/plugins/2BingLing/dsh-market)把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

