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 無官方從屬關係。

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

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

小夜