편집자 노트

huntersxy/dsh-plugin-toggle

Settings-page toggle for third-party DSH plugins. Install: dsh plugin --profile web add dsh-plugin-toggle

이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.

dsh-plugin-toggle

第三方插件开关 —— 在 DSH Web 设置页里启用/禁用第三方插件。

A settings-page toggle for third-party plugins in DeepSeek Harness Web.

安装

dsh plugin --profile web add dsh-plugin-toggle

或本地包:

dsh plugin --profile web add ./dsh-plugin-toggle-0.1.0.tgz

安装后重启 dsh web。设置 → 插件 → 「第三方插件」页签即可使用。

功能

  • 插件开关:列出每个 profile 中非官方(第三方)插件行(bundle 栈里非 @deepseek-ai/* 的 bundle + 用户补丁插入的行),带版本/描述/状态,一键启用/禁用。
  • 热重载生效:开关直接改写 profile 的 cordis.patch.ymldisabled: true 标记),DSH 监视该文件并热重载,无需重启;状态持久,重启后保持。
  • 刷新页面:页签底部提供「刷新页面」按钮(纯客户端 location.reload()),修改插件/配置后刷新 Web 界面。

工作原理

  • Host:注册自定义 Web 路由 POST /plugin-toggle/api/<method>list / set-enabled),读取各 profile 的 bundle 栈与补丁文件,改写补丁。路由仅接受同源请求。
  • Client__ModuleLoader__ bundle,注册到 settings.plugins.tab(页签 id third-party)。
  • 为什么不用内置 settings RPC:DSH 的 api-proxy 对第三方 settings 命名空间有写死的暴露白名单(WEB_SETTINGS_NAMESPACES),第三方插件无法通过该通道写入,因此本插件采用与 dsh-better-sidebar 一致的自定义路由通道。

局限

  • 列表来自 profile 补丁文件的静态解析:只管理 bundle 栈中非 @deepseek-ai/* 的 bundle 行与用户补丁插入的行;include: 运行时前缀会自动归一化。
  • 修改 bundle 栈(安装/卸载插件)需要重启进程生效(页面上的刷新按钮只刷新页面,不重启进程)。

发布(CI)

v* 标签自动发布到 npm(GitHub Actions + npm Trusted Publishing(OIDC),无需任何 token):

# bump package.json 版本号并提交后:
git tag v0.1.1
git push origin v0.1.1

一次性配置(npm 侧,约 1 分钟)

  1. 打开 https://www.npmjs.com/package/dsh-plugin-toggleSettingsTrusted Publishing
  2. Connect a publisher → 选 GitHub Actions → 仓库填 huntersxy/dsh-plugin-toggle,工作流名填 publish-npm.yml(或留空允许任意);
  3. 保存。此后打 v* 标签,CI 通过 OIDC 换短期凭证自动发布(带 SLSA provenance 签名),没有 token 需要存储或轮换

参考:npm 官方 Trusted Publishing 说明

License

MIT

REPOSITORY SIGNALS

보안 및 설치 증거

이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.

출처 추적 가능

공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.

라이선스

저장소가 MIT 라이선스를 선언했습니다.

유지보수 활동

최근 180일 내 코드 업데이트가 있습니다.

설치 증거

재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.

설치 라이프사이클 스크립트

검사한 패키지 메타데이터에 설치 라이프사이클 스크립트가 선언되지 않았습니다.