DeepSeek Harness 插件发布工具:dsh-plugin-publish

DSH 的插件通常以本地目录或私有仓库形式存在。要在多台机器间同步或分享插件,开发者往往需要手动处理 GitHub 仓库的创建、manifest 校验、topic 设置以及更新策略。dsh-plugin-publish 解决了这套流程,它允许开发者通过一条命令将插件发布到 GitHub 公共仓库,使其他机器能够直接安装。

核心功能

  • 本地校验:在发起任何网络请求之前,先在本地校验插件的 manifest 和 bundle。这能避免因 manifest 错误导致的静默失败,例如检查 dsh.bundle、patch 文件是否存在、以及浏览器半注册的 id 是否与包名一致。
  • 仓库管理:自动创建 GitHub 仓库。如果仓库已存在,工具会复用该仓库,而非报错。
  • 目录树提交:将本地整棵目录树作为一个提交上传到 GitHub。这意味着发布即镜像,本地删除的文件在远端也会被删除。
  • Topic 保护:自动添加 dsh-plugin topic,同时保留用户已有的 topic,防止被覆盖。
  • 安装指引:发布完成后,工具会打印出在其他机器上安装该插件的命令。
  • 安全机制:
    • Token 会从每一条消息里擦除,绝不泄露。
    • 绝不发布凭据,会提前报出疑似凭据的文件。
    • 绝不强制推送,除非显式给出 --force 参数。

安装与启用

作为 DSH 插件安装后,可以在 DSH 会话中直接调用 /publish-plugin 命令。

dsh plugin --profile desktop add github:Gty2408/dsh-plugin-publish

启用后,在任意会话中即可使用:

/publish-plugin                    # 校验工作区里的插件
/publish-plugin --push             # 校验后发布
/publish-plugin ./my-plugin --push --repo custom-name

典型用法

作为独立 CLI 使用(非 DSH 环境):

npx dsh-plugin-publish ./my-plugin --token <token> --yes

作为 DSH 插件使用(需要 Node.js 20+):

在 DSH 进程中直接调用发布命令:

/publish-plugin --push

适用场景与注意

此工具适合需要在多台机器间分发 DSH 插件的场景。

  • 环境要求:需要 Node.js 20+。
  • 认证方式:
    • 设备码流程(默认):交互式授权,适合交互环境。
    • --token:非交互方式,适合脚本。Token 可从 ~/.dsh/.github-token(classic token,需 repo 权限)或插件的 token 配置读取。
  • 已知限制:
    • GitHub API 对单文件传输有 40MB 上限,工具会据此限制。
    • --force 参数会覆盖分支。
    • 本工具仅发布到 GitHub,不投稿插件市场,也不发布到 npm。
    • repo 权限无法删除仓库,需手动清理。

总结

dsh-plugin-publish 通过本地校验、目录树镜像同步和 topic 保护,简化了 DSH 插件的发布流程。它让插件的分享和分发变得标准化和自动化。

插件目录 | GitHub 仓库

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye