dsh-phoenix(不死鸟):插件故障时保住 DSH 与配置

前言

DeepSeek Harness(DSH)采用「一切皆插件」的架构,装得越多,未捕获异常、插件冲突或一行代码写错导致进程退出的概率就越高。默认情况下,一次插件故障可能让整个界面打不开、堆栈难读,或只能禁用全部第三方插件并备份配置后重来——模型、接口地址、密钥与正常插件的配置一并受损。

dsh-phoenix(社区称「不死鸟」)面向这类兜底场景:在插件引发故障时尽量拦住进程退出、归因到具体插件,并只隔离肇事插件,不动供应商与其它插件。下面介绍它的定位、能力与安装方式;事实以 GitHub 仓库 README 为准。

这是什么

dsh-phoenix 由维护者 KDreamelf 发布,在 SkillHub 目录中归类为工作流。简介为:Keep DSH alive through plugin faults: attribute the crash, quarantine only the culprit row, leave providers untouched.

一句话:DSH 因某个插件崩溃或卡死时,用可归因的隔离与「复活模式」让你仍能开新会话、让 AI 协助排查,而不是把整个 profile 赔进去。

核心功能

判断依据只有两条:进程是否即将退出,以及能否指向是哪个插件。对应三种情形,应对不同。

进程将退出且能归因到插件

DSH 未捕获异常默认会直接退出。不死鸟会拦截退出,展示崩溃页,说明插件名称、图标、版本、安装位置与用途,以及完整错误细节,并提供三个选项:

选项 含义
给个机会 撤销对该插件的临时停用并重启,验证是否偶发
停职 保持禁用该插件,其它不变后重启
开除 保持禁用,并在下次启动后彻底卸载该插件

为渲染崩溃页,肇事插件在捕获时会被临时停用(写在 home 层,不改 profile);「给个机会」即撤销该临时停用。重启后 DSH 以新进程继续运行;模型、接口与其它插件不被修改。

进程将退出但无法归因

栈中无插件信息时不猜测、不乱禁,提供:

选项 含义
再试一次 重启,看是否恢复
进入复活模式(让 AI 查) 本次启动不加载第三方插件,进入后将原始报错交给 AI 反查

进程仍存活但无法对话

界面在但发不出消息、建不了新会话时,不死鸟用对话框展示原文报错,并提供「再试一次」(刷新)与「进入复活模式」。

复活模式

相当于一次性的安全启动:不改 profile 与设置,关闭重开即回到正常加载;不修改你在设置里配置的供应商(接口、密钥、模型列表);不禁用不死鸟自身;仅不加载第三方插件,官方组件照常。若某供应商由插件在运行时注册,插件停用后该供应商会随插件退场,与设置里静态配置的供应商不是同一类。

标准流程:出事 → 对话框展示原错 → 选「进入复活模式」→ 正常对话并请 AI 查插件 → 处理完毕后关闭重开恢复正常。是否进入复活模式由用户点击决定,避免误判消耗 token。

能力与边界

  • 安装后无需配置,平时不弹窗、不占用正常使用。
  • 进程被系统直接杀掉、故障发生在任何插件加载之前、或配置文件本身无法解析时,JS 层无法兜底;桌面版(Desktop)点复活模式时需手动关闭再打开应用,CLI 不能替桌面版另开窗口。
  • 除捕获肇事插件时的临时停用(页面上会说明,可用「给个机会」撤销)外,不自动改配置、不自动卸载。

不确定选哪个时,README 建议选「停职」。恢复隔离可执行:

dsh-phoenix restore --all

安装与启用

CLI 安装(将 <你的 profile 名> 换成实际 profile):

dsh plugin --profile <你的 profile 名> add github:KDreamelf/dsh-phoenix

桌面端的 profile 由应用管理,需在应用内插件管理界面安装,命令行不能直接改该 profile。

装完重启一次 DSH 生效。package.json 标明依赖 Node >=20、DSH >=0.2.0;当前插件版本为 0.1.0,许可证 MIT。

典型用法

  1. 将不死鸟作为常驻兜底插件安装并重启,日常无需操作。
  2. 若出现崩溃页或拦截对话框,根据是否已归因选择「停职」「给个机会」「开除」,或「再试一次 / 进入复活模式」。
  3. 在复活模式中把报错与现象描述给 AI,定位冲突或问题插件后,在 profile 中禁用或卸载,再正常重启。
  4. 误隔离或需批量恢复时:
dsh-phoenix restore --all

更细的机制与自测步骤见仓库内 docs/how-it-works.md、docs/verification.md。

适用场景与注意

适合:刚接触 DSH、希望少碰底层异常的人;以及熟悉 fail-loud、希望故障可归因、可撤销、可审计(判断写入日志、隔离可命令撤回)的进阶用户。

注意:插件与 DSH 同进程权限运行,安装前应阅读源码与 MIT 许可证,确认接受其 home 层临时停用与隔离行为。社区目录 SkillHub 插件页 与 GitHub 为独立生态信息源,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-phoenix 的价值在于:插件坏了不必让整个 DSH 与配置一起坏掉——能指认就只动那一行,指认不了仍保留带供应商的复活会话。目录与源码:

  • https://www.skillhub.cn/plugins/KDreamelf/dsh-phoenix
  • https://github.com/KDreamelf/dsh-phoenix
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜