DeepSeek Harness 插件

dsh-plugin-market-zrpromis

DSH 插件市场:GitHub 插件浏览/搜索/详情/一键安装,带 GitHub 登录、代理与配额显示。Plugin Marketplace for DeepSeek Harness.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
zr-promise/dsh-plugin-market
最近更新
2026年8月22日
分类
插件市场与管理
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/zr-promise/dsh-plugin-market
插件名:dsh-plugin-market-zrpromis
作者:zr-promise

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器2 个文件
README.md来源说明 · 只读预览

@dsh-external/dsh-plugin-market

DeepSeek Harness 插件市场(Plugin Marketplace)。

在 DSH Web 对话页新增「插件市场」Tab,用来浏览、搜索、查看并安装 GitHub 上的 DSH 插件;同时提供「插件管理」Tab,用来检查更新、一键更新、查看详情和卸载已安装插件。插件同时向 Agent 暴露 market_search / market_info / market_install / market_debug 四个工具。

> 源码:<https://github.com/zr-promise/dsh-plugin-market>

---

安装

以下两种方式任选其一。安装完成后重启 DSH,对话页出现「插件市场」Tab 即表示安装成功。

方式一:命令行

dsh plugin --profile web add github:zr-promise/dsh-plugin-market

方式二:发给 DSH 助手

在 DSH 对话页输入框粘贴上面的命令,助手会代为执行安装,无需自己操作终端。

安装之后

  • 市场的主要用途是搜索并安装其他 DSH 插件。
  • 想更新或重装本插件,在市场内搜索 zr-promise/dsh-plugin-market 一键安装即可。
  • 未来发布到 npm 后,也可用 dsh plugin --profile web add @zr-promise/dsh-plugin-market 安装。

---

功能

插件市场 Tab

  • 浏览与搜索:内置收录列表 + GitHub 仓库搜索,只返回 DSH 相关插件;支持「加载更多」分页。
  • 首页收录优化:除了 topic:dsh-plugin,还会合并 dsh in:name 高星仓库,避免“没打 topic 但确实是 DSH 插件”的项目漏掉。
  • 手动刷新:点击强制拉取 GitHub 最新数据,绕过缓存与限流保护。
  • 筛选与排序:按来源(GitHub / 收录)、语言过滤;按 Stars / Forks / 最近更新 / 名称排序。
  • 已安装标记:扫描本机 ~/.dsh/profiles/*/package.json 的 bundles 与 ~/.dsh/plugin-src/ 目录,在列表和详情页标注「已安装」(60 秒缓存)。
  • 插件详情:Stars / Forks / License / 默认分支 / Topics / README(内置极简 Markdown 渲染)与插件清单文件。
  • 一键安装:自动识别安装形态——

- bundle:真·一键安装。Host 自动 git clone~/.dsh/plugin-src/<repo>,写入 profile(bundles + link 依赖)、安装包依赖并创建 node_modules 链接,失败自动回滚,重启后生效;支持子目录皮肤和 npm 已发布包的推荐安装。 - dynamic:动态插件。拉取源码后自动填入对话指令,由助手完成 define + run。 - list:收录 / 资料类仓库,不可直接安装。

插件管理 Tab

  • 列出所有已安装的第三方插件,显示仓库名 / 版本 / 本地更新时间 / 类型 / 套装信息。
  • 详情页:展示本地路径、关联组件/预设、GitHub 信息、README 与清单文件。
  • 检查更新:逐个或全部检查。优先比较版本号,版本一致不会误报;本地缺少仓库信息时,会回退查询 npm registry 的 repository 元数据;仍无法比较版本时才按仓库推送时间做启发式判断。
  • 一键更新:检测到新版本时显示「更新」按钮。git 源码安装走 git fetch + reset(无 .git 且目录独立则重新 clone);npm 安装走 pnpm add <name>@<最新版>(显式指定版本,避免 pnpm v11 的 minimumReleaseAge 静默装到旧版)。更新前自动备份,失败自动回滚;更新后自动重装依赖并做入口预检,重启 DSH 生效。
  • 卸载:两段式确认卸载,连同源码目录删除。官方 @deepseek-ai/* 插件不可卸载。
  • 套装卸载:如果插件属于某个套装(如 dsh-routing-suite),卸载时会连带删除关联的源码目录和 agent preset,并在界面明确展示“关联组件/预设”。

其他

  • GitHub 登录:粘贴 Personal Access Token(ghp_… / github_pat_…),验证通过后保存到 ~/.dsh/github-auth.json,API 限额从 60 次/小时提升到 5,000 次/小时(搜索 30 次/分钟)。
  • 代理:可在 ~/.dsh/dsh-plugin-market.json 配置代理({"proxy": "http://127.0.0.1:7890"})。
  • 配额显示:分别展示「搜索配额 / 分钟」与「API 配额 / 小时」两个 GitHub 限流桶。

---

Agent 工具

工具说明
market_search搜索/浏览 DSH 插件,支持分页、刷新
market_info查看仓库详情、README、清单文件与安装形态
market_install获取插件源码并识别安装形态(dynamic / bundle / list)
market_debug诊断 curl、GitHub 网络、认证与代理状态

---

套装清单约定

第三方“套装/预设”类安装可以在 ~/.dsh/dsh-suite-manifests/*.json 写入清单,让市场自动识别为“套装”,并支持整体卸载与仓库信息补全:

{
  "id": "my-suite",
  "label": "My Suite",
  "plugins": ["@scope/my-plugin"],
  "repos": {
    "@scope/my-plugin": "owner/my-repo"
  },
  "components": [
    { "label": "my-plugin 源码", "path": "C:/Users/you/.dsh/my-plugin-src" },
    { "label": "my-preset 预设", "path": "C:/Users/you/.dsh/.agent-presets/my-preset" }
  ]
}
  • plugins:该套装包含的 bundle 插件名。
  • repos:可选,给本地缺少 repository 元数据的插件补全 GitHub 仓库名,用于“检查更新”。
  • components:卸载时需要一并删除的目录/预设,会显示在插件管理详情中。

---

架构

  • 宿主端 lib/index.js(ESM,运行在 DSH Node 进程)

- 注入 toolswebServer。 - 通过 webServer.register({ kind: 'prefix', path: '/market-api', handler }) 暴露 API,仅接受 127.0.0.1 / ::1 环回请求。 - 网络通道使用 subprocess + curl.exe,支持 --proxy、重定向跟随,并解析 GitHub 限流头。 - 内存缓存:搜索结果 10 分钟、仓库详情/文件树 30 分钟、npm 查询 1 小时。

  • 客户端 lib/client.js(Web bundle)

- 经 window.__ModuleLoader__.load 加载,使用 require('react')。 - 通过 fetch('/market-api/…') 同源调用宿主端。 - 通过 slots.inject('conversation.view', …) 注册「插件市场」Tab(id dsh-market,order 12)。 - 样式随 bundle 注入 <style>,只依赖主题 token,不依赖额外运行时 API。

---

API 端点

前缀:/market-api(仅本机环回)

方法路径说明
POST/search搜索/浏览插件
POST/info仓库详情 + README + 清单 + 安装形态
POST/install获取安装源码并识别形态
POST/install/run真·一键安装(clone + 写 profile + 依赖同步)
POST/auth/login登录 GitHub
POST/auth/logout注销
POST/config/get读取代理配置
POST/config/set保存代理配置
POST/manage/list已安装第三方插件列表
POST/manage/check-updates检查更新
POST/manage/update一键更新到最新版
POST/manage/uninstall卸载插件(含源码/套装组件)
POST/manage/remove-src删除未引用的源码残留目录

---

数据与限额

  • 未登录:core 60 次/小时、search 10 次/分钟。
  • 登录后:core 5,000 次/小时、search 30 次/分钟。
  • 搜索结果缓存 10 分钟;翻页上限 10 页。
  • 登录 Token 以明文存放在 ~/.dsh/github-auth.json,请妥善保管。

---

开发与测试

  • lib/index.js 为宿主端单一文件,lib/client.js 为客户端 bundle(无构建步骤,纯手写)。
  • 修改后同步到 C:\Users\<user>\.dsh\plugin-src\dsh-plugin-market\,热重载或重启 DSH 生效。
  • 回归测试见 scripts/smoke-host.mjssmoke-client-render.mjsuninstall-test.mjsinstall-run-test.mjsedge-test.mjsscan-repos.mjs
  • 发布与打包步骤见 PUBLISH.md

---

License: MIT