DeepSeek Harness Hub
← 返回列表

插件市场6kongbai/dsh-plugin-market

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

浏览安装卸载社区 bundle 插件

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

一个 dsh 插件市场 CLI:从 dsh-plugin GitHub 主题浏览、安装和卸载社区插件

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

README

dsh-plugin-market

一个面向 DeepSeek Harness(dsh)的插件市场:通过侧边栏 Web 面板和 CLI,浏览、安装和卸载来自 dsh-plugin GitHub 话题的社区 bundle 插件。

社区注册表是一个 GitHub 话题,而非专有索引。任何带有 dsh-plugin 标签、且其 package.json 声明了 dsh.bundle.patch 的仓库都可安装。

它是如何提供的

市场本身就是一个 dsh bundle:cordis.patch.yml 在现有 web 界面上插入一个 Host 半部分和一个 Client 半部分。

- Host 半部分在 ctx.webServer 上注册 /plugin-market/* HTTP 路由——不使用 Typert Remote,因为 harness 生成器无法为树外 npm 包生成它。路由与引擎一一对应(search/info/list/install/uninstall)。
- Client 半部分贡献一个侧边栏底部操作(位于 Settings 旁边),其面板通过同源 fetch 驱动这些路由。
- CLI(dsh-plugin-market)复用同一引擎,用于无头使用。

安装

bundle:将侧边栏面板 + CLI 安装到目标 profile
dsh plugin --profile web add github:6kongbai/dsh-plugin-market

重启 dsh;市场图标会出现在侧边栏底部。该 bundle 的 cordis.patch.yml 默认以 web profile 为目标;编辑 plugin-market 行的 config.profile(或设置 DSH_PLUGIN_MARKET_PROFILE)以指定其他 profile。

然后:

dsh-plugin-market search           # 搜索 dsh-plugin 话题
dsh-plugin-market info        # 详情 + 固定安装规格
dsh-plugin-market list                    # 该 profile 中已安装的 bundle
dsh-plugin-market install     # 确认、固定、pnpm add、协调、审计
dsh-plugin-market uninstall      # pnpm remove、协调、审计

选项:

- --profile、-p  — 目标 profile(默认 web);可通过 DSH_PLUGIN_MARKET_PROFILE 覆盖。
- --yes、-y — 跳过安装/卸载确认。
- GITHUB_TOKEN — 提高匿名 GitHub API 速率限制。

安装如何工作

install :

1. 读取仓库的 package.json 并验证其声明了 dsh.bundle.patch(未声明的仓库在 search 中标记为不可安装);
2. 解析默认分支的当前 head 并固定到某个提交——pnpm add github:owner/repo#,绝不使用浮动分支;
3. 在目标 profile 目录中运行 pnpm add;
4. 协调 dsh.profile.bundles(声明了 dsh.bundle 的依赖会加入层列表;被移除的依赖会离开该列表);
5. 向 $DSH_HOME/plugin-install.log 追加一行审计记录。

uninstall  运行 pnpm remove、协调并审计。在两种情况下,新 bundle 都会在下次 dsh 重启时激活。

架构

dsh-plugin-market/
├── packages/market-host      引擎 + Host 网关:GitHub 索引、安装
│                             落地、协调、审计,以及 MarketGateway
│                             服务注册 /plugin-market 路由。
├── packages/market-client    客户端部分:侧边栏底部操作 + 搜索面板。
└── packages/plugin-market    打包:cordis.patch.yml(插入两部分)+ CLI。

引擎(dsh-plugin-market-host)暴露 searchRepositories、fetchRepository、readRepositoryManifest、toHit、toDetail、resolvePinSpec、install、uninstall、installedBundleNames、profileDir 和 auditLogPath,以及 MarketGateway Service。

Web 面板仅限于 web 平台(localhost),与 harness webServer 所服务的界面相同。Electron 桌面端(file:// + IPC 桥接)不在范围内,直到接入 fetch 桥接。

dsh.market 元数据契约(面向插件作者)

插件仓库通过标记 dsh-plugin 并在其 package.json 中声明以下内容来参与:

{
"name": "dsh-plugin-foo",
"version": "1.2.0",
"description": "short description",   // 回退展示
"keywords": ["dev", "git"],           // 回退分类
"dsh": {
"bundle": { "patch": "./cordis.patch.yml" },  // 可安装所必需
"market": {                                   // 可选丰富元数据
"displayName": "Foo",
"icon": "https://…",
"categories": ["productivity"],
"screenshots": ["https://…"]
}
}
}

bundle.patch 是硬性门槛。当 market 缺失时,回退到顶层 name/description/keywords 以及 GitHub 仓库字段(stars、updated_at、license)。

安全模型

安装社区插件会以当前用户的权限下载并运行任意代码。因此,此工具会:

- 在安装前显示 owner、stars、updated_at 和 license,并给出明确的第三方代码警告;
- 固定到某个提交(github:owner/repo#),绝不使用浮动分支,因此后续的强制推送无法移动已安装的内容;
- 向 $DSH_HOME/plugin-install.log 追加一条审计记录;
- 要求确认(交互式,--yes 可跳过)。

签名验证和允许列表尚未实现——dsh.bundle 目前没有签名机制——已作为未来工作跟踪。

开发

需要 Node ^22.19 || >=24、pnpm,以及预发布 harness 包(@deepseek-ai/dsh-app-boot@0.1.0-rc.6、@deepseek-ai/dsh-home-paths@0.1.0-rc.6)。

pnpm install
pnpm build        # 构建引擎和 CLI 包
pnpm test

许可证

MIT

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

💬 加入 DPharness 群聊

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

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