🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

插件浏览器 nonmean/dsh-plugin-explorer

DeepSeek Harness
nonmean73 天前有提交已提供中文文档扫描:含敏感能力

浏览 GitHub 上的 dsh 插件仓库并搜索筛选

26.9/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add nonmean/dsh-plugin-explorer
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]—
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
数据截至 2026/10/02·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/05·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 73 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
  • 发起网络请求
    src/client/github.ts:99
    response = await fetch(url, {
  • 发起网络请求
    src/client/github.ts:213
    const response = await fetch(readmeUrl(fullName), {
  • 执行外部命令来自配置/变量
    src/installer.ts:66
    const child = spawn(process.execPath, [bin, 'plugin', '--profile', profile, ...args], {
  • 读取本地文件
    src/installer.ts:114
    if (existsSync(workspacePath)) {
  • 读取本地文件
    src/installer.ts:115
    const raw = readFileSync(workspacePath, 'utf8')
  • 写入本地文件
    src/installer.ts:127
    writeFileSync(workspacePath, dump(manifest))
扫描于 2026/11/5(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 查看名称与README
  • 同步与搜索仓库

DSH 客户端插件:浏览打了 dsh-plugin 标签的 GitHub 仓库(名称、README、统计),支持同步与搜索

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-explorer 公告: 本插件已在 DeepSeek Harness v0.1.1-rc.1 上测试通过。 一个本地工具,用于 DeepSeek Harness 网页 GUI,浏览 GitHub 上的 dsh-plugin 话题:展示每个仓库的名称、README 和统计数据(stars、forks、open issues、语言、许可证、最后更新时间、话题),带一个 Sync 按钮刷新数据,支持内存内搜索、热门标签过滤和排序(stars / 最后更新 / 创建时间,升序或降序)。 这是一个客户端插件(dsh.client 双面包),会往侧边栏底部的操作列表(sidebar.footer.action)挂一个入口:Plugin Explorer 触发器,就在 Settings 旁边,点击后打开工具的模态框。 截图 Plugin Explorer 模态框,浏览 dsh-plugin 仓库,支持同步、搜索、标签过滤和排序: Deepseek Harness (DSH) Plugin Explorer 侧边栏入口——Plugin Explorer 触发器,就在 Settings 旁边: Plugin Explorer sidebar entry 使用工具 1. 打开网页 GUI(http://127.0.0.1:3080),刷新页面。
展开完整文档(README 剩余 1 节)
dsh-plugin-explorer

公告: 本插件已在 DeepSeek Harness v0.1.1-rc.1 上测试通过。

一个本地工具,用于 DeepSeek Harness 网页 GUI,浏览 GitHub 上的 dsh-plugin 话题:展示每个仓库的名称、README 和统计数据(stars、forks、open issues、语言、许可证、最后更新时间、话题),带一个 Sync 按钮刷新数据,支持内存内搜索、热门标签过滤和排序(stars / 最后更新 / 创建时间,升序或降序)。

这是一个客户端插件(dsh.client 双面包),会往侧边栏底部的操作列表(sidebar.footer.action)挂一个入口:Plugin Explorer 触发器,就在 Settings 旁边,点击后打开工具的模态框。

截图

Plugin Explorer 模态框,浏览 dsh-plugin 仓库,支持同步、搜索、标签过滤和排序:

Deepseek Harness (DSH) Plugin Explorer

侧边栏入口——Plugin Explorer 触发器,就在 Settings 旁边:

Plugin Explorer sidebar entry

使用工具

1. 打开网页 GUI(http://127.0.0.1:3080),刷新页面。
2. 点击侧边栏底部的 Plugin Explorer(左下角,Settings 旁边)。
3. 按 Sync,从 GitHub 搜索 API 拉取该话题下的仓库(按 stars 排序)。搜索框里的关键词和选中的标签会并入 GitHub 查询(例如 topic:dsh-plugin agent topic:python),所以限定范围的同步只会拉取匹配的那部分,而不是让 GitHub 的 1000 条结果上限把整个话题截断,拉取到的子集会替换缓存快照。状态栏会显示上次同步用的 GitHub 查询。
4. 搜索会按仓库名称、描述、话题、语言、许可证和 README 文本(工具已经拉取过的 readme)过滤缓存快照。
5. 搜索框下方的热门标签列出按仓库数量排名的十个最常见话题标签(通用标签——dsh、dsh-plugin、dsh-plugins、deepseek、deepseek-harness、ai-agent、ai-agents——已排除);点击一个即可筛选出带该标签的仓库(再点一次或用 Clear tag 移除过滤)。标签过滤会和搜索叠加。
6. 排序(搜索旁边):三个字段按钮——Stars、Last update、Created(当前生效的高亮)——外加一个明确的 Asc/Desc 切换(默认:stars,降序)。Created 需要创建日期,一次全新同步会补上(如果缓存快照早于这些日期,状态栏会说明)。
7. 展开仓库的 README 即可加载并渲染它(首次展开时懒加载,之后缓存)。
8. Install / Uninstall(README 切换按钮旁边):一旦确认某个仓库的 README 带有安装命令(dsh plugin add <pkg>、pnpm add <pkg>、npm install <pkg>,或 yarn add <pkg> —— 只识别包名,绝不识别命令行)。如果 README 里找不到安装说明(或者仓库根本没有 README),按钮会置灰禁用,显示 Cannot install directly。README 是懒加载的,所以对于从未展开过的仓库,按钮一开始是普通的 Install;点击后会先探测 README,一旦发现里面没有安装命令,就切换成置灰的禁用状态。某个仓库的包一旦装进配置档,按钮就变成带危险色的 Uninstall,再点一次即可移除(dsh plugin --profile web remove <package>)。已安装状态是权威的 —— 宿主读取配置档里真实的依赖,列表在弹窗打开时以及每次安装/卸载成功后都会刷新(安装失败绝不会翻转按钮)。两个操作都需要确认提示;只有包名会过线 —— 绝不传命令行 —— 宿主在拉起命令行之前会按 npm 命名规则校验它。如果 pnpm 10+/11 拦截依赖构建脚本(ERR_PNPM_IGNORED_BUILDS),宿主会把 pnpm 列出的那些包在配置档的 pnpm-workspace.yaml allowBuilds 映射里翻成 true,然后重试一次安装。

数据持久化在 localStorage 里,键为 dsh-plugin-explorer:repos:v1 和 dsh-plugin-explorer:readmes:v1,所以列表重启后仍在,离线也能用。readme 缓存有大小上限(淘汰最旧的条目)。

状态行

工具栏下面那行汇总当前视图:仓库数量、快照同步时间、主题总数、当前标签、上次同步的 GitHub 查询、创建日期缺失时的提示、当前排序(· sorted: Stars ↓),以及一个构建标签(例如 · b13),用来标识浏览器实际运行的是哪个 bundle。如果构建标签缺失,或者比最新的旧,说明浏览器跑的是过期 bundle —— 刷新页面。

GitHub API 注意事项

- 适用未认证的 REST 速率限制(核心 60 req/h,搜索 10 req/min,按 IP 计)。一次完整同步最多消耗 10 次搜索请求;README 每个消耗一次请求,且会缓存。触发速率限制时会优雅中止并给出提示,同时保留之前的数据(部分同步会保留)。
- 工具直接从浏览器访问 api.github.com(CORS 是宽松的);公开数据不需要 token。如果你经常撞限制,就设一个 GITHUB_TOKEN?不行 —— 浏览器读不到你的环境变量;工具是刻意匿名的。

Architecture

src/
index.ts node half: default-exported PluginInstallerGateway
(a Typert Remote service; source-mode dispatch)
installer.ts host: install/uninstall/installed remotes that drive
the dsh CLI, plus pnpm build-script approval (js-yaml)
types.ts wire types (InstallRequest/InstallResult) shared by
both halves
client/
index.ts 浏览器半边:注入 ['slots', 'remote', 'typert'],懒加载 installer Remote,把 RepoExplorer 注册进 'sidebar.footer.action' RepoExplorer.tsx 触发器 + 弹窗:同步、搜索、标签、排序、README 展开、安装/卸载提示词 RepoExplorer.module.css install-remote.ts 手写的 Typert Remote 描述符 + 类型合并 install-guide.ts README 安装命令检测 github.ts GitHub REST 客户端 + localStorage 缓存 + 辅助函数

浏览器 bundle(lib/client.js)由 tsdown 按 shell 的闭包工厂格式产出:
window.__ModuleLoader__.load({ id, factory }),外部依赖是冻结的平台模块表
(react、@deepseek-ai/cordis、@deepseek-ai/dsh-client-ui-primitives……), CSS Modules 由 lightningcss 编译,以 标签注入。

Installer Remote

installer 是一个 Typert Remote 网关(pluginInstaller):浏览器挂载手写的描述符(add、uninstall、installed),api 网关通过 @Remote 标记把它们派发到宿主服务。线上契约与宿主方法签名完全一致——每个动作一个 request 参数——安装端点命名为 add,因为客户端命名空间服务把 install 和 remove 留给了自己的成员(挂载重名会抛错)。只有校验过的 npm 包名会过线;CLI 用参数数组启动,绝不经过 shell。

挂载进 GUI

这个工具通过 web 配置档的用户补丁层挂载(不改动 DeepSeek Harness 检出):

~/.dsh/profiles/web/cordis.patch.yml
- insert:
- id: dsh-plugin-explorer
name: dsh-plugin-explorer

再加一个软链接,让配置档能解析到包:

ln -s /Users/boxiao/Documents/dev/dhs-plugin-explorer \
/Users/boxiao/.dsh/profiles/node_modules/dsh-plugin-explorer

新行在 GUI 启动时读取(web 配置档关闭了配置热重载),所以需要重启一次 dsh web 进程。之后,lib/client.js 重新构建会通过客户端插件 HMR 链热重载(宿主轮询 bundle,并通过 SSE 广播 rebuilt;无需刷新)。宿主半边的改动(installer 网关)只在启动时加载,所以需要重启 GUI。

开发循环

pnpm install # 只装 registry 开发依赖;dsh 类型通过
node_modules/@deepseek-ai -> ~/.dsh/profiles/node_modules/@deepseek-ai
软链接解析(GUI 实际运行的包版本)
pnpm run typecheck # tsc --noEmit,针对真实的 dsh .d.ts 产物
pnpm run build # tsc -p tsconfig.host.json(宿主半边:装饰器降级为
普通 JS)然后 tsdown:lib/index.js + lib/client.js(+ .map)
pnpm run watch # tsdown --watch(仅浏览器端);bundle 重写
会触发客户端 HMR。宿主端源码改动需要先跑一次 tsc -p tsconfig.host.json,然后重启 GUI。

已知限制

- GitHub 搜索把主题结果上限卡在 1000 个仓库,实际约有 2370 个;状态栏会报告主题总数和截断后的列表长度。
- 列表一次渲染前 300 条匹配(滚动容器);还有更多匹配时,状态栏会提示。
- 未认证的速率限制可能中断同步;已获取的部分结果会保留,界面会说明重置时间。
- 安装/卸载会改动配置档的依赖;改动要等重启 GUI 后才挂载或卸载(结果消息里会说明)。
预览分享卡片长什么样 ↓nonmean/dsh-plugin-explorer
分享 · DeepSeek Harness Hub
nonmean/dsh-plugin-explorer

浏览 GitHub 上的 dsh 插件仓库并搜索筛选

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部