DeepSeek Harness Hub
← 返回列表

Rex16200513/dsh-lifecycle-inspector

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

专为 DeepSeek HarnessDSH设计的生命周期诊断插件:看清每个插件管理了什么、发现异常 Fiber…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/14 · 已提供中文文档

DeepSeek Harness 插件、Cordis Effects 与拆卸清理的可视化生命周期诊断

综合分
30.5
GitHub 分
30.5
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Rex16200513/dsh-lifecycle-inspector
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-commands@deepseek-ai/dsh-tools
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DSH Lifecycle Inspector

专为 DeepSeek Harness(DSH)设计的生命周期诊断插件:看清每个插件管理了什么、发现异常 Fiber 状态,并确认 Cordis 管理的资源是否完成清理,无需阅读底层运行时输出。

English · DeepSeek Harness · 反馈问题

这是一个专为 DSH 构建的独立社区插件。它遵循 DSH 的插件优先架构,只观察现有 Cordis 生命周期,不修改 Agent Loop。

为什么需要它?

DSH 将注册项作为 Effect 管理,使它们可以随所属插件一起卸载。但插件加载失败、长期处于 Pending、卸载缓慢或疑似遗留资源时,仅靠底层输出很难判断实际情况。

Lifecycle Inspector 将这些内部状态转换成易读的可视化面板和诊断命令,帮助插件用户回答三个实际问题:

- 哪些插件正在运行、已停用或需要关注?
- 一个插件当前注册了哪些服务、事件监听器、命令、工具和子插件?
- Cordis 是否完成了其管理范围内的 Effect 清理,观测到的卸载用了多长时间?

功能

- 原生 DSH Web 面板:在设置 → 插件 → 生命周期中提供健康统计、搜索、仅看问题、刷新和可展开的 Effect 详情。
- 易读的生命周期报告:将底层 Effect 标签归类为服务、事件监听器、命令与工具、子插件和清理敏感资源。
- Fiber 健康信号:突出显示 Failed、Pending 和 Unloading 插件,并区分 Active、Disabled、Disposed 和 Unmounted 状态。
- 卸载观测:记录近期 Fiber 状态变化,并标记超过可配置阈值的清理过程。
- Agent 可调用诊断:除 /lifecycle 命令外,还提供只读的 lifecycle_inspect 工具。
- 自身也遵守生命周期:命令、工具、事件监听、HTTP 路由、本地化、样式和 UI 插槽均作为可撤销 Effect 注册。
- 双语界面与文档:跟随 DSH 当前语言,支持中文和英文。

安装

需要 DSH Web Profile,以及 Node.js ^22.19.0 || >=24.0.0。

dsh plugin --profile web add github:Rex16200513/dsh-lifecycle-inspector

安装后重启 DSH Web 进程,然后打开设置 → 插件 → 生命周期。

通过命令或 Agent 使用

/lifecycle list
/lifecycle list --verbose
/lifecycle inspect lifecycle-inspector
/lifecycle inspect  --verbose

/lifecycle list 返回简短的健康摘要。inspect 支持 Loader 路径、配置条目 ID、完整包名,以及省略 dsh- 前缀的包名。只有需要查看准确 Effect 标签时才添加 --verbose。

Agent 可以调用只读工具 lifecycle_inspect,并按需传入 plugin 参数。该工具只观察运行时状态,不会卸载或修改插件。

配置

仓库内置的 DSH Patch 使用以下默认配置安装插件:

- insert:
- id: lifecycle-inspector
name: dsh-lifecycle-inspector
config:
slowTeardownMs: 2000
historyLimit: 100

- slowTeardownMs:观测到的卸载时间超过该值时报告为缓慢。
- historyLimit:限制保存在内存中的 Fiber 状态变化数量。

诊断结果能证明什么?

Effect 树清空代表 Cordis 已完成该树中注册的所有 Disposer。它不能证明插件没有绕过 Cordis Effect 创建进程、定时器、Socket、Watcher 或其他资源。Lifecycle Inspector 会在用户报告和模型工具说明中明确展示这个限制,避免将正常结果误解为完整的外部资源审计。

外部资源探针适合作为后续扩展,但应保持为独立 Provider;核心检查器继续只读,并以 Cordis 的权威状态为依据。

为什么符合 DSH 架构?

Lifecycle Inspector 本身是插件,而不是对 DSH Agent Loop 的修改。它通过 DSH 和 Cordis 扩展点注册命令、工具、Web UI、HTTP 报告、本地化、生命周期事件和清理逻辑。因此它可以独立安装、卸载和演进,同时遵守并展示它所检查的 Effect 所有权规则。

参与贡献

欢迎通过 GitHub Issues反馈缺陷或提出聚焦的功能建议。报告生命周期问题时,请附上 DSH 版本、插件 ID、观测到的状态,以及相关资源是否通过 ctx.effect() 或 ctx.on() 注册。

MIT License。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群