dsh-plugin-debugging

DSH PLUGIN模型与账号接入

仓库 dsh-plugin-lab/dsh-plugin-debugging

模型与账号接入 L4 · 沙盒安装通过 安全审查:低风险 可信度:银 可安装插件
安装这个插件

DSH 插件排障工具箱。让 Agent 自检自修身处的运行时。

一句话选型结论

按资料字段整理

dsh-plugin-debugging 是模型与账号接入类的 DSH 可安装插件,验证等级 L4 · 沙盒安装通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类模型与账号接入 收录类型可安装插件 验证等级L4 · 沙盒安装通过 安全审查低风险
验证等级 L4 L4 · 沙盒安装通过
GitHub 星标 7 复刻 1 · 未关闭 issue 1
最近更新 2026-10-21 创建于 2026-10-12
README 12.2 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:dsh-plugin-lab/dsh-plugin-debugging
  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 查看包信息

能做什么

模型与账号接入
字段来自项目仓库与公开索引,中文说明由本站标注

上游标签

agent-harnessaiai-agentdebuggingdeepseekdeepseek-harnessdeveloper-toolsdshdsh-plugindsh-skillplugintroubleshootingtypescript

验证等级与安全审查

L4 · 沙盒安装通过
自动化流程结论,不是人工审核
验证等级L4 · 沙盒安装通过安装命令在隔离沙盒内真实执行成功,无依赖错误
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度银综合仓库活跃度与验证结果

选择建议

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

值得选的地方

  • 验证等级 L4:在沙盒里真实装过,依赖能装上,不是纸面声明。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在模型与账号接入场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

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

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-plugin-debugging当前 L4 · 沙盒安装通过 低风险 7 未标注 有
archify L4 · 沙盒安装通过 低风险 8.0 万 未标注 有
DeepSeek-Reasonix L4 · 沙盒安装通过 低风险 3.6 万 未标注 有
nocobase L3 · 安装规范通过 低风险 2.5 万 0.1.1-rc.2 无
learn-harness-engineering L4 · 沙盒安装通过 低风险 2.0 万 未标注 有
dsh-our-free-model 未做沙盒验证 未标注 8,064 未标注 无

仓库档案

模型与账号接入
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方dsh-plugin-lab仓库 dsh-plugin-debugging · 默认分支 main
分类模型与账号接入ai
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue7 / 1 / 1收录时的数值,非实时
创建 / 更新2026-10-12 · 2026-10-21最后推送 2026-10-20
本站收录2026-10-30首次进入本站目录的时间

README 全文

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

dsh-plugin-debugging

让 DSH agent 自检自修它身处的运行时
Let your DSH agent inspect and fix its own runtime

<!-- SLSA 徽章能不能挂,判据见 docs/PUBLISHING.md(对具体版本查 attestations 端点;别凭印象挂)。 -->

各版本改动 → Releases

简体中文 · English


你改了个东西,发现没生效?在 DSH 里,这通常有三种原因:

  • 配置:每次修改都会被重新读取,改完就生效。前提是 profile 里已挂载 hmr;没有 hmr 时,一切改动退化为需要重启。
  • 宿主代码:进程只在启动时加载一次,改了必须重启。
  • 前端资源:浏览器按指纹换资源,改完需要热重载或刷新。

这个插件让 agent(智能体)自己判断你遇到的是哪一种,并给出下一步。

它做什么

装上之后,agent 多了一组工具和一份 skill(技能)文档,skill 按需加载,用斜杠命令调用。

工具

只读 —— 它们不改变宿主上的任何状态。

工具 参数 做什么 Web Desktop
dsh_list_instances port 列出本机正在运行的 DSH 宿主。只有未认证的 GET / 返回完全相同的 DSH 响应体时,才认定为 DSH。“探不到”和“不是 DSH”分开报告。 ✓ ✓
dsh_check_auth host、port 区分“没在运行”和“没通过认证”。 ✓ ✓
dsh_diagnose_plugin_load package、port、dshHome 查一个插件到底加载没有:bundle 归属、挂载形态、loader 树,并区分实测证据和推断证据。 ✓ ✓
dsh_check_effect_mode change:config / bundle-added / host-code / client-code,alreadyInDependencies、dshHome 判断一个改动是实时生效、需要重启,还是热重载。在正在运行的 profile 上实际探测。 ✓ ✗
dsh_dump_config profile、dshHome 展示一个 profile 最终解析成什么:组合树,以及解释它的诊断信息。 ✓ ✗
dsh_sign_cookie host、port、maxAgeDays、dshHome 签一个浏览器会话 cookie,让脚本或命令行客户端访问你自己的 DSH 实例。 ✓ ✓

会改变状态 —— 前两个会替换代码,或者结束你正在排障的那个宿主。

工具 参数 做什么 Web Desktop
dsh_hot_reload entryId / module / serverName 三者取其一,外加 dryRun 把一个已挂载的 entry 替换成磁盘上的最新代码,不重启;失败自动回滚。 ✓ ✓
dsh_restart reason,delayMs、dryRun、force 当改动确实需要重启时,重启当前宿主。默认关闭。 ✓ ✗

行的顺序就是使用顺序,所以两张表只按一条线分开:是否改变状态。最后一列是按载体的可用性,原因见平台支持。

三个容易踩的坑:

  • dsh_check_auth 的 401 不代表会话过期。 不带 cookie 的请求永远得到 401,所以 auth probe 的 401 只证明服务在运行且要求认证。要区分“会话还有效”和“authority 不对”,只能用浏览器打开那个 host:port。同一端口重启后旧 cookie 仍然有效;端口变了才会 401。
  • dsh_hot_reload 可能留下泄漏。 框架未跟踪的资源(比如 timer 或 socket)在 swap 后会静默泄漏。
  • dsh_restart 的行为见下文专节。

背后的 skill 文档

skill 文档在 skills/dsh-plugin-debugging/SKILL.md,里面写了安装方式、凭证获取、进程识别和隔离实例的完整推理。

工具只是加速器;如果工具输出和这份 skill 文档冲突,以 skill 文档为准。

安装

通过插件页安装:

进入 插件 页,点右上角 添加插件,填入 dsh-plugin-debugging,安装。

通过 npm 安装:

dsh plugin --profile web add dsh-plugin-debugging

从源码安装:

git clone https://github.com/dsh-plugin-lab/dsh-plugin-debugging.git
cd dsh-plugin-debugging
pnpm install &amp;&amp; pnpm run build
dsh plugin --profile web add &quot;$PWD&quot;

注意事项:

  • 不要跳过 pnpm install:如果用 link: 安装,依赖来自仓库本身;跳过这一步,插件会显示未运行,并报 ERR_MODULE_NOT_FOUND。
  • 重启生效:安装后需要重启 dsh --profile web。
  • link: 与 dsh.bundle 是两件事:link: 只决定改源码要不要重装;patch 层是否应用,取决于包是否声明了 dsh.bundle。

环境要求:

Node &gt;= 20,以及 DSH 版本满足 package.json 中的范围。

维护规则:

profile 的 dependency 和 bundle list 由 dsh plugin add 管理,不要手改。不要在 $DSH_HOME 下创建包,也不要在 profile 目录里跑包管理器。

安全与边界

除 dsh_restart 外,这些工具不会重启进程、不会改写 profile、不会写入宿主数据。这条规则由测试保证:只要有写操作指向宿主数据路径(profiles / sessions / storages / logs / cache / attachments / backups / integrations / mcp / settings.yaml / .credentials.yaml …),或者把 DSH_HOME 本身当作目标,pnpm run test 就会失败。

唯一的写入例外是本插件自己的命名空间 $DSH_HOME/&lt;包名&gt;/:只允许 $DSH_HOME 下第一层目录名恰好等于包名,再往下的路径不受限制。

各自会碰什么:

  • 只读,不发请求:dsh_check_effect_mode、dsh_diagnose_plugin_load、dsh_dump_config。只读实例已有的文件,不产生凭据。
  • 只读,会发 HTTP:dsh_check_auth 连接你指定的 host:port;dsh_list_instances 只探测 loopback 端口。两者都不发凭据。
  • 只动运行中的模块树:dsh_hot_reload,不杀进程。
  • 读本地签名密钥:dsh_sign_cookie,为你自己的实例签一个 cookie。不发请求,cookie 的值刻意不返回。
  • 结束宿主:dsh_restart,这里唯一不可逆的动作。

dsh_restart

dsh_restart 是唯一不可逆的动作:它会让宿主退出,也就是你正在排障的那个。它默认关闭,跑起来要连过三道门槛:

  1. 四道检查:是否陷入重启循环、是否有其他会话或作业在忙、bundle 表是否可读、启动命令能否确定。force 只能覆盖“会话在忙”这一道,另外三道绕不过。
  2. 一道独立的审批检查:先读取审批策略,只有策略是 ask 时才询问。never 表示提示已关闭,在 never 下询问必然被拒,所以必须先读策略再决定是否询问。
  3. 写 marker 前的独立检查:本插件自己的命名空间不在默认文件沙箱内,所以这次写入会显式使用 danger-full-access。

三道的结果都会写进工具输出。 dryRun 会跑完所有门槛,但不写任何东西。

> [!IMPORTANT]
> 仅在 Windows 上,且宿主由 Web 进程拉起时可用。 桌面端里它在写任何东西之前就拒绝:从托盘退出再启动即可。

重启后会发生什么:

  • 新宿主读取 marker,重新唤醒之前列出的每一个会话,并在每个会话里留一条说明。
  • 这条说明是一份回顾,不是「请继续」:什么时候请求的重启、宿主停了多久、marker 最后怎么了。
  • 你写的 reason 只出现在你发起重启的那个会话里;其他会话拿到同样的回顾,但看不到它。

平台支持

按端口识别监听进程在设计上跨平台;目前只在 Windows 上做过真机实测。具体行为:

  • 找不到可用命令时:报告“无法检查”,而不是“没有监听者”。这两个结论正好相反。
  • 弱兜底命令:可能发现“有人在监听”,但说不出是哪个进程;这种情况记为“未识别”,而不是报告“没有监听者”。

其余能力与平台无关。dsh_restart 需要 Windows,并且宿主由 Web 进程拉起 —— 桌面端里宿主是 Electron 壳的子进程,插件侧没有能重启那个壳的通道。如果你能在 Linux 或 macOS 上试一次真机重启,欢迎到 #44 说一声 —— 那个缺口正是这个 issue 留着的原因。

配置

字段

这些字段用于配置 profile 组合中的本插件。其中 enableRestart 在 插件 页的本插件卡片上也有一个开关。

字段 默认 含义
enableRestart false 是否允许运行 dsh_restart。立即生效,无需重启宿主。
dshHome $DSH_HOME 或 /.dsh 实例存放 profiles、日志和凭据的目录。
profile $DSH_PROFILE 或默认 profile 工具要检查哪个 profile。
port 0 要探测的宿主端口;0 表示自动寻找监听端口。
timeoutMs 60000 快速操作的超时预算:读文件、运行命令,或发一次 HTTP 探测。
schemaDumpTimeoutMs 240000 运行 --dump-config-schema 的超时预算(实测 10.2–15.7 秒;高负载 32 秒)。

这两个预算怎么算出来的,以及为什么传输层必须先于宿主的工具时限超时 → docs/ARCHITECTURE.md §5.1。

调试另一个实例

什么时候需要它: 你正在调试一个实例,但证据在另一个上 —— 另一个 profile,或另一个 DSH_HOME。

哪些工具收 dshHome: dsh_dump_config、dsh_check_effect_mode、dsh_diagnose_plugin_load、dsh_sign_cookie。路径解析和它启动的 dsh 子进程都会使用你传入的 home;输出会写明实际读取的是哪一个(dshHomeSource: tool-argument)。参数传入的值绝不会被悄悄写成配置默认值。

哪些不收,为什么:

  • dsh_check_auth:它回答的是某个 host:port 的认证状态,本身已经有 host / port。
  • dsh_list_instances:它只做发现,能给出的只是一个 host:port。
  • dsh_hot_reload:它替换的是当前进程内存里的模块,无法跨到另一个实例。
  • dsh_restart:它杀掉的就是自己所在的宿主,不存在可以指向的“另一个实例”。

一个坑: 发现类工具只能给出 host:port,无法推导出对应的 DSH_HOME;所以 dshHome 需要你自己传。相应地,dsh_diagnose_plugin_load 会把答案分成两部分:磁盘证据来自你传入的 home,loader 树部分只反映当前进程。

许可证

MIT。

贡献

问题与需求请走仓库 Issues。

维护者文档地图 → AGENTS.md。

常见问题

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

在 DSH 里执行 `dsh plugin --profile web add github:dsh-plugin-lab/dsh-plugin-debugging` 即可。

dsh-plugin-debugging 的验证等级是什么意思?

L4 · 沙盒安装通过。安装命令在隔离沙盒内真实执行成功,无依赖错误

dsh-plugin-debugging 安全吗?

低风险。

dsh-plugin-debugging 装之前要先确认什么?

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

dsh-plugin-debugging 用的是什么许可证?

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

这条记录的数据可靠吗?

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

模型与账号接入
按星标排序,可作替代方案

archify

archify

从仓库或系统描述生成经过校验的自包含交互式架构图、流程图、时序图、数据流图和生命周期图。

L4 · 沙盒安装通过 8.0 万 星

nocobase

nocobase

L3 · 安装规范通过 2.5 万 星

dsh-our-free-model

dsh-our-free-model

为 DeepSeek Harness 挂载免登录、免 API Key 的免费前沿模型通道,装完即用,并附用量看板与 OpenAI 兼容本地转

未标注验证等级 8,064 星

dsh-purge

dsh-purge

dsh-purge 是一款 DeepSeek Harness 设置插件,可修改默认副本、权限策略和工具限制,并添加规则卡片以分组应用补丁,支

L5 · 运行验证通过 4,573 星

dsh-plugin-lab 的其它插件

5 个

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