dsh-plugin-tool-repository
DSH 插件仓库 第三方插件 让你可视化管理已安装的 skill/插件 对skill/插件功能进行介绍和分类
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 26, 2026
- Updated
- Aug 26, 2026
Introduction
dsh-plugin-tool-repository
DSH 技能 / 插件仓库浏览器 —— 在 设置 → 仓库 中浏览、管理本地技能与已安装插件。
支持自定义显示名、标签、简介、GitHub 链接、AI 介绍(中文/English 双语)、插件的启用 / 禁用 / 卸载,以及用「自定义名称」调用 skill 的输入别名。
v0.2.0 起并入原 dsh-plugin-repo-inventory:新装的技能/插件带红点提醒,可一键确认;每个条目可维护安装/更新日期。
功能特性
📚 技能仓库(Skills)
- 浏览
~/.dsh/skills下所有目录型技能,读取其SKILL.md内容与相关文件。 - 查看技能详情:正文 markdown、文件列表、单个文件预览。
- 自定义显示名:为技能设置别名(留空恢复默认)。
- 自定义简介 + GitHub 链接:每个技能可维护简介与仓库地址。
- AI 介绍(双语):
- 一键生成一份 AI 介绍并保存到仓库;
- 同时生成 中文 + English 两份内容;
- 详情页右上角有「中文 / English」切换按钮,点击即切换语言。
🔌 插件仓库(Plugins)
- 浏览 profile 已安装插件(读取
package.json与dsh.profile.bundles)。 - 自定义显示名 + 标签分类(标签页可筛选)。
- 自定义简介 + GitHub 链接。
- 启用 / 禁用 / 卸载:
- 启用、禁用直接操作插件入口的
disabled标记,写入cordis.patch.yml,与官方插件市场(plugin-manager)的启用状态保持一致(按 bundle patch 声明的入口 id 计算); - 卸载会从
dsh.profile.bundles、dependencies与node_modules中移除; - 内置插件(
@deepseek-ai/dsh-*)禁止启用/禁用/卸载; - 以上操作均为「下次启动生效」,UI 上有提示。
- 启用、禁用直接操作插件入口的
🔴 新装提醒与日期(原 dsh-plugin-repo-inventory)
- 首次出现的技能/插件在列表和入口卡片上显示红点,点「确认」即清除;
- 已确认集合持久化,首次运行以当前已装内容为基线(存量不亮红点);
- 每张卡片可直接编辑「安装 / 更新」日期,新条目自动填今天。
⌨️ 输入别名:用自定义名称调用 skill
-
不修改 DSH 核心,即可用「自定义显示名」呼唤 skill。
-
在输入框输入
/后,候选列表会额外列出有自定义显示名的 skill(描述里标注其原始英文名)。 -
选中后自动替换成原始名称调用,例如:
输入 /头脑风暴-先方案在执行 → 对话框自动变成 /brainstorming实际仍按原始英文名
brainstorming调用,不影响 DSH 的 kebab-case 名称规范。
安装
dsh plugin --profile web add <your-repo-or-package>
# 或本地联调:
dsh plugin --profile web add link:/path/to/dsh-skill-browser
安装后重启 DSH,进入 设置 → 仓库 即可看到「技能仓库 / 插件仓库」。
使用
- 浏览技能:仓库 → 技能仓库 → 点击技能查看详情(markdown、文件、AI 介绍)。
- 设置显示名:卡片上的「重命名」,或详情页的「简介 / GitHub」字段。
- 生成 AI 介绍:详情页点击「生成 AI 介绍」,AI 会在会话中生成中文/英文双语介绍并保存;刷新后可用右上角按钮切换语言。
- 管理插件:仓库 → 插件仓库 → 每个卡片右下角提供「启用 / 禁用 / 卸载 / 重命名 / 标签」。
- 用别名调用 skill:输入框输入
/,从候选里选择带自定义显示名的 skill 即可。
宿主路由
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /dsh-skill-browser/list | 技能列表 |
| GET | /dsh-skill-browser/skill?name= | 技能详情(markdown + 文件) |
| GET | /dsh-skill-browser/file?name=&path= | 单文件预览 |
| GET/PUT | /dsh-skill-browser/display-name | 技能自定义显示名 |
| GET | /dsh-skill-browser/plugins | 插件列表 |
| PUT | /dsh-skill-browser/plugin-display-name | 插件自定义显示名 |
| PUT | /dsh-skill-browser/plugin-tags | 插件标签 |
| PUT | /dsh-skill-browser/skill-meta | 技能简介 / GitHub 链接 |
| PUT | /dsh-skill-browser/plugin-meta | 插件简介 / GitHub 链接 |
| PUT | /dsh-skill-browser/ai-intro | 保存 AI 介绍(双语) |
| PUT | /dsh-skill-browser/plugin-enable | 启用插件 |
| PUT | /dsh-skill-browser/plugin-disable | 禁用插件 |
| PUT | /dsh-skill-browser/plugin-uninstall | 卸载插件 |
| GET | /api/dsh-plugin-repo-inventory/new | 未确认(新装)技能/插件名单 |
| POST | /api/dsh-plugin-repo-inventory/confirm | 确认一项(清除红点) |
| GET/PUT | /rpin-dates | 安装/更新日期存储 |
| POST | /rpin-dates/ensure | 首见条目自动补日期 |
技术说明
- 零运行时依赖:宿主半
lib/index.js只使用 Node 内置模块(node:fs/node:os/node:path)。 - 客户端半
lib/client.js通过window.__ModuleLoader__.load注册,使用 React 渲染,注入设置 → 仓库section 与/输入别名触发源。 - 启用/禁用一致性:按插件 bundle patch(
cordis.patch.yml的insert:入口)声明的入口 id 匹配 loader 条目,与官方 plugin-manager 的claimed-entry-id模型一致。 - AI 介绍双语:
content用<!-- zh:start --> / <!-- zh:end --> / <!-- en:start --> / <!-- en:end -->标记分隔中文与英文,客户端按语言切换渲染。 - Liquid Carve 按钮:GitHub 打开 / 编辑按钮采用 Originkit 风格的「液态侵蚀」胶囊按钮(纯 JS + SVG mask + goo 滤镜 +
requestAnimationFrame,无 framer-motion 依赖)。
License
本项目基于 MIT License 开源。