🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

运行时看护 thissensen/dsh-harden

DeepSeek Harnessv0.0.1-preview.8
thissensen15 天前有提交已提供中文文档扫描:含敏感能力

DSH 运行时看护层:API 调用失败自动续接重试、工具调用失败被吞自动拉回、只输出思考的回合自动重试、新增对接…

30.7/100
综合分
1
GitHub 星标
275
npm 周下载
—/5
用户评分

数据截至 2026/10/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-harden
npm 源 · dsh-harden 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · dev
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功(非静态推断);本次验证针对插件 v0.0.3,当前版本为 v0.0.1-preview.8
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 15 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-harden @ 0.0.1-preview.8
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/16 04:11:49

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 10 处,展示前 10 条)
  • 请求外部主机github.com
    client/index.js:15
    Next step:`,"api.settingsNotReady":"Settings service is not ready; cannot write yet","api.bodyReadFailed":"Failed to read the request body: {p1}","api
  • 请求外部主机www.npmjs.com
    client/index.js:15
    Next step:`,"api.settingsNotReady":"Settings service is not ready; cannot write yet","api.bodyReadFailed":"Failed to read the request body: {p1}","api
  • 发起网络请求
    client/index.js:15
    Next step:`,"api.settingsNotReady":"Settings service is not ready; cannot write yet","api.bodyReadFailed":"Failed to read the request body: {p1}","api
  • 发起网络请求
    lib/api.js:247
    const response = await fetch(VERSION_ENDPOINT_URL, {
  • 读取本地文件
    lib/session-repair.js:73
    const 条目组 = await readdir(当前目录, { withFileTypes: true });
  • 读取本地文件
    lib/session-repair.js:103
    文件内容 = await readFile(文件路径);
  • 写入本地文件
    lib/session-repair.js:167
    await writeFile(临时路径, encodeSessionFile(解码结果.lines, 解码结果.frameLineCounts));
  • 写入本地文件
    lib/session-repair.js:168
    await rename(临时路径, 文件路径);
  • 删除本地文件
    lib/session-repair.js:173
    await rm(临时路径, { force: true });
  • 读取本地文件
    lib/session-repair.js:469
    if (existsSync(join(平台包目录, 必需包名)) === false)
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
涉及外部主机:github.com、www.npmjs.com

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-compaction@deepseek-ai/dsh-jobs@deepseek-ai/dsh-llm@deepseek-ai/dsh-sandbox@deepseek-ai/dsh-settings@deepseek-ai/dsh-shell@deepseek-ai/dsh-tools@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • API调用失败自动重试
  • 工具调用失败自动拉回
  • 一键修复异常会话日志
展开完整介绍(109 字)↓

DSH 运行时看护层:API 调用失败自动续接重试、工具调用失败被吞自动拉回、只输出思考的回合自动重试、新增对接 pwsh 的后台 job 工具、一键修复异常会话日志、区分子Agent并且可自定义内容的上下文自动压缩。

v0.0.32026-10-26
1. 新增「检查更新」按钮 2. 新增「突破 PTC 120 秒限制」开关:打开后 PTC 模式 run_code 程序的默认预算从 120 秒抬到平台计时器上限(约 24.8 天),主代理与子代理都生效,关掉开关或卸载插件立即恢复成 120 秒。
v0.0.22026-10-17
适配 DSH 0.2.1-alpha.5,设置页的配置可以正常读写了。 修复第三方路由下工具调用失败被吞、以及会话修正提示重启后消失的问题。
v0.0.1-preview.42026-09-29
新增 · 上下文自动压缩:会话涨到阈值即把较早一段历史浓缩成摘要,界面沿用平台自带的「上下文已压缩」提示 · 压缩方案可自定义:总开关、压缩范围(全部压缩 / 仅主代理 / 仅子代理)、触发阈值(200K、1M、100000 都认)、摘要指令都能在设置页调整 优化 · 设置页字段行统一为「标签居左、控件定宽靠右」,同一张卡片内各行的右缘一律对齐 · 代码架构整理 移除 · 移除「打开文件夹接管」:官方已在 DSH v0.2.0-rc.1 修复 explorer 窗口不可见的问题,插件不再接管这一能力
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-harden DSH 运行时看护层 —— 让任何一次停止都有明确原因 English · GitHub 插件用途 1. API 因特殊原因调用失败后,可续接并自动重试 2. 工具调用失败被吞,导致会话莫名结束(需在设置页填「失败提示前缀」,否则本条不生效) 3. 第三方 API 经常出现的:只输出思考直接中断,插件会自动重试 4. 创建对接 pwsh 的后台 job 工具,解决只用 gitbash 无法创建超 120 秒的后台任务 5. 一键修复异常会话日志 6. 上下文自动压缩 —— 会话涨到阈值自动把老历史压成摘要,界面沿用平台自带提示;压缩范围另有下拉框三档可选(全部压缩 / 仅主代理 / 仅子代理,默认全部压缩) 7. 子代理通知聚合 —— 多个子代理并行结束时不再逐个唤醒主代理:中间通知先压住,全部结束后合并成一条统一送达(默认关闭,可在设置页打开) 8. 子代理会话异常自动修复 —— 解决子代理运行过程中莫名的会话无法打开情况;平台写出的重试事件不合规时,在落盘前先修正,修正发生时回合尾部显示一行浅色提示(常驻开启,没有开关)。
展开完整文档(README 剩余 1 节)
dsh-harden

DSH 运行时看护层 —— 让任何一次停止都有明确原因

English · GitHub

插件用途

1. API 因特殊原因调用失败后,可续接并自动重试

2. 工具调用失败被吞,导致会话莫名结束(需在设置页填「失败提示前缀」,否则本条不生效)

3. 第三方 API 经常出现的:只输出思考直接中断,插件会自动重试

4. 创建对接 pwsh 的后台 job 工具,解决只用 gitbash 无法创建超 120 秒的后台任务

5. 一键修复异常会话日志

6. 上下文自动压缩 —— 会话涨到阈值自动把老历史压成摘要,界面沿用平台自带提示;压缩范围另有下拉框三档可选(全部压缩 / 仅主代理 / 仅子代理,默认全部压缩)

7. 子代理通知聚合 —— 多个子代理并行结束时不再逐个唤醒主代理:中间通知先压住,全部结束后合并成一条统一送达(默认关闭,可在设置页打开)

8. 子代理会话异常自动修复 —— 解决子代理运行过程中莫名的会话无法打开情况;平台写出的重试事件不合规时,在落盘前先修正,修正发生时回合尾部显示一行浅色提示(常驻开启,没有开关)。修正痕迹同时写进会话日志,重启后这行提示仍然显示

问题截图

会话日志被写坏后,平台会直接报错、整段历史再也打不开;插件在设置页提供一键扫描并修复:

工具调用失败被吞时,插件自动提示模型重新发起,回合不会莫名结束:

模型只输出思考、没有正文就收尾时,插件自动提示模型补充正文,回合不会莫名结束:

插件截图

安装

三条路选一条,装完还必须把插件注册到 profile —— 这一步是必须的(见下一节)。

1. 从 npm 安装

npm install dsh-harden

2. 从 GitHub Releases 下载

到 Releases 下载 dsh-harden-<版本>.tgz:

dsh plugin --profile web add file:<tgz 文件的绝对路径>

3. 从源码构建

git clone https://github.com/thissensen/dsh-harden.git
cd dsh-harden
pnpm install
node scripts/link-deps.mjs # 把宿主包链进本项目的 node_modules
pnpm build # tsc(host)+ vite(client)

首次构建必须在启动 DSH 之前完成(client 壳受启动快照约束)。

注册到 profile

上面三条路只是把文件放到位置,还得把 dsh-harden 注册进 profile,DSH 启动时才会加载它。

桌面端:手动改 ~/.dsh/profiles/desktop/package.json 的两个地方:

1. 在 dependencies 里加 "dsh-harden": "link:<克隆目录>/dsh-harden"(从 npm 装的用版本范围);
2. 在 dsh.profile.bundles 数组里加 "dsh-harden"。

然后在该目录跑 pnpm install,并重启桌面端(client 壳受启动快照约束)。

Web 端:一条 CLI 命令

dsh plugin --profile web add link:<克隆目录的绝对路径>

设置页

设置页在「DSH优化」分区下,共 八张卡:

| 卡片 | 说明 |
| 工具调用失败续跑 | 开关。工具调用失败被吞、框架仍把回合当作正常结束时,注入一条提示让模型重新发起。另有 失败提示前缀:只填平台警告的固定开头,整段匹配开头(不拆行)、区分大小写;前缀以 < 开头时,正文里成对出现该标记(开+闭)也算失败。默认空 —— 留空则规则 H1 不生效。 例:⚠ Could not execute tool。 |
| 回合无正文收尾 | 开关。最后一步只有思考、既没有回复也没有工具调用的回合,会被拉回再走一步。 |
| 网络请求中断续跑 | 开关 + 网络重试次数(官方重试耗尽后最多再补几次,0–99;填 0 表示不兜底)+ 触发重试的失败特征(错误码 SERVER / RATE_LIMIT / TIMEOUT / TRANSPORT 与 HTTP 状态码 502 / 429;留空表示不重试任何失败)。 |
| 上下文自动压缩 | 开关 + 压缩范围(下拉框:全部压缩 / 仅主代理 / 仅子代理,默认全部压缩)+ 触发阈值(如 200K / 1M / 100000;插件默认为 200K)+ 摘要指令(生成摘要时发给模型的指令)。会话超过阈值后,较早的一段历史被浓缩成摘要,并沿用平台自带的「上下文已压缩」提示。 |
| 后台任务工具 | 开关。开启后模型可以用 job_background 起后台命令,再用 job_list / job_output / job_kill 管理;关闭后该工具消失。 |
| 子代理通知聚合 | 开关,默认关闭。多个子代理并行结束时,中间通知先压住,全部结束后合并成一条统一送达,不再逐个唤醒模型。 |
| 子代理会话异常自动修复 | 没有开关,常驻开启。 平台即将写入不合规的重试事件时,插件在落盘前先修正,会话因此不会变得打不开;修正发生时回合尾部显示一行浅色提示,修正痕迹写进会话日志,重启后仍然显示。 |
| 修复损坏会话 | 扫描按钮。扫描全部会话日志并修复已知的损坏形态,让打不开的历史重新可用。 |

⚠️ 最要紧的一条:「失败提示前缀」默认为空,装完不填,规则 H1 就不生效。 请打开设置页,把你的平台警告原文的固定开头粘进去(例:⚠ Could not execute tool)。

设置页截图取自旧版本面板,与当前卡片文案不完全一致,以实际界面为准。

开发

pnpm install
node scripts/link-deps.mjs # 把宿主包链进本项目的 node_modules
pnpm build # tsc(host)+ vite(client)
pnpm typecheck # 只做类型检查
pnpm test # vitest,226 例

许可

MIT
预览分享卡片长什么样 ↓thissensen/dsh-harden
分享 · DeepSeek Harness Hub
thissensen/dsh-harden

DSH 运行时看护层:API 调用失败自动续接重试、工具调用失败被吞自动拉回、只输出思考的回合自动重试、新增对接…

回到顶部