前言¶
在 DSH 里通过文件系统 skill provider 加载技能目录时,目录在 git pull 之后可以被 watcher 热重载(默认会跟随符号链接)。但 DSH 本身不会定期拉取镜像仓库,也不会自动维护 skill 根目录下的符号链接:新增技能要建链、移动要修链、删除或弃用后要清掉过期链接。若你本地维护的是类似 mattpocock/skills 的镜像,需要有人把「拉代码」和「对齐 symlink」这两步串起来。社区插件 dsh-skill-sync(维护者 mi-lu-uncle,SkillHub 分类为工作流)把 mattpocock 的 skills sync 脚本包成 DSH 命令,并可选定时执行。
这是什么¶
dsh-skill-sync 是围绕 mattpocock skills sync 脚本的薄封装:暴露 /skills-sync 命令用于立即同步,以及默认关闭、需显式开启的周期性定时器。插件当前版本为 0.1.1(MIT),在 package 元数据中声明与 DSH 0.2.0-rc.2、0.2.1-rc.2 兼容。
核心功能¶
同步脚本承担两件事:
- 对镜像仓库执行
git pull --ff-only; - 在 skill 根目录 reconcile 符号链接:为新技能建链、修复移动后的链、移除已删除或弃用技能对应的过期链接。
插件在此基础上提供:
/skills-sync:立刻运行同步脚本并展示其报告;- 可选定时器:在配置里将
auto设为true后按intervalMs周期执行(默认不启用)。
安装与配置¶
安装¶
从本地插件目录安装(路径需换成你机器上的绝对路径):
dsh plugin --profile desktop add /absolute/path/to/dsh-skill-sync
SkillHub 目录页:https://www.skillhub.cn/plugins/mi-lu-uncle/dsh-skill-sync。源码与说明见 GitHub:https://github.com/mi-lu-uncle/dsh-skill-sync。
配置¶
在 profile patch(cordis.patch.yml)里找到 skill-sync 条目,按需设置 config:
- id: skill-sync
config:
script: /Users/you/.dsh/bin/mattpocock-skills-sync.sh # default: ~/.dsh/bin/mattpocock-skills-sync.sh
intervalMs: 1800000 # default: 30 minutes
auto: false # default: false (set true to opt in)
script:同步脚本路径,默认~/.dsh/bin/mattpocock-skills-sync.sh;intervalMs:定时间隔,默认 1800000 毫秒(30 分钟);auto:是否启用周期同步,默认false,需要定时拉取时设为true。
典型用法¶
在 DSH 中执行:
/skills-sync # run the sync script now, show its report
即立即跑一次同步并查看脚本输出。若已开启 auto: true,则除手动命令外还会按 intervalMs 自动执行同一脚本。
适用场景与注意¶
适合已经在本地用 git 镜像 skills 仓库、并希望与 DSH 文件系统 skill 加载方式配合的开发者。插件以当前 dsh 进程的权限运行同步与 git 操作,安装前请阅读仓库源码与 MIT 许可证,确认脚本路径与镜像仓库配置符合你的环境。
SkillHub 为社区插件目录,与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本插件属于工作流类辅助,不负责替代你对镜像源与 skill 目录结构的自行管理。
结尾¶
dsh-skill-sync 把「镜像 git pull + symlink 对齐」固定为 /skills-sync 与可选定时任务,补上 DSH 热重载之前缺少的同步触发环节。进一步了解可访问 SkillHub 插件页 与 GitHub 仓库。