dsh-plugin-manager-plus
August 16, 2026 · View on GitHub
DeepSeek Harness 增强版插件管理器——浏览社区目录、区分官方/第三方插件、管理插件生命周期、通过 GitHub 同步插件环境。基于 dsh-market(MIT)fork 增强。
English | 中文
打开设置 → 插件管理 → 浏览、安装、管理、同步。
安装
dsh plugin --profile web add dsh-plugin-manager-plus
重启 dsh web,打开 设置 → 插件管理。
功能
浏览与安装社区插件
- 发现——可搜索、分页的社区目录(750+ 插件,每天在涨),分类筛选、star 数、中英双语描述
- 一键安装——确认来源,实时进度;多数插件刷新页面即可用,无需重启
- 官方/第三方徽标——每个插件自动分类:官方(来自
deepseek-ai/dsh-external组织,或@deepseek-ai/*前缀)显示蓝色 官方 徽标,其余为社区。点击插件名或版本号即可跳转对应 GitHub 仓库。
管理已安装插件
- 已安装——带激活状态(已生效/需重启/未生效/损坏/缺失)、版本、来源的分组视图
- 更新——逐插件检测(npm 版本或锁定 commit vs HEAD),一键更新或全部更新
- 启用/停用——不卸载即可开关插件(通过
dsh.market.disabled持久化) - 卸载——两步确认防误触;本次会话装的即点即卸
- 本地插件标识——没有 GitHub 来源的插件显示灰色 本地 徽标与来源(如
bundles:、patch:);manifest 里声明了repository字段的插件会自动解析出 GitHub 链接 - 发起新对话寻求帮助——安装失败时出现按钮,一键生成脱敏的完整求助提示词,复制后粘贴到新会话即可获得诊断与解决方案
环境同步(F4)—— 🔒 默认关闭,需显式启用
把已安装的第三方插件清单备份到 GitHub 仓库,换电脑后一键还原。
- 默认关闭——同步页只显示启用指南,在显式启用前不产生任何网络请求
- 备份——推送
dsh-plugins.json(名称 + 来源 + 锁定 commit)到你的仓库;本地插件会打包为文件嵌入清单,可在其他电脑完整还原 - 还原——拉取清单、展示差异、自动还原本地插件文件,并列出还需从市场安装的在线插件
- 本地插件文件——无 GitHub/npm 来源的插件以(路径 → base64)打包进清单;体积守卫保证推送不超过 GitHub contents API 上限
- 隐私——离开本机的只有插件名、版本号与(本地插件的)文件;Token 绝不出现在清单里,同步开关本身也不会被推送
- 失败求助——备份/还原出错时同样出现「发起新对话寻求帮助」,生成面向配置的提示词(错误码、消息、提示、仓库/分支)
配置
环境同步配置步骤
- 准备一个 GitHub 仓库(如
me/dsh-plugins),公开或私有均可 - 生成 Token:GitHub Settings → Developer settings → Personal access tokens → 勾选 repo 或 contents:write
- 在 设置 → 插件管理 → 环境同步 填写
owner/repo、分支和 Token,点击 启用同步 - 点击 测试连接——绿色即就绪;红色会显示具体原因
不带 Token 时 GitHub API 限流为 60 次/小时(偶尔备份足够);带 Token 提升到 5000 次/小时。Token 仅存于本地配置,绝不上传。
速度
只要插件发布了 npm 包(registry 校验其 repository 指回同一仓库,防冒名),安装即走 npm tarball 而非整仓 GitHub 下载——通常秒级;仅 GitHub 分发的插件取决于你到 GitHub 的网络。
安全
- 只允许安装 awesome-dsh-plugin 精选列表内的来源,其它一律拒绝
- 构建脚本默认禁止执行(pnpm ≥10);被拦截的 git 包构建脚本会自动放行并重试一次,逐包授权仍由你显式决定
- 终端/命令行类插件装进网页版前会被明确提醒
- 安装接口只接受同源 POST;插件不会向任何地方上报数据
- 重启接口要求客户端直接来自环回地址(拒绝代理转发请求),并使用原入口、参数、环境和工作目录重新启动 DSH
- 求助提示词在显示前会自动打码所有 Token 形状(
ghp_*、github_pat_*、Bearer …) - 收录 ≠ 背书:插件是第三方代码,请只安装你信任的来源
提交你的插件
这个仓库是管理器应用本身,不是插件目录。 插件列表来自精选列表 awesome-dsh-plugin——想让你的插件上架,请去那边提 PR(列表加一条即可,市场会自动收录,通常一天内生效)。想让自己的插件在「已安装」里显示 GitHub 链接,在它的 package.json 里加 repository 字段:
"repository": { "type": "git", "url": "git+https://github.com/you/your-plugin.git" }
开发
npm install
npm run build # tsc + tsdown 客户端打包
npm test # vitest 单元测试(92 个)
npm run typecheck
npm run check # typecheck + build + 重启冒烟
项目结构
src/
├── index.ts # 插件入口
├── routes.ts # HTTP 路由(安装/更新/同步/帮助/…)
├── profile.ts # profile 文件系统读取 + 启停 + 快照
├── install.ts # 安装编排、故障恢复、allowBuilds 解析
├── sync.ts # F4 环境同步(本地插件打包/解包)
├── help-prompt.ts # 求助提示词生成(安装 / 同步)
├── op-queue.ts # FIFO 任务队列
├── provenance.ts # 官方/第三方判定
├── dsh-cli.ts # dsh CLI 子进程 + 试装验证
└── client/ # React UI(MarketSection、SyncTab、HelpPromptDialog)
路线图与反馈
- Bug 与建议请提 issue,附上管理器的「导出日志」能让排查快十倍
- 本项目 fork 自 dsh-market——上游改进可随时合并回来
数据源
实时来自 awesome-dsh-plugin.com/plugins.json——精选条目、npm 映射、star 数由 CI 每日刷新——内置快照做离线兜底。
许可
MIT —— fork 自 dsh-market(MIT)