装进 DeepSeek Harness 里的插件市场。
36.3/100
综合分
2
GitHub 星标
240
npm 周下载
—/5
用户评分
数据截至 2026/10/22 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add deepseek-harness-marketnpm 源 · deepseek-harness-market 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 15 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过安装清单取自 plugin-market/package.json
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包deepseek-harness-market @ 1.3.2
✓Node 引擎要求 >=20.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/2 14:44:13
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 21 处,展示前 20 条)
- 读取本地文件lib/index.js:530
return existsSync(join(profileDir, 'node_modules', ...name.split('/'))) - 发起网络请求lib/client.js:1054
return fetch(API_PREFIX + path, init).then(function (response) { - 写入剪贴板lib/client.js:2416
navigator.clipboard.writeText(text).then(done, done); - 写入剪贴板lib/client.js:5114
navigator.clipboard.writeText(command).then(done, function () { - 写入本地文件lib/self-update.js:602
await mkdir(downloadDir, { recursive: true }) - 写入本地文件lib/self-update.js:613
await writeFile(partial, bytes) - 写入本地文件lib/self-update.js:614
await rename(partial, target) - 删除本地文件lib/self-update.js:616
try { await unlink(partial) } catch { } - 读取本地文件lib/restart-policy.js:82
return readFileSync(`/proc/${String(pid)}/comm`, 'utf8').trim() - 读取本地文件lib/hot-mount.js:118
manifest = JSON.parse(readFileSync(join(packageDir, 'package.json'), 'utf8')) - 读取本地文件lib/hot-mount.js:120
return existsSync(join(packageDir, 'index.js')) - 读取本地文件lib/hot-mount.js:138
return cleaned.startsWith('.') || cleaned.includes('*') ? false : existsSync(join(packageDir, cleaned)) - 读取本地文件lib/hot-mount.js:186
manifest = JSON.parse(readFileSync(join(packageDir, 'package.json'), 'utf8')) - 读取本地文件lib/hot-mount.js:200
texts.push(readFileSync(file, 'utf8')) - 读取本地文件lib/hot-mount.js:214
readFileSync(join(profileDir, 'node_modules', ...packageName.split('/'), 'package.json'), 'utf8') - 删除本地文件lib/hot-mount.js:334
rmSync(join(dir, name), { force: true }) - 写入本地文件lib/hot-mount.js:396
mkdirSync(dir, { recursive: true, mode: 0o700 }) - 写入本地文件lib/hot-mount.js:404
writeFileSync(file, yml) - 删除本地文件lib/hot-mount.js:421
rmSync(file, { force: true }) - 执行外部命令来自配置/变量lib/restart-helper.cjs:91
const child = spawn(payload.execPath, payload.args, options)
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
3 张 · 点击查看大图功能亮点
- 浏览社区插件
- 搜索社区插件
- 安装社区插件
DeepSeek Harness 插件市场:从侧边栏底部入口浏览、搜索、安装社区插件(含宿主端和 Web 客户端两半,遵循 DSH 插件规范)。
最近更新
在 GitHub 查看全部 →v1.3.22026-10-19
· fix(catalog):目录源全线抓取失败(502 catalog-unavailable)—— npm 解压上限 8 MiB 被上游新增文件顶穿。
现象:市场整个打不开数据,三个源依次失败,界面报「目录源抓取数据失败」:
npm registry.npmmirror.com : 读取 tarball 失败:Cannot create a Buffer larger than 8388608 bytes
npm registry.npmjs.org : 读取 tarball 失败:Cannot create a Buffer larger than 8388608 bytes
awesome-dsh-plugin.com : 读取响应体失败:The operation was aborted due to timeout
不是网络问题,是上限被顶穿。 MAX_TARBALL_BYTES 量的是整个 tar 解压后的总长,
不是我们要取的那一个文件:
| 项 | 值 |
|---|---|
| tarball 压缩后 | 2,363,900 B |
| 解压后 tar 总长 | 9,532,928 B(9.09 MiB) ← 超过 8 MiB |
| 我们要的 package/plugins.json | 7,198,658 B(6.87 MiB)✅ 本身没超 |
顶穿它的是同一个包里我们从不读的 package/index.json(2,320,845 B)。
上游 2026-10-18 2026.1018.7728 把 fileCount 从 4 加到 5、塞进这个文件,
解压总量从 7.21 MiB 一步跳到 9.53 MiB:
10-16 5,796,742 files=4
10-17 6,213,609 files=4
10-18 7,206,746 files=4 ← 旧版尚可
10-18 9,528,364 files=5 ← latest,首次越线
次生问题:npm 两条路一挂,官方 URL 兜底根本指望不上——实测该站 10.9 KB/s,
7.2 MB 要 ~11 分钟,而 OFFICIAL_URL_TIMEOUT_MS 只有 30s。三个源全灭。
逻辑倒挂:压缩侧上限 MAX_NPM_TARBALL_BYTES = 16 MiB,解压侧却是 8 MiB ——
允许下载 16 MiB 的压缩包,却只准解出 8 MiB,自相矛盾。
修复:MAX_TARBALL_BYTES 8 MiB → 16 MiB,与压缩侧上限同档。
炸弹防护意图完全不变(32 MiB 测试炸弹仍被 maxOutputLength 挡在分配之前),
只是把一个按「当时 5 MB 目录」拍的数,改成与压缩侧同一量级。
实测(真跑 cache.ensure()):
| | 修复前 | 修复后 |
|---|---|---|
| 结果 | 502 catalog-unavailable,42.2s | ok,1.19s |
| 条目 | — | 5786(count 与 plugins.length 一致) |
回归锚(verify/robustness.test.mjs):钉住 MAX_TARBALL_BYTES === 16 MiB,
并加不变式 MAX_TARBALL_BYTES >= MAX_NPM_TARBALL_BYTES —— 数值被改回去(或压缩侧
再被调小到低于解压侧)时测试必须失败,而不是等线上复现。
已用变异验证锚不是死代码:把常量改回 8 MiB,基线 9/9 绿、变异 8/9 且
失败在该条断言上(+ 8388608 / - 16777216)。
上限再被逼近时的正确解法是改流式解压、读到目标条目即停,而不是继续抬这个数——
上限越高,同步 gunzipSync 对宿主事件循环的代价越大。已写入 docs/API-CONTRACT.md。
---
· versionName 1.3.2 / versionCode 10302 / build +132.c7864f3
· 安装:dsh plugin --profile web add (发布到 npm 后可直接 add deepseek-harness-market)
· 回退 / 旧版:从本页附件下载对应版本的 tgz
· 变更与验收细节见仓库 docs/ 与 verify/REPORT.md
v1.3.12026-10-18
· fix(ci):npm 发布永远 ENEEDAUTH —— 由 workflow_call 复用改为「publish-npm.yml 自己被标签触发」。
v1.3.0 的 GitHub Release 与 tarball 都正常生成了,只有 npm 那步失败:
npm error code ENEEDAUTH
npm error need auth This command requires you to be logged in to
根因(npm 官方文档《Trusted publishing》原文):
> Some GitHub Actions workflows use workflow_call to invoke other workflows that run
> npm publish ... When this happens, validation checks the calling workflow's name
> instead of the workflow that actually contains the publish command.
也就是说 npm 服务端校验的是调用方。而 v1.2.0 记下的结论是「用 uses: 复用
publish-npm.yml,令牌里 job_workflow_ref 就是它」——那只是 OIDC 令牌字段,
不等于 npm 按它校验。v1.3.0 把这条错误结论的代价演得很清楚:自检打印
job_workflow_ref = .../publish-npm.yml@refs/tags/v1.3.0、判定「身份正确」,
紧接着发布仍然 ENEEDAUTH,因为 npm 看的是 workflow_ref = .../pack-release.yml。
历史对照(同一份代码,只差触发方式):
| 版本 | 触发 | 调用方 | 结果 |
|---|---|---|---|
| v1.2.0 | 手动 workflow_dispatch 直接跑 publish-npm.yml | publish-npm.yml | ✅ |
| v1.3.0 | 标签 → pack-release.yml → workflow_call | pack-release.yml | ❌ |
修法:publish-npm.yml 自己监听 push: tags: ['v*'],与 pack-release.yml
并列触发、互不调用(一个发 GitHub Release,一个发 npm);删掉 pack-release.yml
里那个注定失败的 publish-npm job,并去掉 workflow_call。
发布实现仍然只有一份(就在 publish-npm.yml),npm 看到的调用方永远是它自己。
顺带修掉那个「假绿灯」自检:原来的自检只比对 job_workflow_ref,在 workflow_call
下必然通过,于是自检过了、发布却失败——这正是 v1.3.0 排查绕弯的原因。现在要求
job_workflow_ref 和 workflow_ref 都指向 publish-npm.yml。
门禁同步纠正:release-workflow.test.mjs 原来把「必须用 uses: 复用」钉成底线
(14 条里有 3 条在守这个错误结论),现在改为反向断言:任何 workflow 都不得
uses: / workflow_call publish-npm.yml,且 publish-npm.yml 必须自己监听标签。
门禁里的这些断言只查生效行、不查注释——pack-release.yml 的注释里刻意写着
「本文件也不去调用 publish-npm.yml」来解释原因,全文正则会把这句解释判成违规。
---
· versionName 1.3.1 / versionCode 10301 / build +128.0363650
· 安装:dsh plugin --profile web add (发布到 npm 后可直接 add deepseek-harness-market)
· 回退 / 旧版:从本页附件下载对应版本的 tgz
· 变更与验收细节见仓库 docs/ 与 verify/REPORT.md
v1.3.02026-10-18内容较长已截断
· fix:更新永远失败(「宿主拒绝了这个操作」)——更新改走 tarball 形态,绕开宿主的同名拦截。
用户报的:点「更新到 x.y.z」→ 宿主返回 already-installed,界面只说「宿主拒绝了这个操作。」。
实测两个可更新包(dsh-web-search-free 1.8.0→1.8.1、dsh-mobile 0.6.10→0.6.11)都是这个结果。
根因(从 app.asar 抠出宿主管家源码确认,不是猜):PluginManager.installBundle 里有这行守卫
const known = specPackageName(spec, before, dir);
if (hmr !== void 0 && known !== void 0 && Object.hasOwn(before, known))
throw new ManagementFailure('already-installed');
而 specPackageName 对 registry 形态的 spec 直接返回包名、完全不看版本。于是
pnpm add name@1.8.1 这种升级写法,只要包已在 dependencies 里就必然被拒。宿主也没有
任何 upgrade/update/allowReinstall 入口(方法表只有 installBundle / removeBundle /
waitForInstall / cancelInstall),removeBundle 又会对正在加载的插件抛 stop-profile
—— 所以「先卸再装」也不通,且中途会留下坏 profile。
这不是能力问题,是入口被自己的守卫挡了:在用户 profile 上实测
pnpm add dsh-web-search-free@1.8.1 --lockfile-only → 「✓ Lockfile passes supply-chain
policies」+ Done,而声明本来就是 ^1.8.0。
修法:客户端在更新时把 kind:"update" 带上;服务端在目录校验之后把它改写成
npm tarball URL( 形态下
宿主那个 known 变成 undefined,守卫不成立,pnpm 照常执行升级。
安全边界(三条,updateTarballSpec 的注释里写清了):
1. 只在 kind === 'update' 时改写,首次安装仍按目录给的 spec 走;
2. 必须在校验 spec 落在目录里之后,否则这里就成了任意包安装器;
3. 版本必须像 semver 定值,latest/range 原样返回(拼不出 tarball URL)。
新增 verify/update-path.test.mjs(8 条)钉住:改写函数存在且 scoped 包文件名正确、
只在 update 时改写、客户端带 kind、目录校验仍在且排在改写之前、非更新请求 spec 不变、
already-installed 有可读文案。现场实测(_verify/probe-update-fixed.mjs,5/5 通过):
更新请求 ok:true / application:applied / activation.versionMatches:true、
pnpm 输出 + dsh-web-search-free 1.8.1;对照组(不带 kind)仍被 already-installed 拦
——证明改写是必要条件,而不是宿主自己变好了。
· feat(ui):点开详情改成弹出居中对话框(用户要求,参照会话清理的「确认删除」框)。
形态演进,别再退回前两版:
1. 内嵌在卡片里 → 被塞进 232px 网格窄列,截图/红线长句挤成一坨、整行被撑高(「展开太丑」)。
2. 跨整行独立卡片 → 宽度够用了,但它在文档流里:展开会把下面的内容整体顶下去,
用户视线要跟着滚,关掉又跳回来。
3. 现在:居中对话框 → 浮在页面上,列表位置完全不动,进出都不丢上下文。
形态与语义照 dsh-dialogue-cleanup 的确认框:标题行(名字 + @owner + ×)、
可滚动内容区、底部操作行。语义上对齐官方 Modal 的做法(拷贝行为,不 require 包):
- 不用原生 、不 portal 到 document.body:覆盖层 position:fixed +
既有 z-index 约定(回顶 55 发生了什么:这个插件已经装过了
> 为什么:宿主检查到目标依赖已经在 profile 里,于是拒绝了这次重复安装(这不是失
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成deepseek-harness-market
English · 简体中文
装进 DeepSeek Harness 里的插件市场。
侧边栏底部一个入口:浏览、搜索社区目录,安装、更新、启用 / 停用、卸载,全程不离开 GUI。
安装 ·界面速览 ·设计文档 ·接口契约 · Release
为什么做它
定位一句话:这是一个「像手机应用市场那样的」DeepSeek Harness 插件市场——逛、看、装、更新、启用/停用、卸载,都在侧边栏里完成,和你在手机上装 App 是同一套心智。下面的每一条都是这个定位的落地:
- 目录大,读得快。 社区精选目录 awesome-dsh-plugin 4400+ 条(每日更新);读取 npm 镜像优先、官方源兜底,抓取、缓存、重试、降级全在宿主进程,浏览器只读自家接口——列表始终秒开。
- 更新每一步都看得见。 左键是合并状态机「检查更新 → 一键更新(N)/ 重新检查」,行内逐条「更新到 x.y.z」;每条结果留在自己那行,跑完给一条如实的汇总回执(待重启计成功、失败原因原样写在那一行,不糊弄)。
- 市场会更新自己。 启动自动查一次本体更新,有新版本按钮直接亮「更新到 x.y.z」,四态齐全:插件市场更新 → 正在更新… → 更新成功 → 再次检查;下载过路径形状 + sha256 + 产物自证三道校验,装完不假装已生效。
展开完整文档(README 剩余 1 节)
deepseek-harness-market
English · 简体中文
装进 DeepSeek Harness 里的插件市场。
侧边栏底部一个入口:浏览、搜索社区目录,安装、更新、启用 / 停用、卸载,全程不离开 GUI。
安装 ·界面速览 ·设计文档 ·接口契约 · Release
为什么做它
定位一句话:这是一个「像手机应用市场那样的」DeepSeek Harness 插件市场——逛、看、装、更新、启用/停用、卸载,都在侧边栏里完成,和你在手机上装 App 是同一套心智。下面的每一条都是这个定位的落地:
- 目录大,读得快。 社区精选目录 awesome-dsh-plugin 4400+ 条(每日更新);读取 npm 镜像优先、官方源兜底,抓取、缓存、重试、降级全在宿主进程,浏览器只读自家接口——列表始终秒开。
- 更新每一步都看得见。 左键是合并状态机「检查更新 → 一键更新(N)/ 重新检查」,行内逐条「更新到 x.y.z」;每条结果留在自己那行,跑完给一条如实的汇总回执(待重启计成功、失败原因原样写在那一行,不糊弄)。
- 市场会更新自己。 启动自动查一次本体更新,有新版本按钮直接亮「更新到 x.y.z」,四态齐全:插件市场更新 → 正在更新… → 更新成功 → 再次检查;下载过路径形状 + sha256 + 产物自证三道校验,装完不假装已生效。
- 「要重启」这件事如实说,而且刷新页面丢不掉。 需要重启宿主的改动,面板不会悄悄变绿;记账在宿主半(/status.pendingRestart)而不是页面内存里,所以刷新只丢界面、丢不掉事实。dsh web / CLI 下还给一键「重启 DSH」(detached 等待、死透再拉起,探活先见过宿主死过一次才自动刷新页面)。桌面端故意没有这颗按钮——三条各自独立的理由(壳的 IPC 白名单里没有「请壳重启自己」这种消息、宿主一退出壳就当致命故障、那个「启动失败」框里有一颗「停用所有第三方插件」)写在 API-CONTRACT §2.6,桌面端改说「关掉窗口再打开」;见 ROADMAP 第 6 条。
- 边界收得紧。 只装目录内插件、只走宿主 pluginManager、写操作只收同源 POST(64 KiB)、目录包 dist.integrity 必校验、市场拒绝卸载自己。
- 像宿主的一部分。 颜色只用宿主 --dsw- 主题 token 并带兜底值,文案 zh / en 跟随宿主语言;深色 / 浅色、窄屏、prefers-reduced-motion 都如实处理(e2e 逐条盯着)。
界面速览
入口在侧边栏底部、账号行上方,带可更新角标:
「可更新」页:合并状态机(一键更新(2)/ 再次检查)、逐条「更新到 x.y.z」、行内结果与汇总回执 (下图为验收环境:列表是注入的夹具更新,一条成功待重启、一条占用失败):
快速开始
dsh plugin --profile web add deepseek-harness-market
1. 装完重启一次 dsh web(或让桌面端重新组合),刷新页面——入口出现在侧边栏底部、账号行上方。
2. 发现页搜索、按分类挑插件 → 点「安装」;已安装页管启用 / 停用与卸载。
3. 可更新页带计数角标:左键「检查更新 → 一键更新(N)」按顺序逐个跑,一条失败不影响其余;右键管市场自己的更新(「插件市场更新 / 再次检查」)。
4. Windows 一键安装(含 profile 备份与回滚):
pwsh -File scripts\install-into-profile.ps1 -Profile desktop
5. 也可以直接装 GitHub Release 附件——每个 Release 页面都给一条可复制的命令。
兼容 DSH 0.2.0-rc.2;npm 包与 GitHub Release 同步发版,版本规则与发布流程见 docs/RELEASING.md。
还没有 DSH?npx @deepseek-ai/dsh web 起一个本地实例。
该不该重启、怎么重启(面板上说的也是这一套,不糊弄):
| 你在用什么 | 市场装上「宿主半」的改动之后 | 你该做什么 |
| dsh web / CLI | 面板亮出「待重启」横幅,横幅里有「重启 DSH」按钮 | 点它,或者自己重启命令 |
| 桌面端应用 | 同一条横幅,但没有按钮 | 关掉窗口再重新打开 —— 刷新页面不会加载新的宿主代码 |
它怎么工作
一个 npm 包同时带两半,按官方插件规范装进宿主:
- host 半(仓库进程):只 named-export name / inject / apply 的 Cordis function plugin;ctx.webServer 注册一条 prefix 路由,ctx.get('pluginManager') 可选桥接安装能力。目录抓取、缓存、重试、校验、自更新下载都在这里——浏览器不碰网络与文件系统。
- client 半(浏览器):lib/client.js 单文件 bundle,经 window.__ModuleLoader__.load({ id, factory }) 注册,除 require("react") 外零依赖。
- 席位与声明:入口注册官方 sidebar.footer.action,面板注册 main 的 plugin-market 键,导航走 ctx.layout.selectPanel;package.json 声明 dsh.bundle.patch(bundle 补丁层)与 dsh.client(platform: web + ./client 导出)。
- 接口是冻结的:host ↔ client 的端点、响应与错误码以 docs/API-CONTRACT.md 为准,改契约先改文档与回归测试;与官方规范的逐条对照见 docs/PLUGIN-MARKET.md。
数据来源
| 顺序 | 来源 | 地址 | 本机实测 |
| 1 | npm 镜像(首选) | dsh-plugin-catalog 包 | 289 ms |
| 2 | 官方 URL(兜底) | awesome-dsh-plugin.com/plugins.json | 25–93 s(超时) |
兜底是必要的:DSH 只认 HTTP(S)_PROXY 环境变量、不读 Windows 系统代理,而官方源挂在 GitHub Pages 上。
默认地址可用 DSHM_REGISTRY_URL / DSHM_NPM_MIRROR 覆盖。
本仓库按官方插件规范重新实现,参考了 dsh-market 的目录来源与产品取舍,但不是它的拷贝:功能面收敛到「在侧边栏装 / 管插件」这一个闭环。
安全边界
- 只允许安装目录内的插件;目录条目带 dist.integrity 时必须校验通过才使用。
- 安装 / 卸载 / 启用 / 停用只走宿主 pluginManager——与 dsh plugin add 同一条路径、同一套构建脚本审批规则。
- 写操作只收同源 POST(64 KiB 上限),不接受跨源、不拿 GET 改状态。
- 市场拒绝卸载自己。
- 自更新的信任锚是清单哈希(路径形状 + sha256 + 产物自证三道校验):新版本由 GitHub 附件 digest 直接给出 sha256,老版本走 index.json;挡损坏、截断与单点替换,挡不住「清单与产物一起被换」——如实写在 API-CONTRACT §2.9,不冒充独立签名。
设计与安全决定 · 已知限制 · 接口契约
开发与验收
真实浏览器 e2e:起 scratch 宿主 + headless Edge,驱动真引擎断言并落截图 pwsh -File verify\ui-check.ps1
发布门禁:node --check + verify/.test.mjs 全跑(不改版本、不打包、不发布) pwsh -File scripts\release.ps1 -LocalOnly
正式发版(本地只到这里):门禁 → 递增 → 提交 → 打标签 → 推送推上去的标签触发 GitHub Actions:打包 → GitHub Release 附件 → npm,其中 npm 发布只有 publish-npm.yml 一份实现(真因见 docs/RELEASING.md §4.2.1) pwsh -File scripts\release.ps1 -Bump patch
门禁自动发现 verify/.test.mjs(当前 20 套:文案键、状态机、安装 spec、自更新通道、来源判定、发布工作流回归……),逐套跑。其中 release-workflow.test.mjs 有一条反向断言: pack-release.yml 里不得出现 npm stage publish——把发布步骤再写一遍正是吃过两次的那个 bug (真因与 CI 实际证明了什么,RELEASING §4.2.1)。
真实浏览器 e2e 共 90 条,不进门禁(要浏览器与 scratch 宿主),改客户端半或自更新通道后手动跑;独立验收报告见 verify/REPORT.md。
仓库结构
| 路径 | 内容 |
| plugin-market/ | 插件包本体:host 半(lib/index.js / catalog.js / catalog-npm.js / http.js / self-update.js / restart.js)+ web client 半(lib/client.js 单文件 bundle)+ cordis.patch.yml |
| .github/workflows/ | pack-release.yml(标签 → 门禁 → 打包 → 建 Release)与 publish-npm.yml(唯一的 npm 发布实现,经 workflow_call 被复用) |
| docs/API-CONTRACT.md | host ↔ client 的冻结接口契约(端点、响应约定、目录抓取策略) |
| docs/PLUGIN-MARKET.md | 设计与官方规范逐条对照、数据源决策、安全决定、限制、验收结论 |
| docs/RELEASING.md | 版本规则、发布链路、npm 发布三次翻车的真因、分发路径 |
| docs/ROADMAP.md | 下一步做什么、不做什么,都带实测证据与代价 |
| docs/TEAM-BRIEF.md | 实现期的环境事实与 API 签名(供协作 / 复现) |
| scripts/ | 安装 / 回滚与发布脚本 |
| verify/ | 回归测试 + 真实浏览器 e2e + 独立验收报告 |
许可
MIT。目录数据与其来源仓库的许可归 awesome-dsh-plugin 所有;本仓库不包含第三方源码。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Winnie-0721/dsh-plugin-market
装进 DeepSeek Harness 里的插件市场。
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,025未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,358已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13938 个插件含 PR 收录与…
★ 350已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目