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

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

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

小夜