deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
🌐 语言 / Language: 中文 | English
一个为 DeepSeek Harness(DSH)打造的插件市场插件:自动嗅探 GitHub 生态全部插件,在 DSH Web GUI 设置页中以卡片列表展示,支持一键安装 / 版本检测 / 自动更新 / 已安装识别,全程无需命令行。
3900+ DSH 插件 · 14000+ 通用 Skills · 2 小时 自动收录新插件 · 0 API 限流
| 优势 | 说明 | |
|---|---|---|
| 🔍 | 插件全 | 自动嗅探 GitHub dsh-plugin topic 的全部仓库(当前 3900+),另有 14000+ 通用 Skills(agent-skills ∪ claude-skills)独立栏目 |
| 🤖 | 自动收录,零申请 | CI 每 2 小时增量扫描 topic,作者打上 dsh-plugin 标签后最迟 2 小时自动进市场——无需提 issue、无需人工审核 |
| ⚡ | 秒开,零限流 | 列表走静态索引(jsDelivr CDN 分发)——几千个插件秒开,终端用户零 GitHub API 调用、零限流 |
| 🎯 | 智能类型识别 | 自动识别并安装 4 种类型:cordis 插件 / 技能(SKILL.md)/ agent 预设 / 安装脚本——源码型插件自动弹构建确认,需要 API Key 时自动暂停索取材料 |
| 🔄 | 版本检测与一键更新 | 已装版本 vs 仓库最新版本自动对比,不一致时按钮变「更新」,一键覆盖升级;npm 发布型插件按 npm dist-tags 对比(同源不误报) |
| 🔒 | 安全护栏 | 第三方脚本执行前弹风险确认;安装材料只作环境变量传入不落盘;环境变量最小化隔离;Host 白名单 + CSRF 头防跨站伪造 |
| 🏷️ | 分类 + 社区徽章 | 构建期自动分类(12 类筛选 chips);awesome 聚合页收录的仓库打「社区收录」蓝色徽章 |
| 🌍 | 中英双语 | 界面与安装日志跟随 DSH 语言设置自动切换 |
给插件作者的规范:STANDARD.md——每种插件形态应该怎么写才能被市场正确收录、正确安装、正确更新(含类型判定规则与常见反模式)。
方式一(推荐):官方 dsh CLI——由 Harness 官方安装机制完成安装与注册(需要 dsh CLI 与 pnpm,dsh web 用户通常已具备):
dsh plugin --profile web install bradeGithub/DSH-Plugins-Marketplace
卸载 / 更新同样走官方命令:
dsh plugin --profile web remove bradeGithub/DSH-Plugins-Marketplace
dsh plugin --profile web install bradeGithub/DSH-Plugins-Marketplace # 重装即更新
方式二:安装脚本(没有 dsh CLI 的环境;脚本检测到 dsh CLI 时会自动改用官方方式):
| 平台 | 命令 |
|---|---|
| Windows (PowerShell) | irm https://raw.githubusercontent.com/bradeGithub/DSH-Plugins-Marketplace/main/install.ps1 \| iex |
| macOS / Linux | curl -sL https://raw.githubusercontent.com/bradeGithub/DSH-Plugins-Marketplace/main/install.sh \| bash |
喂给 AI 的一句话(AI 具备命令执行能力即可,无需解释):
安装 DSH 插件市场插件(dsh-plugin-marketplace):运行
dsh plugin --profile web install bradeGithub/DSH-Plugins-Marketplace;若没有 dsh CLI,则克隆 https://github.com/bradeGithub/DSH-Plugins-Marketplace 到 ~/.dsh/profiles/web/node_modules/dsh-plugin-marketplace,在 ~/.dsh/profiles/web/cordis.patch.yml 中注册(id: plugin-marketplace,name: dsh-plugin-marketplace)。完成后重启 dsh web。
⚠️ 安装脚本方式会从本仓库下载并执行脚本(复制插件本体 + 注册
cordis.patch.yml),属于「信任即执行」;建议先下载脚本肉眼检查一遍再执行(irm <url> | iex/curl <url> | bash是公认的远程代码执行模式)。官方 CLI 方式由 Harness 自身完成安装,无需执行第三方脚本。 安装完成后需重启 DSH(重新运行dsh web)再刷新页面。
registry.json,jsDelivr CDN 分发,GitHub Actions 每 2 小时自动生成)加载——零 API 调用、零限流,几千个插件也能秒开;索引不可用时自动回退 GitHub 搜索 API 分页拉取(缓存 10 分钟)。列表排序:已安装的插件置顶,其余按 Star 数从高到低install.ps1 / install.sh,一行命令即可安装,也可把上面的一句话直接交给 AI 执行skill(含 SKILL.md)→ 安装到 ~/.dsh/skills/preset.yml + agent.cordis.yml)→ 安装到 ~/.dsh/.agent-presets/package.json)→ 安装依赖并注册到 web profileinstall.sh / install.ps1)→ 执行脚本API_KEY / TOKEN / SECRET 等环境变量时,安装自动暂停,在页面内弹窗请你提供材料(或跳过),不会盲装install.sh / install.ps1)或 npm 生命周期脚本(prepare / install / postinstall 等)时,先弹窗征求你的确认——拒绝即取消安装并清理全部痕迹installed.json)+ 目录启发式探测 + 包名映射扫描 + 本体 repository 自识别 + 缓存克隆预读,已安装的插件按钮变为不可点击的灰色「已安装」agent-skills ∪ claude-skills,14000+ 仓库),支持搜索 / 分页触底加载 / 一键安装到 ~/.dsh/skills/ / 已安装识别;含安装脚本的仓库带 🛡 标识,探测未知的仓库带「未验证」弱提示--dsw-alias-*),自动适配深色 / 浅色模式deepseek-harness(DSH 自身仓库,不属于插件)💡 不想手动操作?用上面的 ⚡ 一键安装(一条命令或一句话交给 AI)。
本插件位于 ~/.dsh/profiles/web/node_modules/dsh-plugin-marketplace/,并通过 ~/.dsh/profiles/web/cordis.patch.yml 注册:
- insert:
- id: dsh-plugin-marketplace
name: dsh-plugin-marketplace
⚠️ 重启生效:DSH 的 Web profile 关闭了配置热重载(
hmr被禁用),修改插件代码或注册条目后需要重启 DSH(重新运行dsh web或start-dsh.bat)再刷新页面。
GitHub Actions(每 2 小时,仓库自带 token)
└─ scripts/build-registry.mjs:分页拉取 topic:dsh-plugin,增量合并,去重/排除本体
└─ 提交 registry.json 回 main(全量 3900+ 个插件,按 Star 排序)
└─ 插件读取:jsDelivr CDN(国内快)→ raw.githubusercontent(兜底)
└─ 全部失败才回退 GitHub 搜索 API(分页翻到底,缓存 10 分钟)
github.com 克隆[1/5] git clone 仓库到 ~/.dsh/marketplace/cache/<owner>__<name>/
[2/5] 识别类型(SKILL.md / agent 预设 / 安装脚本 / package.json)
[3/5] 扫描 README / install 脚本 / .env 示例中的环境变量(API_KEY 等)
└─ 发现需要 → 暂停安装,等待用户提供材料(可跳过)
[4/5] 执行安装(复制 skill / 预设 / 插件包,或运行安装脚本)
└─ 脚本类 → 先征求用户确认(第三方代码风险提示)
[5/5] 写入安装清单(installed.json)并返回结果
| 数据 | 来源 |
|---|---|
| 已装版本 | installed.json 记录;历史安装无记录时读取安装目录 package.json |
| 最新版本 | 优先 registry 索引的 version 字段(CI 每 2 小时刷新);索引缺失时回退市场缓存克隆目录的 package.json;npm 发布型插件(cli)按 npm dist-tags 的 npm_version 同源对比 |
两者都存在且不一致 → 卡片显示「更新」按钮 + 已装 vX → vY 提示。
(仅对含 package.json 的 cordis 插件生效;skill / 预设 / 脚本类无版本概念。)
~/.dsh/marketplace/installed.json 安装清单(本插件安装的)~/.dsh/skills/<名>、~/.dsh/.agent-presets/<名>、市场缓存克隆package.json 名称(含 scoped 包 @scope/name),与仓库名 / 原始仓库名 / 索引包名(pkg_name)比对——仓库名与包名不一致(如 DSH-Plugins-Marketplace → dsh-plugin-marketplace)也能识别,并正确读出已装版本package.json 的 repository 字段必须与目标仓库一致——既防「同名不同仓库」误判,也支持反向查找(先装插件后装市场时,scoped 包 / 包名差异大的插件也能正确标为已安装)package.json 的 repository 字段即视为已安装官方插件自动排除:DSH 自带的官方插件(
@deepseek-ai/*,运行时自动枚举 + 内置兜底清单)永远不会被当成「用户安装的市场插件」,也不会被误标为已安装。
~/.dsh/
├── profiles/web/
│ ├── node_modules/dsh-plugin-marketplace/ ← 本插件本体
│ │ ├── package.json (dsh.client 声明 + exports)
│ │ └── lib/
│ │ ├── index.js (服务端:GitHub 拉取 / 安装管线 / 版本检测)
│ │ └── client.js (客户端:市场页面 UI)
│ └── cordis.patch.yml (插件注册条目)
└── marketplace/
├── cache/<owner>__<name>/ (克隆缓存,安装与版本对比的数据源)
└── installed.json (已安装清单:type / name / location / version / installedAt)
| 接口 | 方法 | 说明 |
|---|---|---|
/api/marketplace/list |
GET | 插件列表(按 Star 降序,含 installed / installedVersion / latestVersion / updateAvailable、source 数据源、dropped 同名隐藏数);?refresh=1 强制重新拉取 |
/api/marketplace/skills |
GET | 通用 Skills 列表(skills.json 索引,过滤 has_skill !== false,含 installed / installedAt);?refresh=1 强制重新拉取 |
/api/marketplace/install |
POST | 安装 / 更新,body:{ "repo": "owner/name", "answers": { "ENV_NAME": "值" } };返回 done / awaiting-input / aborted / failed / manual 状态 + 逐步日志 |
/api/marketplace/uninstall |
POST | 卸载,body:{ "repo": "owner/name" };删除安装目录 / 包目录 + cordis.patch.yml 注册条目 + 安装记录;返回 done(含 removed 计数与日志) |
/api/marketplace/self-update |
GET | 市场本体自更新检测({ installedVersion, latestVersion, updateAvailable, checkedAt }) |
/api/marketplace/self-update |
POST | 执行市场本体更新(官方 CLI 安装 + 装后版本校验);返回 no-update / done / failed |
/api/marketplace/check-update |
POST | npm 型 cli 插件手动版本检测(body { repo };查 npm registry,npmmirror 优先);返回 done + updateAvailable / latestVersion |
/api/marketplace/feedback |
POST | 提交安装反馈(body { repo, ok, note })→ 移除队列并同步创建 GitHub issue;返回 done(含 issueUrl / manualUrl) |
/api/marketplace/feedback/pending |
GET | 待确认反馈队列({ pending: [...] }) |
/api/marketplace/feedback/token |
GET / POST | 读 / 写 GitHub token 配置(写为 { token },空串清除;返回 hasToken) |
/api/marketplace/env-keys |
GET | 已安装插件的可配置环境变量键名(值不回显);?repo= 查询 |
/api/marketplace/env-edit |
POST | 写入插件环境变量(body { repo, values },落盘 ~/.dsh/.env + envs.json);返回 done + applied |
/api/marketplace/backup |
GET | 导出安装记录备份({ backup: { repos: [...] } }) |
/api/marketplace/restore/diff |
POST | 给定备份计算恢复差异(body { backup };返回 missing / already) |
/api/marketplace/backup/webdav |
POST | 备份推送到 WebDAV(body { url, username?, password? }) |
/api/marketplace/restore/webdav |
POST | 从 WebDAV 拉取备份并返回恢复差异 |
/api/marketplace/logs |
GET | 导出脱敏安装日志({ text, count }) |
说明:
- 卸载依赖
installed.json安装记录——通过本市场安装的插件可完整卸载;手动(非市场)预装的插件仅能被识别为「已安装」,不提供卸载按钮。- 所有写操作(install / uninstall / self-update POST / feedback / feedback-token POST / env-edit / webdav 推拉)鉴权一致:回环请求直接放行,LAN 请求需
lanWrite: true配置 + 会话 token(x-dsh-marketplace-token头)。
install.sh / install.ps1)会在你的机器上执行任意代码,市场会在执行前弹出确认process.env 不会全量外泄给插件代码X-DSH-Marketplace 头,且 Host 在白名单内(本机回环 / 局域网私有网段 / 环境变量 DSH_MARKETPLACE_ALLOWED_HOSTS 显式追加),防跨站伪造与 DNS rebindingcordis.patch.yml——这意味着它会随 DSH 启动加载,请只安装你信任的仓库package.json 的插件生效;skill / 预设 / 脚本类无版本概念;作者发版不 bump version 时不会提示更新agent-skills ∪ claude-skills 全部仓库(当前 14000+);has_skill 探测按 Core API 额度分批补齐(CI 每 2 小时增量续跑,未探测的仓库显示「未验证」)install.sh 头部注释(tarball 无签名校验是 curl|bash 模式的固有限制)Harness Desktop 是第三方社区维护的 Windows 桌面版,稳定版已内置本插件市场。用户可以在 设置 → DSH插件市场 中直接查看、安装和更新社区插件,无需使用命令行。
此条目由 Harness Desktop 作者提交;该作者同时维护桌面端使用的 DSH-Plugins-Marketplace 分支。Harness Desktop 与本仓库及 DeepSeek 官方均无官方关联。
另外,awesome-dsh-plugin 是社区维护的 DSH 插件精选聚合页,本市场的「社区收录」徽章来源于它;市场本身也已向该列表提交收录(互链 PR),两个生态入口互相引用。
代码贡献者:
生态协作者(discussion #2269 识别/验证/合规三层对齐):
所有反馈者:通过市场自动反馈、issue 报告问题的每一位用户——你们的问题报告直接驱动了 v1.5.x 的修复节奏。
想参与贡献?见 CONTRIBUTING.md 与 STANDARD.md §7 自测清单。
lib/index.js(语法检查:node --check)lib/client.js(浏览器 bundle,window.__ModuleLoader__.load 格式,require 可解析 DSH 平台模块)版本迭代记录见 CHANGELOG.md(v1.0.0 之前为 beta 系列)。
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: marketplace、plugin-marketplace。