Back to home@PelyDeng

dsh-plugin-manager

Deploy and manage DeepSeek Harness apps with shared authentication, plugin packaging, and Docker deployment.

Stars
2
Language
JavaScript
Created
Sep 7, 2026
Updated
Sep 7, 2026

Introduction

DSH Plugin Manager

English · 图文导览 · 部署指南 · Releases · 反馈问题

基于 DeepSeek Harness 的 AI 应用开发与部署框架,让个人开发者和小团队开发自己的插件,并统一安装、更新和管理。

你可以基于 DeepSeek Harness 生态,在自己的仓库开发各类插件和 AI 应用,例如知识库助手、报表助手、业务工具或带独立页面的智能体应用。框架提供统一的接入约定、打包、安装、更新、配置和启停管理,支持将多个插件组合部署,供自己使用或交付给团队与客户。

沿用官方 Cordis 插件、Bundle 和 Agent 机制,无需修改 DSH 或管理器源码;插件可以独立开发和打包,发布运行端无需作者源码,并可按需复用统一登录与应用访问授权,减少重复开发和运维工作。接入需遵循框架支持的插件声明,并验证目标宿主版本的兼容性。

社区独立维护的非官方项目,不代表 DeepSeek 官方产品或推荐。

开发者接入助手:快捷问题、流式对话与个人历史

已有 Linux Docker 环境?从首次部署开始,完成“登录 → 授权 → 配置模型 → 首次问答”。只想先看效果,请看图文导览

你想做什么从这里开始
先运行一个应用,看看登录和问答页面快速体验
在自己的仓库开发插件或智能体应用独立仓库开发
在本仓库增加或维护插件内部工作区开发
部署别人交付的插件包发布物交付指南

目录

项目能力

能力解决的问题
独立仓库接入作者维护自己的 pnpm 单包项目,通过声明接入,不改管理器名单
内部插件扫描保留 plugins/* 自动发现、选集与批量构建,不要求内部插件迁出仓库
通用构建与打包按插件声明执行 build、必要 check 和 pack,输出清单与归档
发布物组合将多个作者的交付目录组合成站点发布物,release 运行端无需作者源码
配置与受控启停管理实例配置、安装、启动、停止和已声明的就绪探针
可选统一认证复用账号、登录和应用访问授权;业务接口由作者显式接入 kit

例如知识库助手和销售报表助手可以共用账号与交付流程,各自实现检索、接口、页面及数据权限。可信身份不等于业务数据许可,应用仍需检查用户能读取哪些文档或报表。

界面预览

内置 dsh-example 是开发者接入助手,展示提问、流式回答、个人历史和可选认证的接入方式。

登录、模型设置与问答步骤见图文导览。实际问答需先配置自己的模型凭据。

与官方 DSH 的关系

部分负责什么
官方 DSHCordis 插件运行、Bundle 组合、Agent、模型与会话
本框架作者接入约定、发布物组合、配置和交付管理,以及可选基础认证
业务插件工具、页面、业务参数、数据授权与业务验收

个人只运行一个工具时,直接使用官方 Bundle 可能更简单。需要统一打包、安装、更新和管理自己的插件,或将多个应用交付给团队与客户时,可以复用本框架的管理能力。插件安装和更新通过管理器 CLI 与部署流程完成;认证页面负责账号和应用访问授权。它不承诺所有社区插件或任意宿主版本自动兼容;作者需要说明并验证支持的宿主版本。

快速体验

第一步:选择运行方式

方式适合谁入口
Node CLI 图文体验Windows PowerShell 或 Bash 用户,希望了解打包、登录与运行过程准备工具和目录
Linux Docker 一键部署已有 Linux 服务器,希望运行完整源码站点一键部署

Node 路径需要 Node.js ^22.19.0 || >=24、pnpm 11.19.0 和系统 tar,无需 Docker。Linux Docker 路径取得完整仓库源码并满足环境要求后,在仓库根执行:

bash deploy/build.sh

脚本生成本机配置、构建宿主及插件并启动,默认访问 http://127.0.0.1:7902。远程浏览器访问方式及失败恢复见一键部署文档。

第二步:登录并打开示例

访问 /auth,完成首次管理员改密,创建普通账号并授予 example 权限,再用普通账号打开 /example。完整步骤及截图见登录并体验问答

第三步:完成一次问答

使用默认 DeepSeek 提供方时,管理员在 /auth 的“模型设置”录入 API 密钥,无需重启;页面只显示配置状态与不可逆指纹。默认模型选择或其他提供方仍由同一实例的官方模型设置管理。随后在 /example 新建对话,确认收到流式回答并能恢复历史。详细操作见模型准备

开发自己的插件

独立仓库开发

作者指南取得管理工具、复制示例、填写声明并保存锁文件。在已安装 manager 的工具目录执行:

pnpm exec dsh-plugin-manager list --root /path/to/author-project --package .
pnpm exec dsh-plugin-manager pack --root /path/to/author-project --package . --output .local/artifacts/release

把路径换成自己的作者根目录;输出路径相对于该根目录。pack 冻结安装依赖,依次执行一次 build、一次 check 和打包,交付时无需预先重复执行 build/check。

起点适用场景
最小独立 Bundle不需要 kit,先验证插件声明与发布物交付
统一身份示例复用登录和应用授权,读取当前账号身份
完整问答应用在流式对话、历史和知识示例上开发自己的应用

当前外部入口支持 pnpm 单包项目和 release 部署,不提供外部 workspace 自动发现或 development/link。

内部工作区开发

继续在 plugins/* 下开发。在本仓库根执行:

pnpm install --frozen-lockfile
pnpm list:plugins
pnpm package --plugins "auth,example" --output .local/artifacts/release/plugins

内部扫描、批量任务及 development/link 均保留。日常构建、检查和测试的选择见内部开发步骤。普通构建和测试不需要初始化宿主子模块、配置模型密钥或启动 Docker。

部署与更新

消费外部交付包时,按发布物交付指南完成:取得各应用清单与归档 → 组合完整候选集合 → 填写实例配置 → 启动 → 用普通账号验证业务。运行端无需作者源码,要求登录的应用必须与认证 provider 一同选入候选清单。

更新时保留原始分项发布目录,替换目标应用后重新组合全部需要保留的应用;沿用实例 home,并按指南备份、停止和启动。两应用演练见加入第二个应用

使用 Linux 完整源码部署时,更新仓库后仍执行 bash deploy/build.sh。该入口直接使用已有官方源码,不主动拉取或要求匹配预设版本,默认无需镜像仓库。配置与恢复说明集中在部署文档

常见问题

首次登录、官方控制台认证、服务器录入模型密钥及问答排错见 FAQ

问题说明
新插件必须修改 DSH 或管理器源码吗?不需要;按支持的包声明与扩展接口接入
写完声明就能保护接口吗?不能;作者需显式接入 kit,业务数据权限也由应用检查
包名可以直接从 npm 安装吗?本文包名不代表已经公开发布;先取得版本化工具 tgz
构建时会运行全部业务测试吗?check 只做必要编译、类型或语法检查;完整测试由作者单独运行
kit 升级后所有应用自动生效吗?kit 内嵌于各应用,消费它的应用需要更新版本并重新打包
接入或启动遇到问题怎么办?先读排错入口开发者 FAQ

文档与目录

按使用目标查阅文档导航。需要让 AI 协助开发时,可复制开发提示词

位置用途
packages/plugin-kit@dsh-plugin-manager/plugin-kit:身份、权限、HTTP、工具登记
packages/plugin-manager@dsh-plugin-manager/plugin-manager:发现、打包、安装和受控启停
plugins/dsh-auth可选账号、登录与插件授权
plugins/dsh-example开发者答疑、流式对话、历史与可选认证示例
integrations/docker官方宿主镜像与 Compose 集成
deployBash、PowerShell、Node 入口和配置模板
.local/data/本机持久数据,不进入 Git
.local/artifacts/发布归档与恢复记录,不进入 Git

贡献与许可

参见 CONTRIBUTING.mdSECURITY.md。本仓库自有代码采用 Apache-2.0,第三方归属见 NOTICETHIRD_PARTY_NOTICES.md。本项目由社区维护,不是 DeepSeek 官方发布渠道。