前言¶
在 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 大小、最近錯誤等)。
安裝¶
- 克隆本倉庫到任意本地目錄:
git clone https://github.com/whui5041-cloud/DSH-manjuhub.git
cd DSH-manjuhub
- 在 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