dsh-plugin-store

by sandbaseai

插件市场与管理github收录于 08-21

在 DSH 设置中加入原生插件商店,支持目录搜索、标签筛选、排序、安装与已安装插件管理。

Adds a native Store section to DSH Settings for catalog search, tag filtering, sorting, installation, and installed-plugin management.

安装

dsh plugin --profile web add github:sandbaseai/dsh-plugin-store

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

English

面向 DeepSeek Harness 的原生插件市场。它使用 DSH Plugin Leaderboard 的社区目录数据,在 Harness Web UI 内提供插件发现、Tag 筛选、本地安装和已安装插件管理。本项目已进入 Leaderboard 公开目录。

核心能力

  • 原生集成到 DSH Settings,不嵌入外部网页
  • 按名称、GitHub 仓库、描述和分类搜索
  • 使用 Leaderboard API 的完整 Tag Facet 做服务端筛选
  • 按排行榜、Stars 和周增长排序
  • 使用 limit、offset 分页加载社区插件
  • 一键安装到本地 web profile
  • 查看 Cordis Loader 中的插件、启用状态和 Fiber 状态
  • 为 Agent 提供插件搜索、目录浏览和安装说明工具
  • 通过 Host 同源代理获取目录,避免浏览器 CORS 依赖

安装

将预构建的 Preview 5 tarball 安装到本地 DSH Web profile:

curl -fL https://github.com/sandbaseai/dsh-plugin-store/releases/download/v0.1.0-preview.5/sandbaseai-dsh-plugin-store-0.1.0-preview.5.tgz -o /tmp/sandbaseai-dsh-plugin-store-0.1.0-preview.5.tgz
dsh plugin --profile web add -w /tmp/sandbaseai-dsh-plugin-store-0.1.0-preview.5.tgz

版本化 tarball 可避免 main 后续更新悄然改变实际安装的代码,并绕开 git 依赖的构建授权;-w 明确确认 Web profile 是 pnpm workspace 根目录。Preview 5 面向公开的 DeepSeek Harness 0.1.0-rc.8 运行时。重启 DSH Web 后打开 Settings → Store。当前仍是预览集成,安装前请检查源码。

可复现的开发安装

如需重新构建产物,请将本仓库克隆到 DeepSeek Harness 源码工作区,再构建 Host 与 Web client:

cd /path/to/deepseek-harness
git clone https://github.com/sandbaseai/dsh-plugin-store.git packages/plugins/dsh-store
pnpm install
pnpm --filter @sandbaseai/dsh-plugin-store typecheck
pnpm --filter @sandbaseai/dsh-plugin-store bundle
dsh web

启动后打开 DSH Settings,选择 Store。

Release tarball 安装仓库中已提交的 Host 与 Web client 构建产物。Preview 5 已改用公开 rc.8 运行时 peer 与 rc.8 insert patch schema,并且只允许安装 Leaderboard 已完成运行时验证的 npm package spec;package graph、Host 入口、profile 配置合成与 Store 按钮安装路径均在隔离 DSH 环境中验证。源码 checkout 仍用于在 Harness 工作区内重新构建这些产物。

配置

- insert:
    - id: sandbase-plugin-store
      name: '@sandbaseai/dsh-plugin-store'
      config:
        enabled: true
        catalogUrl: https://dshpluginleaderboard.com/api/catalog
        timeoutMs: 30000

页面结构

Community

浏览社区插件,支持搜索、Tag 筛选、排序、分页、源码访问和本地安装。Tag 和分页均使用 Leaderboard 服务端接口,因此筛选结果不局限于当前已经加载的数据。

Installed

通过类型化的 pluginInventory Remote 读取当前 Cordis Loader 清单,展示模块名、Loader Entry ID、启用状态和实时 Fiber 状态。

Agent Tools

  • store_search:搜索插件目录
  • store_catalog:按分类和排序方式浏览插件
  • store_install:返回指定插件的安装信息

浏览器中的安装按钮会执行本地安装;Agent Tool 默认只返回安装说明,避免 Agent 静默修改运行环境。

安全说明

插件安装可能下载并执行第三方代码及 package lifecycle scripts。安装前应检查源码,只使用可信目录,并在企业部署中通过审核和 allowlist 管理 catalog。

  • 仅安装到本地 web profile
  • 仓库必须符合 GitHub owner/repository 格式
  • 仓库必须先出现在已加载的社区目录中
  • 仅允许 Leaderboard 已完成运行时验证的插件
  • 安装 spec 必须来自详情 API,且只能是 npm package spec;拒绝 URL、git spec 与 shell 语法
  • 新插件需要重启 DSH 后生效

开发

pnpm install
pnpm --dir packages/plugins/dsh-store run typecheck
pnpm --dir packages/plugins/dsh-store run bundle
pnpm dsh web

相关项目

License

MIT

原始 README: https://github.com/sandbaseai/dsh-plugin-store/blob/main/README.zh.md ↗