dsh-my-plugins

DSH PLUGIN会话与消息

仓库 i-am-shy/dsh-my-plugins

会话与消息 未标注验证等级 安全审查:未标注 可信度:未标注 可安装插件

「我的插件」是挂在 DSH 设置→插件区的管理面板,只列出你自己安装的插件,支持查看版本与运行相位、热启用/关闭、卸载并一键重启 dsh web,官方自带插件永不显示。

一句话选型结论

按资料字段整理

dsh-my-plugins 是会话与消息类的 DSH 可安装插件,未做沙盒验证,暂无安全审查结论,列出 5 项功能,没有现成安装命令,需要按仓库 README 接入。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类会话与消息 收录类型可安装插件 验证等级未标注验证等级 安全审查未标注
验证等级 UNKNOWN 未标注验证等级
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-09-11 创建于 2026-09-07
README 8.9 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-my-plugins:DeepSeek Harness 里只管自装插件的管理面板

  • 只管理自装插件
  • 热启用与关闭
  • 停用状态持久化
  • 一键卸载并重启
  • 亮暗色自动跟随

上游标签

deepseekdeepseek-harnessdsh-pluginplugin-manager

验证等级与安全审查

未标注验证等级
自动化流程结论,不是人工审核
验证等级未标注验证等级上游未给出验证结论,安装前请自行确认
安全审查未标注静态分析结论,未标注不代表已通过审查
仓库健康度未标注按仓库活跃度与最近更新时间给出
可信度未标注综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 列出了 5 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 安全审查还没结论,装之前先看仓库改了什么、要什么权限。
  • 没有现成安装命令,要按仓库 README 手动接入。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在会话与消息场景里给 DSH 补能力的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-my-plugins当前 未做沙盒验证 未标注 0 未标注 无
dsh-desktop L3 · 安装规范通过 低风险 3.0 万 未标注 无
openpets L4 · 沙盒安装通过 低风险 1,274 未标注 有
deeptide L4 · 沙盒安装通过 低风险 1,104 0.1.1-rc.2 有
jingyun-dsh L3 · 安装规范通过 低风险 1,004 未标注 有
study-mate 未做沙盒验证 未标注 856 未标注 无

仓库档案

会话与消息
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方i-am-shy仓库 dsh-my-plugins · 默认分支 main
分类会话与消息client
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言TypeScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-09-07 · 2026-09-11最后推送 2026-09-11
本站收录2026-09-13首次进入本站目录的时间

README 全文

8.9 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-my-plugins

一个面板,只管理你安装的插件
One panel for the plugins you installed — nothing more

= 22">


简介

「我的插件」是挂在 设置 → 插件 区的一个 DSH 插件:查看、启用、关闭、卸载你自己安装的插件,官方自带的插件一律不显示、不管理。样式与官方插件清单完全一致(同一套主题变量),亮色/暗色模式自动跟随。

"My Plugins" is a DSH plugin tab inside Settings → Plugins: view, enable, disable and uninstall only the plugins you installed. Built-in plugins are never listed or touched. Styling matches the official plugin inventory exactly (same theme variables), and follows light/dark mode automatically.

「我的插件」面板 · My Plugins —— 设置 → 插件 → 我的插件(Settings → Plugins → My plugins)

功能

操作 机制 生效时机
查看 profile dependencies ∩ Cordis Loader 条目,附版本与运行相位 实时
启用 loader.update(id, {disabled:false}) + 移除持久化停用行 热生效
关闭 loader.update(id, {disabled:true}) + 写入 profile 的 cordis.patch.yml 托管块 热生效,重启后保持
卸载 dsh plugin remove + 清理 bundles 残留 + loader.remove(id) 重启 dsh web 后完全生效
重启 面板内一键重启 dsh web(分离式 helper,端口释放后重新拉起) 立即

卡片行为与官方插件清单一致:启用时显示状态点(绿=已挂载 / 红=挂载失败 / 蓝=加载中)+「已启用」标签;停用时只显示「已停用」标签;同一时刻只展开一张卡片;顶部工具栏提供刷新与重启 dsh web。

判定「我的插件」的口径

profile(默认 web)的 package.json 中 dependencies 键 = 你安装的插件。官方自带包的条目永不纳入管理,面板不会给它们任何操作按钮。

持久化

停用状态写成 profile 的 cordis.patch.yml 中的托管块,重启后依然保持:

# dsh-my-plugins managed begin
- id:
disabled: true
# dsh-my-plugins managed end

删除该块即可全部恢复启用。面板同时在 $DSH_HOME/dsh-my-plugins/state.json 保存镜像,启动时与实时 loader 树比对自愈(清理指向不存在条目或组条目的残留键)。

运行时 id 与补丁行 id

树内条目带组前缀(如 include:dsh-pocket)。Cordis Loader 原生支持 a:b 嵌套 id,因此运行时更新用原始 id;而写入补丁层的行必须用配置文件里的纯 id(最后一个 : 段)。两个形态、两个函数,互不混淆。

安装

从 GitHub 源安装(构建产物随仓库提交,无需本地构建):

dsh plugin --profile web add https://github.com/I-am-shy/dsh-my-plugins.git

或从本地源码安装:

git clone git@github.com:I-am-shy/dsh-my-plugins.git
dsh plugin --profile web add file:/path/to/dsh-my-plugins

重启 dsh web、刷新浏览器,然后打开 设置 → 插件 → 我的插件。本 tab 使用 order: 20,排在「可配置」「插件列表」之后,固定在最后一位。

Need the tab in another language? Set the interface language in DSH settings — the panel switches between 中文 and English instantly (locale namespace settings.myPlugins).

使用

操作 做法
查看状态/版本/相位 点击卡片展开
关闭 / 启用 展开卡片 → 关闭 / 启用
卸载 展开卡片 → 卸载,弹窗确认
重启 dsh web(完成卸载、干净生效) 工具栏 → 重启 dsh web

重启后页面会轮询服务器恢复并自动刷新当前页(要求连续 3 次探测成功再刷新,避免撞上未完成启动的服务器)。

HTTP API(同源、仅回环)

端点 方法 请求体 作用
/my-plugins/list GET — 插件列表 + profile + 端口
/my-plugins/set-enabled POST {pkg, enabled} 启停 + 持久化
/my-plugins/uninstall POST {pkg} 卸载 + 清理
/my-plugins/restart POST {} 重新拉起 dsh web

设计

  • 只在官方「设置 → 插件」注册一个「我的插件」tab(order: 20),不新增一级菜单入口;
  • 只管理 dependencies ∩ loader 条目,官方自带(@deepseek-ai/dsh-base / dsh-web-app 展开的条目)永不纳入;
  • 组条目(options.group)永不作为操作目标,面板拒绝关闭自身(防止持久化后无法从界面恢复);
  • 所有操作写入审计日志 $DSH_HOME/dsh-my-plugins/audit.jsonl;HTTP 只接受 loopback + 同源 Origin 请求;
  • 浏览器只拿到脱敏列表(无任何凭据/密钥回传);重启 helper 以注入 --no-open 的方式重新拉起,不弹新浏览器窗口。

本地开发

npm install
npm run typecheck    # tsc --noEmit 严格检查
npm run build        # 构建 src/host → lib/index.js、src/client → client/client.js
npm run build:watch  # 变更即重建

lib/ 与 client/ 产物随仓库提交,消费者安装时零构建。本地与活着的 dsh web 联调时推荐符号链接开发环(避免 file: 安装硬链接被编辑工具换 inode 后残留旧副本):

# 首次注册后,把 pnpm 硬链接副本替换为符号链接
rm -rf ~/.dsh/profiles/web/node_modules/dsh-my-plugins
ln -s /path/to/dsh-my-plugins ~/.dsh/profiles/web/node_modules/dsh-my-plugins

改完 client 刷新页面即可(模块系统按需加载);改 host 需重启 dsh web。

项目结构

dsh-my-plugins/
├── src/
│   ├── host/                  # Node 侧(构建 → lib/index.js,ESM)
│   │   ├── index.ts           #   入口:inject + apply + 启动自愈
│   │   ├── constants.ts       #   路径、块标记、fiber 相位映射
│   │   ├── types.ts           #   服务/状态/行类型
│   │   ├── audit.ts           #   审计日志
│   │   ├── profile.ts         #   profile package.json 读取
│   │   ├── patch.ts           #   cordis.patch.yml 渲染 + 状态读写
│   │   ├── loader.ts          #   条目发现(组安全)
│   │   ├── operations.ts      #   启用/关闭/卸载
│   │   ├── restart.ts         #   分离式重启 helper
│   │   └── routes.ts          #   /my-plugins HTTP API
│   └── client/                # Web 侧(构建 → client/client.js,CJS 单文件)
│       ├── index.ts           #   __ModuleLoader__ 注册
│       ├── app.ts             #   slots + 语言 + 样式接线
│       ├── component.ts       #   面板组件
│       ├── api.ts             #   同源 RPC
│       ├── locales.ts         #   中英词典
│       └── styles.ts          #   主题变量 CSS
├── lib/index.js               # 构建产物(已提交)
├── client/client.js           # 构建产物(已提交)
├── scripts/build.mjs          # esbuild 管线(含 --watch)
├── tsconfig.json              # 严格 TS / noEmit
├── cordis.patch.yml           # 条目插入清单
└── package.json               # dsh 清单 + npm 元数据

已知边界

  • 卸载是结构性操作(pnpm 包已移除),重启 dsh web 后完全生效——面板如实提示并与你一起完成重启;
  • loader.update 属于条目级热重启;带常驻服务的插件在关键操作后重启一次 dsh web 最干净;
  • 仅 profile dependencies 内的包可管理;官方自带插件不在管理范围(有意为之)。

排查

改动后面板没变

profile 内的安装产物可能是旧硬链接副本(编辑工具换 inode 写文件时断裂)。重新 npm run build,然后重装或按上文切换为符号链接。

重启后已关闭的插件又启用了

持久化块在 profile 的 cordis.patch.yml(~/.dsh/profiles/web/cordis.patch.yml)。文件被重建或块被删除会重置状态——这是特性:删掉托管块即全部恢复。


贡献

欢迎 Issue 与 PR。请保持 npm run typecheck 干净,并使构建产物与源码同步提交(npm run build 后一并 commit)。

许可证

MIT © 2026 I-am-shy

常见问题

7 问
答案由本站依据条目字段整理,不引用上游原文
dsh-my-plugins 怎么安装?

本站没有抓到该条目的安装命令,请到仓库主页确认安装方式;这类条目多数是生态应用或尚未发布安装包的项目。

dsh-my-plugins 的验证等级是什么意思?

未标注验证等级。上游未给出验证结论,安装前请自行确认

dsh-my-plugins 安全吗?

未标注。

dsh-my-plugins 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-my-plugins 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-my-plugins 有哪些功能?

只管理自装插件、热启用与关闭、停用状态持久化、一键卸载并重启、亮暗色自动跟随。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

2 条
不同作者的仓库分开列,请确认你要装的是哪一个
会话与消息
按星标排序,可作替代方案

dsh-desktop

dsh-desktop

为 DeepSeek Harness (DSH) 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。

L3 · 安装规范通过 3.0 万 星

openpets

openpets

L4 · 沙盒安装通过 1,274 星

deeptide

deeptide

L4 · 沙盒安装通过 1,104 星

jingyun-dsh

jingyun-dsh

井云 DSH 客户端插件,为 DeepSeek Harness 注入会员登录、订阅支付、算力管控与应用市场,让智能体和技能快速变成可交易商品

L3 · 安装规范通过 1,004 星

study-mate

study-mate

StudyMate 是 DSH 的「学习模式」预设与技能包,为数学、计算机科目定制学习路线、讲解课件与练习评估,跨科目共享记忆。

未标注验证等级 856 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。