riffkit/dsh-plugin:一条命令把 Riffkit 短视频技能装进 DeepSeek Harness

前言

DSH 的理念是一切皆插件。实际装一个第三方 skill 时,问题有两个:既要让它被 harness 发现,又不能动已有的 skill 配置——补丁对目标配置行是整行替换而不是合并,如果在基础 provider 那一行上直接覆盖,原来配置好的 skill root 就会被清掉。

riffkit/dsh-plugin 处理的就是这两件事:它把 Riffkit 的 agent skill 打包成一条命令可安装的 DSH bundle,用 insert 方式注册自己的 skill root,不碰已有配置。下面介绍它的定位、实现和用法。

这是什么

riffkit/dsh-plugin,GitHub 仓库 riffkit/dsh-plugin,包名 @riffkit/dsh-plugin,当前版本 1.4.0,MIT 许可证。它对自身的定位写得很克制——「A packaging layer, nothing more」:这个包只装一样东西,就是 Riffkit 的 agent skill,并通过 cordis.patch.yml 把包内目录注册为一个额外的 skill root。skill 源文件由 riffkit.ai 提供。

Riff 的含义是:分析一条跑赢了的短视频为什么有效——hook、节奏、情绪节拍——再用你的产品、你的角色、你的语言,把这套配方重建为新素材。

核心能力:延续的是结构,不是画面

Riff 的过程分两步:先分析,再重建。

1、分析源视频为何有效:hook 怎么立住、节奏怎么推进、情绪节拍怎么铺;
2、用你的产品、你的角色、你的语言,把这套配方重建为新素材。

有一条边界值得单独说明:源视频从不重新上传,延续的是结构而不是任何一帧。新素材里有什么,取决于你提供的要素,原片画面不会被带过去。

安装

在 DSH 环境里一条命令完成安装:

dsh plugin add @riffkit/dsh-plugin

安装后不需要手动注册 skill root,注册逻辑由包内的补丁承担,见下一节。

补丁设计:用 insert 注册独立 root

包的 package.json 里带有 dsh.bundle.patch 字段,指向 ./cordis.patch.yml。补丁内容用 insert 方式注册一个新的 skill root:

- insert:
    - id: riffkit-skill-root
      name: '@deepseek-ai/dsh-skill-filesystem'
      config:
        providerName: riffkit-bundle
        includeDefaultRoots: false
        customSkillDirs: [ …包内的 skills/ 目录… ]

三个关键点:

1、provider 用的是 DSH 自身的 @deepseek-ai/dsh-skill-filesystem,providerName 取名 riffkit-bundle;
2、includeDefaultRoots: false,customSkillDirs 只指向包内的 skills/ 目录,因此这个 provider 只能看到自己这一个 root;
3、用 insert 而不是覆盖基础 provider 行——patch 替换目标行的整份配置而不是合并进去,覆盖会把你在那里已有的配置清掉。

经过这样的设计,这个 provider 与你已有的 skills 互不遮蔽:它看不见你的 skills,你的 skills 也不会挡住它。

不用 DSH 的环境

README 写得很直白:不用 DSH 就不需要这个包。skill 本体是一个 Markdown 文件,任何能读 skills root 的 harness 都可以直接加载:

mkdir -p ~/.agents/skills/riffkit
curl -sSL https://riffkit.ai/SKILL.md -o ~/.agents/skills/riffkit/SKILL.md

~/.agents/skills 是多个 harness 共同扫描的 skill root,放一份副本,这些 harness 就都能注册到 Riffkit。skill 本体、示例以及 Claude Code、Cursor、Codex 的安装命令,见 github.com/riffkit/skill。

典型用法

使用方式从给一个来源开始:一个 TikTok 链接、一个上传的视频,或者一个已经分析过的模板。后端把这条来源的情绪配方 riff 成你自己的 AI 视频——可以直接发布的短视频,或 UGC 风格的广告素材。数字角色、产品植入和语言是可选项,按需给。

内容如何保持最新

这个包里没有手写维护的内容,更新靠一条每日工作流:

1、从 riffkit.ai 拉取 SKILL.md、HEARTBEAT.md 和 SKILL.json,这是单一事实来源,随应用部署更新;
2、用 scripts/generate.mjs 从这三个文件派生出 package.json 和 cordis.patch.yml;
3、用 scripts/smoke.mjs 验证派生结果仍能被 DSH 自身的 provider 发现;
4、发布 registry 中尚缺的版本。

另外,skill 自带 24 小时 version heartbeat,已安装的副本会在两次 package 更新之间自行重同步。

适用场景与注意

适合谁:

1、在 DSH 里工作、想让某条跑赢的短视频变成自己素材的人——给一条来源,让 agent 完成分析和重建;
2、不用 DSH 的,直接装 skill 本体即可,不必安装这个包。

安装前注意:

1、插件以当前 dsh 进程的权限运行,装之前先过一遍源码再决定;
2、许可证为 MIT,README 末尾与 package.json 的 license 字段一致;
3、这个包只是打包层,能力全部来自 Riffkit skill 本身,评估功能可以直接看 github.com/riffkit/skill。

结尾

回顾一下:riffkit/dsh-plugin 做的事不大,但做法规范——一个 Markdown skill,一条安装命令,insert 补丁注册独立 root 不覆盖已有配置,每日工作流加 24 小时 heartbeat 保证内容不过期。想在 DSH 里 riff 短视频,或者想参考一个外部 skill 接入 DSH 的写法,可以从它开始。

  • GitHub 仓库:https://github.com/riffkit/dsh-plugin
  • 社区目录收录页:https://www.skillhub.cn/plugins/riffkit/dsh-plugin

社区目录为独立第三方站点,与 DeepSeek 无官方从属关系。

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

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

小夜