gty2408/dsh-plugin-publisher

前言

DSH 插件的发布与跨设备协作通常涉及繁琐的手动操作。这个插件通过 GitHub 提供了一套自动化的发布与协作流程。它为 DSH 智能体提供了注册的工具,用于检查插件合规性、发布到仓库、以及在多台机器间同步开发状态。

插件概览

  • 名称: gty2408/dsh-plugin-publisher
  • 维护者: Gty2408
  • 许可: MIT
  • 类别: 联网工具
  • 核心价值: 将插件一键上传到 GitHub,并支持多台电脑协作开发同一个仓库。

安装

安装命令如下:

dsh plugin --profile desktop add <本目录路径>

安装完成后必须重启 DSH,新增的 bundle 只在启动时读取。

功能与命令

插件注册了以下七个工具,用于不同的开发阶段:

  • check_plugin: 检查插件目录是否符合要求(只读,不联网)。
  • publish_plugin: 创建 GitHub 仓库、上传代码、设置 topic。
  • share_project: 将本机目录变为协作项目(写入 main,建立本机分支)。
  • join_project: 在另一台电脑加入已有项目(建立本机分支、安装 SSH key)。
  • sync_project: 日常同步流程(拉取 main → 合并 → 推送本机分支)。
  • merge_project: 将其他机器的分支合并进来(本地三方合并)。
  • project_status: 报告本机在该项目中的状态(只读)。

注意事项

使用时需注意以下限制和特性:

  • 传输限制: API 传输模式下,单文件上限为 40 MB。超大会报错并建议使用 release asset。
  • 文件模式: API 传输会丢失文件模式,例如符号链接和特定权限位(如 100755)。
  • 权限限制: repo 权限无法删除仓库,也无法管理账号级的 SSH key(仅限仓库级 deploy key)。
  • 冲突处理: 二进制文件冲突无法自动合并,必须手动选择保留哪一个。
  • 可见性: 公开仓库推送到 GitHub 时即可见,草稿状态无法隐藏。
  • 默认行为: 发布时默认 replace_existing: false,不会覆盖已有代码。若仓库已有提交,发布会被拒绝。

结语

该工具通过 Git 和 REST API 双传输回退机制,解决了网络不稳定导致上传失败的问题。它为 DSH 插件的版本管理和多机协作提供了基础支撑。

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

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

小夜