鱼皮AI导航
鱼皮AI导航
  • 主页
  • 社区
  • AI工具
  • AI知识库
  • AI提示词
  • MCP
  • Skills
  • AI学习资源
  • AI资讯
  • GitHub开源
登录/注册

my-dsh-plugins#dsh-my-guardian

插件治理:新装/更新插件先进候选区,启动完成后热挂载——成功自动转正,失败自动禁用,连续失败冻结,一键安全模式,侧边栏诊断面板(npm: `dsh-my-guardian`)。

开发运行时
访问 GitHub
文档README

dsh-my-guardian — 插件守护

dsh-my-guardian:DSH 插件隔离与失败兜底——新装/刚更新的插件先进候选区,启动完成后由守护插件逐个热挂载,成功自动转正、失败自动隔离、连续失败冻结,附一键安全模式与侧边栏诊断面板。

插件守护面板:候选失败隔离 + 转正运行中 + 安全模式开关

失败自动隔离:错误详情可查

功能

  • 两段式加载:新插件先进候选区,坏插件不再拖垮 dsh web 启动(DSH 启动名册是 all-or-nothing,任一插件失败即整个进程起不来)。
  • 失败自动隔离:挂载失败记录尝试次数 + 失败类型 + 错误摘要,连续失败 3 次冻结,需手动重试。
  • 挂载前依赖预检:检查候选插件 peerDependencies 是否安装、版本是否满足,不满足标记「依赖缺失」并给安装建议,不进入挂载。
  • 成功自动转正:挂载成功的插件进入持久化清单,后续启动自动恢复。
  • 运行中热挂载:运行期间往候选区加条目即自动挂载,无需重启。
  • 安全模式:一键跳过全部候选/已转正插件,快速救回被插件搞坏的环境。
  • 诊断面板:侧边栏「插件守护」页签(宿主原生扩展点)——状态列表 / 重试 / 移除 / 错误详情 / 失败分类徽标 / 安全模式开关 / 最近事件。

安装

💡 npm 安装(普通用户推荐):dsh plugin --profile web add dsh-my-guardian --trust-lockfile——无需克隆本仓库;依赖 dsh-shared 随 npm 自动安装。link 方式供本仓库开发者使用。

▼
sh
复制代码
git clone https://github.com/baosfeng/my-dsh-plugins.git dsh plugin --profile web add link:<仓库路径>/plugins/dsh-my-guardian

装完硬刷新浏览器(Cmd/Ctrl+Shift+R)。手动安装:在 profile 的 cordis.patch.yml insert 列表第一行加 id: guardian / name: 'dsh-my-guardian'——守护插件自己是看门狗,必须最先加载。

使用

候选区文件 ~/.dsh/profiles/web/cordis.staged.json(与 cordis.patch.yml 同目录),每项为 { id, name, config? }:id 唯一标识、name 插件包名(profile 内可解析)、config 可选配置。

▼
json
复制代码
[{ "id": "my-plugin", "name": "dsh-my-plugin", "config": { "option": 1 } }]

写入后自动挂载:成功则该条从候选文件移除(转正),失败则保留。面板状态:运行中(可移除)/ 待加载(安全模式等)/ 失败 ×N(重试或移除)/ 冻结(连续失败 3 次,重试解除冻结)。失败条目带失败类型徽标(依赖缺失 / 代码错误 / 其他),依赖缺失时附安装建议命令。

启动名册静态预检:直接写进 cordis.patch.yml / profile / bundles 的插件仍由 DSH 启动时 all-or-nothing 加载,守护每次启动对名册做静态预检(包可解析、peerDependencies 满足、无重复 entry id),问题写入 $DSH_HOME/guardian/startup-issues.json 并在面板「最近事件」置顶展示;预检只记录告警,不阻断启动。

配置

无应用层配置项(插件激活即生效)。运行时状态:$DSH_HOME/guardian/state.json 持久化候选/转正清单、失败次数、安全模式与事件日志(损坏自动降级为空状态);安全模式为面板开关,也可直接编辑 state.json 的 safeMode: true,开启后候选/已转正插件都不加载。

诚实的边界

  • 提供的是加载时序与失败处置的兜底隔离,不是进程级资源隔离(server 端插件仍在同一 Node 进程,client 端仍在同一浏览器页面)。
  • 启动阶段的正式核心区(cordis.patch.yml)仍遵循 all-or-nothing:新插件请先进候选区验证,稳定后再考虑放核心区。

相关文档

→ 插件治理概述

开发运行时

快捷安装

复制到终端去安装插件

dshplugin--profilewebaddgithub:baosfeng/my-dsh-plugins#path:/plugins/dsh-my-guardian

温馨提示

装插件等于在本机跑第三方代码,权限与你相同,能读文件、用凭据、访问网络,工具审批管不到。请只装可信来源,并尽量锁定 commit。

站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
dsh 插件推荐
dsh-simplify
提供 /simplify 命令,让 Agent 在选定的 Git 变更范围内简化代码,支持暂存变更、提交及未跟踪文件。
pi2dsh
Pi Host ABI 兼容引擎:装一次之后,npm 上的 Pi 扩展原包经 `dsh plugin add <pi-package>` 直接作为 DSH 原生插件挂载。已在官方 DSH 上端到端验证 pi-mcp-adapter(完整 MCP 管理面:OAuth、resources、prompts、MCP Apps、elicitation、sampling)、@tintinweb/pi-subagents、pi-code、pi-hermes-memory、pi-background-tasks;`pi2dsh inspect` 在安装前报告一个包的兼容情况。
fn-os-apps#dsh-fnos-plugin
把 DeepSeek Harness 接进飞牛 fnOS:DSH 界面跑在 fnOS 应用框架里时通过 fnOS 浏览器 SDK 工作——DSH 设为跟随系统时读取并跟随 NAS 主题,在设置里列出和取消已授权的 NAS 目录,把文件与链接交给对应的 fnOS 应用打开,并把 DSH 页面标题同步到 fnOS 应用窗口。npm 安装:`dsh plugin --profile web add @tnnevol/dsh-fnos`。
dsh-ballute
已装插件的崩溃防护:崩溃卡片一键停用、静态预检、黑匣子遥测,以及救援损坏 UI 的安全模式 profile。
dsh-task-effort
根据任务自动调整模型推理档位(off/low/high/max):任务分类判定、[effort=...] 显式标记、轮内出错升级、DeepSeek 高峰计价时段自动限档省钱并显示切换倒计时、GUI 手动选择优先。
🔥热门工具
朱雀AI检测朱雀AI检测
朱雀AI检测助手朱雀AI检测助手
LovartLovart
老鱼简历老鱼简历
WritePass官网WritePass官网
面多多面多多
CursorCursor
星月写作星月写作
零感AI零感AI
墨得问题墨得问题