DeepSeek Harness Hub
← 返回列表

DshMarketPlace/dshmarketplace

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

DeepSeek HarnessDSH插件目录,中英双语。英文在 /,中文在 /zh,

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/7 · 已提供中文文档

DeepSeek Harness(DSH)插件双语目录——3,400+ 条目,经沙箱验证的安装命令,撰写详细的详情页,公开 API。基于 Cloudflare Workers 的 Next.js。

综合分
30.3
GitHub 分
30.3
用户评分
★ Stars
2
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add DshMarketPlace/dshmarketplace
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

English · 简体中文

DeepSeek Harness(DSH)插件目录,中英双语。英文在 /,中文在 /zh,
背后是同一份数据。

线上地址:****

为什么做这个

DeepSeek Harness 是
DeepSeek 开源的 agent harness,所有能力都以插件形式提供。上线几周,社区插件
就过千了。

已经有好几个目录站在收这些插件,但基本都是一堵卡片墙:仓库名、Star 数、一个
直接跳去 GitHub 的链接。那是目录,不是资料——想知道一个插件到底动了什么,还是
得自己去读源码。

所以这个站的区别在于写过的内容。被推上来的插件有自己一页,包含中英文的
介绍、文档段落和一张插图。这东西产出很慢,也爬不走,这正是重点。

现在还很早:3,420 条记录里,有这一页的是 60 个。其余的先挂着元数据、一条
真实安装出来的结论和简介,等文章补上。没有为了让数字好看去灌生成的水文。

收录情况

| | |
| --- | --- |
| 收录总数 | 3,420 —— 未归档的 3,415 |
| 分类 | 14 个,从 Memory、Vision 到 Themes |
| 真装过并有结论 | 2,426 —— 每个一次性容器,装完看 harness 自己的记录 |
| AI 锐评 | 2,264 条,中英双语 |
| 手写中文简介 | 1,005 条,其余暂时只有英文 |
| 写过的详情页 | 60 个,中英双语 · 57 个配图 |
| LINUX DO 认证 | 7 个 |
| 实测过的预设 | 3 套,整套一起装过才发 |

预设:这是另一种结论

三套挑好的组合放在 /presets,
npx dshmarketplace-cli preset  一条命令装完。

单条记录的结论,来自把那一个插件装进空 profile。而预设说的是成员放在一起能用,
这会在零件不会失败的地方失败 —— 两个插件要同一个 peer 的不兼容版本、某个 build script
只有在别的插件把宿主包拖进来之后才被拦、cordis 拒绝重复的 loader entry id 于是插件装上
了、报成功了、然后从来没被注册。所以每套都是整个列表当成一次安装跑沙箱,每个成员都必须
出现在 profile 的 bundles 里,那次运行的日期、结论和 dsh/pnpm 版本跟着一起发。
一套预设悄悄漏掉一个成员,比没有这套更糟。

想自己配:站上任意卡片都能加入,底部会拼成一条命令。GET /api/v1/presets 把这些发成
JSON。

真装过并有结论是这里唯一爬不走的一列:它记的是一次运行,不是一个仓库。
结论分布:passed 2,158、needs-approval 194、not-a-layer 43、failed 28、
timeout 1——只有最后两种算缺陷。收录不等于安全审计,见最后一节。

认证指作者本人在 LINUX DO 上实名发过这个插件,并且在
帖子里答疑。这是来源可查,不是安全审计。

三个入口,一份数据

所有入口读的都是同一套 API,所以同一条记录不会在浏览器里是一个说法、在
harness 里是另一个说法。

| | |
| --- | --- |
| 网页 |  |
| CLI | dshmarketplace-cli —— 给 DSH 之外的 coding agent 用 |
| Python | dshmarketplace —— 零依赖,dshm CLI,agent tools |
| DSH 里 | dshmarketplace-plugin —— 在 harness 里打 /store |
| 浏览器里 | DSH Plugin Radar —— 油猴脚本,在 GitHub 和 npm 上标出插件 |

公开 API

不用 key,不用注册,CORS 全开。

curl -s 'https://dshmarketplace.dev/api/v1/plugins?q=memory&limit=5'

| 参数 | |
| --- | --- |
| q | 在名称、简介、描述里做全文搜索 |
| category | 14 个分类 id 之一 |
| limit | 1–100,默认 20 |
| page | 从 1 开始 |

每条结果都带中英两份简介、解析好的安装命令、识别到的风险标记和源码地址:

{
"fullName": "Anionex/dsh-vision-toolkit",
"summary": "…",
"summaryZh": "…",
"stars": 128,
"npmPackage": "dsh-vision-toolkit",
"install": "dsh plugin --profile web add dsh-vision-toolkit",
"installable": true,
"riskFlags": ["install script"],
"repoUrl": "https://github.com/Anionex/dsh-vision-toolkit",
"url": "https://dshmarketplace.dev/plugins/anionex-dsh-vision-toolkit"
}

没有命令能装得上的时候,install 是 null,不是一个占位串。会直接执行这个
字段的调用方,不能拿到一条跑不通的命令——原因见下面 --profile 那段。

一个请求拿整份目录

curl -s 'https://dshmarketplace.dev/api/v1/index'

给那种需要知道"一千个仓库里哪些是插件"的调用方用 —— 浏览器扩展要给一整页
GitHub topic 打标记,不可能一个一个问。为了小,行是位置数组,大概 113 KB,
压过去 22 KB,列名跟着 payload 一起发:

{
"fields": ["fullName", "category", "install", "path", "npm"],
"plugins": [
["Anionex/dsh-vision-toolkit", "vision", "dsh plugin --profile web add dsh-vision-toolkit", "/plugins/anionex-dsh-vision-toolkit", "dsh-vision-toolkit"]
]
}

条目还没有独立页面的时候 path 是 null,插件没发包的时候 npm 是 null。

装 DSH 插件要知道的两件事

这两件事都花了不少时间才搞明白,也都不是这个项目造成的。

--profile 是必填的。 dsh plugin 是把参数转发给 profile 目录里的
pnpm,所以 dsh plugin add x 会直接报 required option '--profile
<name>' not specified,什么都不装。这个目录给出的每条命令都带上了。

github:owner/repo#subpath 跑不通,但 #path: 可以。 裸写那种确实会被当
git ref 读,报 Could not resolve  to a commit——这也是「monorepo 装不了」
这个说法的来源。但 pnpm 的 fragment 是按 :: 分段的,其中 path: 那段就是子
目录,所以 github:owner/repo#path:sub 能装。我们实测通过之后才这么写。目前
还有 54 个子目录插件显示「没有一行安装命令」,那是说少了,正在修。

本地跑起来

pnpm install
cp .dev.vars.example .dev.vars     # 至少要填 Turso 那两个
pnpm dev                           # localhost:3177

| | |
| --- | --- |
| pnpm build | 推之前必须过 |
| pnpm preview | 用 workerd 跑,和线上一致 |
| pnpm tsx scripts/sync-github.ts | 刷新 GitHub 元数据 |
| pnpm tsx scripts/write-content.ts --limit 10 --images | 生成详情页 |
| pnpm tsx scripts/promote.ts --limit 10 | 把页面放进 sitemap |

生成内容走的是 OpenAI 格式的网关,换成你自己的就行——.dev.vars 里的
IMAGE_API_BASE 和 VELOKEY_。Worker 不读这些,只有生成脚本用。

推到 main 会自动部署到 Cloudflare Workers,大概 80 秒。

架构

app/(en)/            英文路由 —— root layout 设 lang="en"
app/(zh)/zh/         中文路由 —— root layout 设 lang="zh-Hans"
components/views/    页面本体,按语言参数化,两边共用
lib/dict.ts          所有会显示出来的文案,中英各一份
db/schema.ts         plugins、categories、plugin_stats、submissions
scripts/             生成期任务:seed、sync、write、promote

Next.js 16,通过 OpenNext 跑在 Cloudflare
Workers 上,存储用 Turso,样式用 Tailwind。CLAUDE.md 是工程约定,
STATUS.md 是当前清点和踩坑记录,动大改之前都值得先看一眼。

有两条约束对这份代码的影响比什么都大:

- Worker 体积上限。 为了压到线以下,砍掉了二十个依赖和整套 auth
middleware。加包之前先看体积。
- Markdown 在生成期渲染,不在请求期。 marked 和 sanitize-html 不能
进 Worker,sync 会把结果写进 Html 列。

中文是写的,不是翻的

lib/dict.ts 里每一条都按两条规矩来:

产品名和生态名词保持英文——DeepSeek Harness、DSH、topic、npm、Star、commit、
agent、token、API,命令、文件名、配置项也一样。中文开发者就是用英文搜这些的,
而且「线束」这个同音词会把搜索结果搞坏。

其余的按中文开发者自己说话的方式写。「装之前先看一眼」,不是「安装前请仔细
阅读」。不用「让您」「轻松」「强大」「赋能」。往 lib/dict.ts 里塞机翻是不
接受的。

参与

插件没收到、分类错了、简介写得不对——,
或者开个 issue。提交都是人工看过才会上。

如果插件是你写的,而且在 LINUX DO 发过帖,把帖子链接一起附上,可以挂认证标记。

安全

插件是第三方代码,跑起来带的是你 agent 的权限。被这个目录收录不代表通过了
安全审计。风险标记(安装脚本、终端执行、需要密钥)是自动识别的,会在安装
命令之前显示出来。没有标记不能证明任何事。源码地址始终会给出——装之前读一眼。

联系

- 社区 —— LINUX DO
- 问题反馈 —— GitHub Issues

致谢

- LINUX DO —— DSH 生态实际上是在这里被讨论的,这个
项目也在这里发布和收反馈。
- awesome-dsh-plugin
(CC0-1.0)—— 目录最初的收录种子来自这里。
- 9d8dev/directory(MIT)—— 项目最初
的应用脚手架。详见 NOTICE。

开源协议

MIT。插件元数据归各自仓库所有者,遵循它们各自的协议。

独立项目,与 DeepSeek 官方无隶属关系。DeepSeek 与 DeepSeek Harness 是各自
权利人的标识,此处仅用于说明这些插件是做什么用的。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群