dsh-market

42Star1Fork5Issue0Watching

DSH 插件市场:在侧边栏浏览、搜索、个性化推荐、安装与一键管理 DSH 生态插件,本地画像零 token 常驻。

机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
TypeScript
License
NOASSERTION
分支
master
deepseek-harnessdeepseek-harness-plugindeepseek-harness-pluginsdshdsh-bundledsh-marketdsh-plugindsh-plugins

安装

$ 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/api JSON-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 / veterannovice 更偏好精选和易上手,veteran 放开权重,auto 走画像自动档auto
目标 profile字符串后续一键安装 / 卸载落到哪个 profileweb
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 代理安装"依赖 subagentsagents,"场景推荐"依赖 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)

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/2BingLing/dsh-market)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录