DSH 插件 manju-skill-hub:AI 漫劇技能總控

前言

在 AI 漫劇/短劇項目裏,技能是智能體的核心能力來源。隨着項目增多,本機技能分散在 $DSH_HOME/skills,上游開源技能散落在 GitHub,安裝、更新、回滾、版本管理容易脫節。維護者需要一套統一的技能總控,既能查看本機所有技能,又能發現並安裝上游倉庫,還能安全地更新和回滾。下面介紹一個 DSH 插件:manju-skill-hub。

是什麼

manju-skill-hub 是一個 DSH 工作流插件,給 AI 漫劇/短劇項目提供技能總控。它維護者 whui5041-cloud,分類爲工作流。插件從 Harness 的 skills 服務與 $DSH_HOME/skills 讀取全部已安裝技能,解析每個 SKILL.md 的介紹、版本、標籤等信息,並與 GitHub 上游倉庫關聯,比較更新時間,標出「可更新/已是最新/未檢查」。同時插件會按計劃搜索 GitHub 上的開源 short-drama/manju skill,做關鍵詞相關性評分,校驗存在 SKILL.md 後列入「待確認安裝」。

本機技能全覽

插件從 $DSH_HOME/skills 與 Harness 的 skills 服務讀取全部已安裝技能,解析每個技能的 SKILL.md,提取介紹、版本、標籤、agent_created、更新時間、安裝時間與路徑,並篩出漫劇相關技能。頁面頂部有「打開技能目錄」按鈕,直接用系統文件管理器打開 $DSH_HOME/skills。每個技能卡片下方有「打開目錄」「打開 SKILL.md」「複製路徑」,路徑由 Host 校驗必須位於技能目錄內。

更新狀態與更新者

插件把技能與 GitHub 上游倉庫關聯,比較上游最近提交與本機安裝時間,標出「可更新/已是最新/未檢查」。同時顯示更新者:智能體/本人/未知。每個可更新的技能卡片有「更新到最新」按鈕,點擊後二次確認,插件會先備份整目錄到 $DSH_HOME/manju-skill-hub/backups/<技能名>-<類型>-<時間>,再原子替換。右上角有「全部更新」按鈕,逐個處理所有可更新技能,單個失敗不會阻塞其餘技能。

自定義更新與變更歷史

每個技能卡片的「自定義更新」打開編輯彈窗,可粘貼文案,選擇「追加受管小節」(默認,寫入一個可重複替換的「自定義補充」塊)或「整篇替換」,應用前先備份。編輯器支持「預覽差異」查看應用後的 diff 與校驗結果,也支持從「片段」庫一鍵插入常用硬規則。插件提供「思考模式 2.0」:讓默認模型「診斷」出問題清單,勾選後「生成」建議內容,結果填進同一個編輯彈窗,生成不等於落盤,仍需用戶確認後應用。

所有安裝/上游更新/自定義更新都會記錄一條歷史,包括時間、操作者、±行數、diff 文件。「變更歷史」頁可查看差異,並一鍵回滾到任意一次備份;回滾前會再給當前版本做一次安全備份,回滾本身也進歷史。

備份與診斷

插件會在上游更新、自定義寫入、回滾、回收之前備份整個技能目錄到 backups/。安裝沒有舊版本,不產生備份。回滾前還會給當前版本再做一次安全備份。插件提供 pruneBackups 功能,按技能只保留最新 N 份(默認 5,最小 1),每個技能的最新一份永遠保留;也支持總佔用上限(默認 2 GB),超出後從最舊的、非「每技能最新」的備份開始刪除。dryRun 參數可預演不刪除,頁面會顯示「將刪除/釋放/保留」。

createSnapshot 可把選定技能(默認最多 30 個)複製到 backups/<技能名>-snapshot-<毫秒時間>。整庫導出把每個技能目錄複製到目標目錄,寫 manifest.json(名稱/版本/來源倉庫/描述/更新時間)與 README.txt 恢復說明;導入時默認跳過已存在的同名技能,不覆蓋本機版本,只複製含 SKILL.md 的目錄。「回收」操作先整目錄備份,再刪除技能目錄並從 state 移除記錄,之後可用備份或導出的目錄恢復。

運行診斷是隻讀操作,顯示技能/待裝/可更新/歷史/備份數量、state.json 大小、技能目錄是否存在、最近錯誤與免打擾狀態。

質量體檢與項目工作臺

插件提供「質量體檢」功能,檢查引用缺失、健康分(A/B/C/D)、生產階段識別、重名/同描述技能檢測。quality 工具返回每個技能的分數/等級/階段/缺失引用/signals/pinned 狀態。

「項目工作臺」支持新建/綁定/項目體檢/打開目錄。可把項目目錄與本機技能綁定,檢查目錄、交付物與命名缺口。projects 工具返回項目列表(名稱/路徑/綁定技能數)。projects/summary 可查看單項目體檢結果。

片段庫與體驗

插件提供「片段庫」,可保存可複用規則片段,從編輯器「片段」庫一鍵插入常用硬規則。體驗功能包括收藏與階段/來源/更新狀態篩選、Ctrl/Cmd + K 命令面板、免打擾、只讀運行診斷(備份佔用、state 大小、最近錯誤等)。

安裝

  1. 克隆本倉庫到任意本地目錄:
git clone https://github.com/whui5041-cloud/DSH-manjuhub.git
cd DSH-manjuhub
  1. 在 DSH 裏用 Plugin Manager 以本地目錄安裝本包:
plugin_manager install_bundle  target = <克隆目錄的絕對路徑>

安裝後刷新 Web 頁面,側邊欄會出現「漫劇技能中樞」圖標。

配置

bundle patch 裏已經給了默認值,改 cordis.patch.yml 的 config 即可:

配置項 默認 說明
reminderTime 09:30 每日提醒/巡檢/自動更新的時間(本機時區)
remindOnBoot true 啓動後補一次當天提醒(已提醒過則跳過)
githubMinIntervalHours 6 兩次 GitHub 巡檢的最小間隔
verifyReposPerRun 10 每次最多校驗多少個候選倉庫的 SKILL.md
updateCheckPerRun 15 每次更新檢查最多讀取多少個上游倉庫
thinkMaxInputChars 90000 思考/診斷模式最多把多少字符的 SKILL.md 發給模型(超出會截斷並提示)
domainOnly true 頁面默認只看漫劇相關技能
queries 內置 7 條 覆蓋 GitHub 搜索詞

自動更新開關、免打擾截止時間、pin、收藏、片段、項目等都存在 state.json 裏,不是 cordis.patch.yml 配置項。

GitHub 令牌(可選,強烈建議):設置環境變量 GITHUB_TOKEN(或 GH_TOKEN / GITHUB_PAT)。未配置時 GitHub 每小時只允許 60 次 API 調用,探員會自動降速並在頁面提示。

智能體工具

插件提供 manju_skill_hub 工具,多 action。寫操作必須在用戶明確確認後傳 confirm=true。

action 參數 行爲
overview scope=domain\|all 本機技能清單(介紹/版本/更新狀態/更新者)
summary — 精簡統計 JSON(待安裝/可更新/提醒)
quality — 健康分、階段、引用缺失、疑似重複組
diagnostics — 只讀運行診斷 JSON(備份、state、最近錯誤、免打擾)
projects — 項目工作臺列表(名稱/路徑/綁定技能數)
discover force=true 忽略最小間隔 立刻去 GitHub 找開源 skill
check_updates — 複查上游更新
install target(gh:owner/repo)、skill_path、confirm=true 安裝一個技能
read_skill target(技能名) 讀取完整 SKILL.md,供智能體分析
custom_update target、text、mode=append\|replace、position=end\|top、confirm=true 把文案融合進技能
update target、confirm=true 把單個技能更新到上游最新
update_all confirm=true 批量更新全部可更新技能
pin / unpin target(技能名) 鎖定/解鎖版本(自動更新會跳過 pinned)
history 可選 target 查看最近變更記錄
rollback id(或 target)、confirm=true 回滾到某條歷史記錄
ignore / unignore target(發現 id) 忽略/恢復某條發現
reminder — 立即生成今日提醒

以下能力只在 Web 界面/HTTP 接口提供,沒有對應的工具 action:備份清理、快照、整庫導出/導入、回收技能、自動更新開關、免打擾、收藏篩選、編輯預覽、診斷式生成、項目增刪/綁定/體檢、片段保存/刪除、上游倉庫狀態探測。

HTTP 接口

插件提供 /api/manju-skill-hub 前綴的 HTTP 接口,只允許本機迴環訪問。所有寫操作要求同源,且多數需要 confirm=true。

讀接口:

方法 路徑 說明
GET /overview?all=1 全量清單與發現;不帶 all=1 時按 domainOnly 過濾
GET /summary 精簡統計
GET /skill?name=<技能名> 讀取 SKILL.md(最多 20 萬字符)
GET /history?name=<技能名> 變更記錄
GET /diff?id=<歷史 id> 某條記錄的 diff
GET /safety 備份數量、佔用、按技能分佈
GET /diagnostics 運行診斷 + 最近錯誤 + 免打擾 + UI 偏好
GET /quality 每個技能的分數/等級/階段/缺失引用/signals/pinned
GET /projects 項目列表
GET /projects/summary?name=<項目名或 id> 單項目體檢
GET /snippets 片段列表(爲空時先寫入默認 3 條)
GET /ui 收藏等 UI 偏好

POST /action 的 action 值:

分類 action
本地/探員 open、refresh、discover、check_updates
備份與數據 prune_backups、snapshot、export、import、recycle(後兩者需 confirm)
策略 pin、unpin、auto_update、mute、ui
編輯增強 preview、think、think_diagnose
項目 project_add、project_remove、bind、unbind、open_project、project_summary
片段 snippet_save、snippet_remove
體檢 health_check(探測上游倉庫,聯網)
安裝/更新 install、update、update_all、custom_update、rollback(均需 confirm)
其他 ignore、unignore

數據存儲

插件的狀態保存在 $DSH_HOME/manju-skill-hub/state.json,原子寫入。基礎字段是 skills/discoveries/installs/meta/reminder;插件啓動或使用後會寫入 settings/pins/ui/projects/snippets/history/edits。

備份保存在 $DSH_HOME/manju-skill-hub/backups/<技能名>-<類型>-<時間>,類型包括 custom/update/rollback/pre-rollback/snapshot/recycle/import/manual 等。舊版 upgrade 生成的無類型備份也會被統計。

變更 diff 保存在 $DSH_HOME/manju-skill-hub/history/<id>.diff。

整庫導出默認保存在 $DSH_HOME/manju-skill-hub/exports/export-<id>(也可指定目錄),內含 manifest.json、README.txt 與 skills/<技能名>/。

pin 與自動更新

pin 記錄技能名、版本、上游倉庫與時間;pinned 技能會從 autoUpdateCandidates 中排除,但手動「更新到最新」仍然可用。unpin 解鎖版本。

自動更新默認關閉,在頁面或 POST /action {action:"auto_update", enabled:true} 顯式開啓。開啓後只在每日定時任務(reminderTime)裏執行:先發提醒,再對 autoUpdateCandidates(state) 的前 10 個技能逐個調用與手動更新相同的「先備份再替換」流程;單個失敗不阻塞其餘技能。不會在啓動時自動更新。

候選條件是 update.available === true、未被 pin、不在排除列表(settings.autoUpdateExclude)裏。

適用場景與注意

manju-skill-hub 適合需要管理大量 AI 漫劇/短劇技能的 DSH 開發者或團隊。插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。

插件目前星標爲 0。

小結

manju-skill-hub 提供了一套完整的技能總控能力:本機技能全覽、GitHub 開源發現、一鍵安裝更新與回滾、變更歷史、備份與診斷、質量體檢、項目工作臺、片段庫與思考模式。對於需要規範化管理漫劇/短劇技能的開發者,它是一個實用的輔助工具。

目錄頁:https://www.skillhub.cn/plugins/whui5041-cloud/DSH-manjuhub
GitHub:https://github.com/whui5041-cloud/DSH-manjuhub

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

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

小夜