dphmoblie/dsh-error-tell
dphmoblie★ 0JavaScript最后同步: 2026-08-19
一个尝试在dsh web 启动前检测其他可能导致崩溃插件并禁用的插件
README 摘要
dsh-error-tell DSH 插件自检/守护:在 dsh web 启动时检测其他插件的加载/激活问题,把问题插件 持久化禁用 (写入用户补丁层 disabled: true ),让 dsh web 正常打开,并提供隔离账本(quarantine)与一键恢复。 为什么需要它 DSH 的启动策略是 fail-loud: - 宿主侧 :任一插件 import/apply 失败会让 dsh web 进程直接退出( installFailLoud ),网页根本起不来; - 浏览器侧 : dsh-client-web 一次性 settle,任一客户端插件失败会让加载页停在 "Failed to load plugins",UI 不挂载。 同树的插件 救不了当次启动 (树已整体回滚)。所以本项目的形态是: 检测 → 落盘禁用 → 重启/刷新 ,而不是"启动时互救"。 功能特性 - 启动预检 (boot-guard):组合配置 → 静态检查(重复 id / 缺 name)→ import 干跑(子进程隔离)→ 发现问题直接禁用,坏插件根本不进启动流程; - 自动重启包装 : dsh web 失败后从 stderr 归因插件名 → 追加禁用 → 重启(限次 + 熔断,无法归因不循环); - 运行时看门狗 (runtime-guard bundle):捕获 apply/import 失败,在进程退出 之前同步 写账本 + 禁用,重启后生效; - 浏览器一键恢复 (client-tell):加载页自动注入「禁用并重载」按钮 + POST /api/error-tell/disable 端点,刷新即恢复; - 隔离账本 :每次禁用的行、包名、阶段、错误、来源均可审计; restore 一键回滚; - 防误杀 : maxDisable 熔断(默认 50)、自我禁用保护、CSRF 防护头、重启循环上限。 架构(三层) 详见 docs/architecture.md 与 docs/plan.md。 安装 方式一:本地仓库开发(推荐先体验) 方式二:作为 bundle 装入你的 profile 发布状态:三包已配置发布元数据( @dsh-error-tell/ ,v0.1.0,MIT);首次发布请先发 @dsh-error-tell/boot-guard ,再发 runtime-guard 与 client-tell (client-tell 依赖 workspace 协议, pnpm publish 自动转换为 registry 版本)。 使用 参数 参数 默认 说明 --profile web 要守护的 profile --patch - 附加 patch 覆盖层(可重复) --dry-run false 只检查并打印计划,不启动不落盘 --restart-limit 2 失败…
在 GitHub 查看完整 README →分类
DeepSeek Harness: Everything is a Plugin.
★ 182,325
amruthpillai/reactive-resumeA one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!
★ 41,477
anywhere-labs/deepseek-harness-desktop为 DeepSeek Harness (DSH) 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 17,784