DSH HUB
HomePlugin StoreCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

yiqizhuapangxiema /

harness-plugin-store-optimized

Verified

Harness 插件商店优化版:图形化浏览/搜索/一键安装 DSH 插件,评分评论、依赖拓扑、审计日志、质量门一应俱全;本 fork 新增可配置插件下载目录、bundle 层冲突检测、pnpm 自动寻路,并修复多项上游 bug

★ 2 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@94097858

Harness Plugin Store Optimized

简介:本仓库是 dsh-plugin-hub 0.1.6 的定制优化版。

  • 继承原版全部功能:深度集成 Harness Web UI 的图形化插件商店 —— 浏览 / 搜索 / 一键安装、本地评分评论、依赖拓扑图、操作审计日志、插件开发脚手架、安装前质量门与安全扫描、健康度排行榜、信任徽章
  • 本 fork 的修改优化:插件下载目录可配置(默认 <DSH_HOME>/plugins,插件以源码文件夹落盘并自动注册部署)、bundle 层入口 id 冲突检测(安装前拦截会导致整树崩溃的插件)、pnpm 自动寻路(任意终端可用)、准确的"重启生效"提示、启用超时透传真实错误、scoped 包支持,以及 3 项上游 bug 修复

下载与安装

前置条件:官方 dsh CLI(npm install -g @deepseek-ai/dsh)、pnpm 10+(不在 PATH 上也没关系,商店安装插件时会自动寻找 harness 本地的 pnpm shim)。

方式一:克隆本仓库安装(推荐,替换 registry 版)

git clone https://github.com/yiqizhuapangxiema/harness-plugin-store-optimized.git
cd harness-plugin-store-optimized
dsh plugin --profile web add file:<本仓库绝对路径>

profile 的依赖规格会变成 file: 指向本仓库,重启 dsh web 后生效(浏览器 Ctrl+F5 刷新)。

方式二:npm 安装(发布后可用)

dsh plugin --profile web add dsh-plugin-store-optimized

npm 包 dsh-plugin-store-optimized 尚未发布;发布后此命令即可用。

方式三:给已装的 registry 版打补丁

cd <DSH_HOME>/profiles/web/node_modules/dsh-plugin-hub
git apply --ignore-whitespace <本仓库>/patches/installer.js.patch
# 其余 4 个补丁同法:index.js / conflict-check.js / remote.js / client.js

上游(原作者)发布新版本后,升级并重新打补丁即可。

注意:不要与 registry 版的 dsh-plugin-hub 同时安装 —— 两者插入相同的 loader 入口 id 会导致插件树崩溃。安装前先卸载旧版:dsh plugin --profile web remove dsh-plugin-hub。

本 fork 新增的功能

功能 说明
可配置插件下载目录 设置页(商店内设置 + 全局 DSH 设置)新增「插件安装目录」项。默认 <DSH_HOME>/plugins;留空保存 = 恢复默认。商店初始化时自动创建该目录。
插件源码目录管理 商店安装的每个插件都会以真实包文件夹形式落到配置目录(如 plugins/<名称>/,作用域包为 plugins/@scope/名称/),再通过 file: 依赖 + bundles/补丁激活自动注册进 profile。卸载时同步删除文件夹(及空的 scope 父目录)。
bundle 层冲突检测(第 4 项检查) 激活前将新插件 bundle 补丁中 insert 的入口 id 与现有所有 bundle 层逐一比对,重复即拦截并列出冲突 id(如把 TUI 插件装进 web profile 的场景)—— 防止整树启动崩溃(duplicate loader entry id)。
pnpm 自动寻路 先搜 PATH 中的 pnpm,找不到则回退到 harness 本地 shim(<harness 根目录>/.dsh-tools/pnpm.cmd、<harness 根目录>/.bin/pnpm.cmd)。任意终端启动都能正常安装插件,即使 pnpm 不在 PATH 上。
准确的重启提示 bundles 层插件只在启动时组合,安装回执现在明确提示「重启 dsh 后生效」(restartRequired: true),不再谎称热加载;对"已安装但未加载"的插件执行启用/禁用也会返回同样的明确提示。
启用超时透传真实错误 插件启用超时时的报错会附上条目真实的初始化失败原因(如 no pet packages found in ~/.codex/pets),不再只有干巴巴的「超时」。
作用域包支持 @scope/name 包可正确暂存(自动创建 scope 父目录、暂存目录名扁平化)。
上游 bug 修复 ① yaml 的 map.get('insert') 返回 YAMLSeq 节点,原代码用 Array.isArray 误判导致 owned 补丁行卸载时永远删不掉;② 补丁完整性检查用正则扫原始文本(引号不剥离、注释碎片被当成包名)→ 平台包(@deepseek-ai/*)被误拦,已改为结构化 YAML 解析;③ 容忍 pnpm 卸载后置失败(已删除但退出码 1),不再留下半卸载状态。

更新日志

0.2.0(2026-08-17)

  • 可配置插件下载目录:设置页新增「插件安装目录」(默认 <DSH_HOME>/plugins,留空恢复默认),商店初始化自动创建;插件以源码文件夹落盘并自动注册部署,卸载同步清理
  • bundle 层冲突检测(第 4 项检查):安装前比对新插件与现有 bundle 层的 insert 入口 id,重复即拦截并列出冲突 id,防止整树启动崩溃
  • pnpm 自动寻路:PATH 无 pnpm 时自动回退 harness 本地 shim,任意终端可用
  • 准确的提示:bundles 插件安装回执明确「重启 dsh 后生效」;启用/禁用超时附上条目真实初始化错误
  • scoped 包支持:@scope/name 包正确暂存与卸载(scope 父目录自动创建/回收)
  • 上游 bug 修复:① yaml YAMLSeq 误判导致 owned 补丁行无法卸载清理;② 补丁完整性检查正则误报(引号/注释)→ 改为结构化 YAML 解析;③ 容忍 pnpm 卸载后置失败(已删除但退出码 1)

回归测试

脚本 覆盖
tests/verify-install.mjs 完整安装/卸载链路 10 项检查(假插件,含无 pnpm PATH 场景)
tests/verify-scoped.mjs scoped 包名(@scope/name)安装/卸载回归
tests/install-pet.mjs 宠物包下载 + 用插件自身 loader 验证

运行:node tests/verify-install.mjs(Windows 上建议带 PATH=...\.dsh-tools 前缀以保证 pnpm 可用;无 pnpm 时脚本会走 shim 回退)。

其他文档

  • FORK-README.md —— 改动清单、部署方法、基线提交
  • docs/UPSTREAM-README.md —— 原始 README 存档(原版功能总览与更新日志)

上游许可见 LICENSE(二次开发需保留原作者版权声明)。

—/ 5

No ratings yet

Verified DSH bundle

Commit 940978581a93

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout