WhaleHub 🐋 — DeepSeek Harness 插件市场:发现、搜索、一键安装 DSH 社区插件
38.2/100
综合分
6
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/22 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add vvlife/whalehub-dsh该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · market
装得上吗
作者未把包发布到 npm,只能用源码安装
插件本身没问题,是分发方式不同
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 13 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包whalehub-dsh(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 12:54:49
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件写入剪贴板(不计风险)读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 36 处,展示前 36 条)
- 写入本地文件scripts/prepare-public.mjs:9
mkdirSync(join(ROOT, 'public'), { recursive: true }) - 写入本地文件scripts/prepare-public.mjs:14
copyFileSync(join(ROOT, 'registry', src), join(ROOT, 'public', dest)) - 发起网络请求plugin/lib/client-registry.js:11
const res = await fetch(`/whalehub/api/${method}`, { - 写入剪贴板plugin/lib/client-registry.js:62
if (navigator.clipboard?.writeText) navigator.clipboard.writeText(text).catch(() => void 0); - 发起网络请求plugin/lib/client-registry.js:242
if ((await fetch("/", { - 发起网络请求plugin/lib/client.js:11
const res = await fetch(`/whalehub/api/${method}`, { - 写入剪贴板plugin/lib/client.js:62
if (navigator.clipboard?.writeText) navigator.clipboard.writeText(text).catch(() => void 0); - 发起网络请求plugin/lib/client.js:242
if ((await fetch("/", { - 执行外部命令来自配置/变量plugin/lib/index.js:1475
spawn(process.execPath, ["-e", script], { - 执行外部命令来自配置/变量plugin/lib/index.js:1489
child = spawn(invocation.command, invocation.args, { env: process.env }); - 执行外部命令来自配置/变量plugin/src/index.ts:130
const child = spawn(process.execPath, ['-e', script], { - 执行外部命令来自配置/变量plugin/src/index.ts:145
child = spawn(invocation.command, invocation.args, { env: process.env }) - 写入本地文件scripts/e2e-desktop.mjs:8
mkdirSync(OUT, { recursive: true }) - 写入本地文件scripts/e2e-install-restart.mjs:9
mkdirSync(OUT, { recursive: true }) - 发起网络请求scripts/e2e-install-restart.mjs:79
const alive = await page.evaluate(() => fetch('/', { method: 'HEAD' }).then((r) => r.ok).catch(() => false)) - 读取密钥环境变量scripts/process-issues.mjs:39
const GH_TOKEN = process.env.GH_TOKEN || process.env.GITHUB_TOKEN - 执行外部命令固定命令scripts/process-issues.mjs:67
return execFileSync('gh', arr, { - 读取本地文件scripts/process-issues.mjs:161
try { return JSON.parse(readFileSync(SUB_FILE, 'utf8')) } catch { return [] } - 写入本地文件scripts/process-issues.mjs:164
writeFileSync(SUB_FILE, JSON.stringify(arr, null, 2) + '\n', 'utf8') - 写入本地文件scripts/process-issues.mjs:168
writeFileSync(f, body, 'utf8') - 写入本地文件scripts/screenshot.mjs:30
mkdirSync(OUT, { recursive: true }) - 读取密钥环境变量scripts/sync-registry.mjs:334
if (process.env.GH_TOKEN) return process.env.GH_TOKEN - 执行外部命令固定命令scripts/sync-registry.mjs:335
try { return execSync('gh auth token', { stdio: ['ignore', 'pipe', 'ignore'] }).toString().trim() } - 请求外部主机api.github.comscripts/sync-registry.mjs:345
const res = await fetch(`https://api.github.com/repos/${fullName}`, { headers }) - 发起网络请求scripts/sync-registry.mjs:345
const res = await fetch(`https://api.github.com/repos/${fullName}`, { headers }) - 发起网络请求scripts/sync-registry.mjs:358
const md = await (await fetch(AWESOME_URL)).text() - 读取本地文件scripts/sync-registry.mjs:362
try { issueSubs = JSON.parse(readFileSync(join(ROOT, 'scripts', 'issue-submissions.json'), 'utf8')) } catch {} - 读取本地文件scripts/sync-registry.mjs:379
try { prev = JSON.parse(readFileSync(OUT, 'utf8')).plugins } catch {} - 写入本地文件scripts/sync-registry.mjs:437
mkdirSync(dirname(OUT), { recursive: true }) - 写入本地文件scripts/sync-registry.mjs:438
writeFileSync(OUT, JSON.stringify(registry, null, 2) + '\n') - 写入本地文件scripts/sync-registry.mjs:441
mkdirSync(dirname(pluginSnapshot), { recursive: true }) - 写入本地文件scripts/sync-registry.mjs:442
writeFileSync(pluginSnapshot, JSON.stringify(registry, null, 2) + '\n') - 读取本地文件scripts/validate-plugins.mjs:27
const registry = JSON.parse(readFileSync(REGISTRY, 'utf8')) - 发起网络请求scripts/verify-plugin.mjs:47
const res = await fetch(url, { signal, headers: { 'User-Agent': 'whalehub-verify', ...headers } }) - 读取密钥环境变量scripts/verify-plugin.mjs:63
return process.env.GH_TOKEN || null - 写入剪贴板src/lib/router.ts:29
navigator.clipboard.writeText(text).then(done).catch(() => fallbackCopy(text, done))
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
涉及外部主机:api.github.com
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
6 张 · 点击查看大图功能亮点
- 发现社区插件
- 搜索插件
- 一键安装插件
README
由 DeepSeek 最新模型翻译生成🐋 WhaleHub
DeepSeek Harness 的社区插件市场 —— 发现、搜索、一键安装,不用再到处翻仓库。
CI
Registry sync
Plugins
License: MIT
🌐 在线访问 WhaleHub(国内备用镜像:GitHub Pages) · 提交插件 · PRD
为什么做 WhaleHub?
DeepSeek Harness (DSH) 的信条是 “一切皆插件”。发布一天之内社区就涌出了几十上百个插件——皮肤、TUI、视觉工具、工作流……但它们散落在各个 GitHub 仓库里:找到一个插件要搜半天,装对一个插件要翻半天 README。
WhaleHub 把整个生态聚到一个页面里:打开网站 → 搜索/浏览 → 复制一条 dsh plugin add 命令 → 粘贴进终端 → 重启,完成。
✨ 功能一览
首页:精选 + 分类导航 + 全局搜索
首页
插件列表:搜索 / 分类筛选 / 排序
支持按名称、描述、作者、标签模糊搜索,按热度(Stars)、最近更新、名称排序。
插件列表
搜索
插件详情:一键安装面板
每个插件都有安装面板:选 Profile → 一键复制安装命令,同时提供 --dump-config 校验命令和 cordis.yml 配置片段;有坑点的插件附实测安装须知。
展开完整文档(README 剩余 1 节)
🐋 WhaleHub DeepSeek Harness 的社区插件市场 —— 发现、搜索、一键安装,不用再到处翻仓库。 CI Registry sync Plugins License: MIT 🌐 在线访问 WhaleHub(国内备用镜像:GitHub Pages) · 提交插件 · PRD 为什么做 WhaleHub? DeepSeek Harness (DSH) 的信条是 “一切皆插件”。发布一天之内社区就涌出了几十上百个插件——皮肤、TUI、视觉工具、工作流……但它们散落在各个 GitHub 仓库里:找到一个插件要搜半天,装对一个插件要翻半天 README。 WhaleHub 把整个生态聚到一个页面里:打开网站 → 搜索/浏览 → 复制一条 dsh plugin add 命令 → 粘贴进终端 → 重启,完成。 ✨ 功能一览 首页:精选 + 分类导航 + 全局搜索 首页 插件列表:搜索 / 分类筛选 / 排序 支持按名称、描述、作者、标签模糊搜索,按热度(Stars)、最近更新、名称排序。 插件列表 搜索 插件详情:一键安装面板 每个插件都有安装面板:选 Profile → 一键复制安装命令,同时提供 --dump-config 校验命令和 cordis.yml 配置片段;有坑点的插件附实测安装须知。 详情与一键安装 一键复制反馈 提交插件:Issue 表单 / PR 两种姿势 提交插件 移动端自适应 📦 更进一步:把 WhaleHub 装进 DSH Web 装上 whalehub-market 插件后,连“复制命令”都省了——DSH Web 的 Settings → Plugins 会多出「🐋 插件市场」Tab,浏览、搜索、点一下就装好(host 半直接执行 dsh plugin add,装完重启生效): dsh plugin --profile web add "github:vvlife/whalehub-dsh#main&path:/plugin" 重启 dsh web → Settings → Plugins → 🐋 插件市场 DSH Web 内的 WhaleHub 市场 实现参考了官方 ui-settings-plugin-inventory(settings.plugins.tab slot 贡献)与 dsh-better-sidebar(双半包构建、ctx.webServer 路由、Host 头信任围栏)。详见 plugin/README.md。 💡 连 dsh 都还没装? 试试 DeepSeek Harness Desktop:自包含 macOS APP(内置 Node + dsh + Paseo),拖进「应用程序」即用,插件市场一条命令接入。宣传站:dsh-desktop.vercel.app 🚀 快速开始(用户) 1. 装好 DSH(dsh web 能打开 http://127.0.0.1:3080) 2. 打开 WhaleHub(国内可用 GitHub Pages 镜像),找到想要的插件 3. 点进详情页,选你的 Profile(一般是 web),点 一键复制 4. 粘贴进终端执行,例如: dsh plugin --profile web add dsh-better-sidebar@0.10.2 dsh --profile web --dump-config # 验证挂载成功 重启 dsh web 生效 📮 提交插件(开发者) - 提 Issue:用 提交插件表单,1 分钟搞定 - 提 PR:直接改 registry/plugins.json,CI 会自动校验 schema - 也推荐给上游 awesome-deepseek-harness-plugins 提 PR,WhaleHub 每日自动同步 🏗️ 架构:零后端,Git 即数据库 awesome 列表 ──► scripts/sync-registry.mjs ──► registry/plugins.json ──► Vite 构建期内嵌 ──► 静态 SPA (Vercel) ▲ GitHub API 补充 stars/license/更新时间 └── GitHub Actions 每日 cron 自动同步 + 校验 - 前端:React 18 + TypeScript + Vite,手写 CSS,轻量 hash 路由 - 注册表:仓库内 JSON,PR 审核制,Git 历史即审计日志 - 同步:每日解析 awesome 列表 + GitHub API 补充元数据(workflow) - 测试:Vitest,84 个用例覆盖注册表 schema、搜索/排序、安装命令生成、解析器 🛠️ 本地开发 npm install npm run dev # 本地开发 npm test # 运行测试(含注册表 schema 校验) npm run build # 类型检查 + 构建 npm run sync # 手动同步注册表(需 gh 登录或 GH_TOKEN) BASE_URL=http://localhost:4173 npm run screenshot # 重新生成 README 截图 📄 License MIT。各插件版权归其作者所有。WhaleHub 是社区项目,与 DeepSeek 官方无隶属关系。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
vvlife/whalehub-dsh
WhaleHub 🐋 — DeepSeek Harness 插件市场:发现、搜索、一键安装 DSH 社区插件
相关插件 · 市场 / 管理
插件精选列表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
这是你的仓库?认领条目