排空任务后重启后端,自动恢复原会话与页面
27.2/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/Asteroid0449/dsh-restart-resume.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 74 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 15 处,展示前 15 条)
- 读取本地文件lib/index.js:72
return JSON.parse(readFileSync(path, 'utf8')) - 读取本地文件lib/index.js:111
if (!existsSync(path)) return undefined - 读取本地文件lib/index.js:116
if (!existsSync(path)) return [] - 写入本地文件lib/index.js:126
mkdirSync(dirname(path), { recursive: true }) - 读取本地文件lib/index.js:127
if (existsSync(path)) throw new Error(`a restart request is already pending at ${path}`) - 写入本地文件lib/index.js:130
writeFileSync(temporary, `${json(value)}\n`, { encoding: 'utf8', flag: 'wx', mode: 0o600 }) - 读取本地文件lib/index.js:131
if (existsSync(path)) throw new Error(`a restart request is already pending at ${path}`) - 写入本地文件lib/index.js:132
renameSync(temporary, path) - 读取本地文件lib/index.js:134
if (existsSync(temporary)) rmSync(temporary, { force: true }) - 删除本地文件lib/index.js:134
if (existsSync(temporary)) rmSync(temporary, { force: true }) - 写入本地文件lib/index.js:139
mkdirSync(dirname(path), { recursive: true }) - 写入本地文件lib/index.js:140
writeFileSync(path, `${json(history)}\n`, { encoding: 'utf8', mode: 0o600 }) - 删除本地文件lib/index.js:145
if (readMarker(path)?.token === token) rmSync(path, { force: true }) - 发起网络请求lib/client.js:98
await fetch(`${API}/cancel`, { - 发起网络请求lib/client.js:230
const response = await fetch(`${API}/status`, { cache: 'no-store' })
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 排空任务后重启后端
- 自动恢复原会话
- 自动恢复原页面
面向 DeepSeek Harness 的安全自重启与同会话续接插件。
README
由 DeepSeek 最新模型翻译生成dsh-restart-resume
License: MIT
Node.js >= 22.19
DSH >= 0.1.0-rc.8
Status: developer preview
面向 DeepSeek Harness rc8+ 的安全自重启与同会话续接:等待工作排空、展示真实状态、由外部监督器重新拉起后端,并在续接落盘后自动恢复 Web 页面。
必要前提: DSH 必须由理解退出码 75 的监督器启动。插件不能凭空重新拉起已经退出的进程;没有监督器时,dsh_restart 会拒绝执行。
30 秒快速开始
要求:Node.js 22.19+、DeepSeek Harness 0.1.0-rc.8+。
从 Releases 下载压缩包后安装到 Web profile:
dsh plugin --profile web add .\dsh-restart-resume-0.2.2.tgz
随后按 监督器契约与示例 配置启动器,并通过监督器重新启动 DSH。普通的 dsh web 不满足自动拉起条件。
首次验证可以告诉 Agent:
查询自重启状态。只有监督器、bootId 和运行版本都可验证时,安排一次 report-only 测试重启;不要要求我手动刷新页面。
普通用户会看到什么
- 重启请求先进入等待排空状态,不会强杀会话、子代理或后台任务。
展开完整文档(README 剩余 1 节)
dsh-restart-resume License: MIT Node.js >= 22.19 DSH >= 0.1.0-rc.8 Status: developer preview 面向 DeepSeek Harness rc8+ 的安全自重启与同会话续接:等待工作排空、展示真实状态、由外部监督器重新拉起后端,并在续接落盘后自动恢复 Web 页面。 必要前提: DSH 必须由理解退出码 75 的监督器启动。插件不能凭空重新拉起已经退出的进程;没有监督器时,dsh_restart 会拒绝执行。 30 秒快速开始 要求:Node.js 22.19+、DeepSeek Harness 0.1.0-rc.8+。 从 Releases 下载压缩包后安装到 Web profile: dsh plugin --profile web add .\dsh-restart-resume-0.2.2.tgz 随后按 监督器契约与示例 配置启动器,并通过监督器重新启动 DSH。普通的 dsh web 不满足自动拉起条件。 首次验证可以告诉 Agent: 查询自重启状态。只有监督器、bootId 和运行版本都可验证时,安排一次 report-only 测试重启;不要要求我手动刷新页面。 普通用户会看到什么 - 重启请求先进入等待排空状态,不会强杀会话、子代理或后台任务。 - 最终倒计时只在已经排空时出现;期间出现新工作会退回等待状态。 - 后端断联期间状态条明确显示“启动暂不可观测”,不会提前宣称成功。 - 新 bootId 证明新的后端实例已经应答。 - 原会话的续接消息持久化后,Web 自动重连并刷新。 - 点击“取消重启”后,终止状态会短暂确认并彻底移除,不持续闪烁。 - 启动或续接失败会显示失败状态,不会伪装成“重启完成”。 三项固定工具 | 工具 | 用途 | 是否写入 | | dsh_restart | 安排受监督重启,默认把它视为原任务中的检查点并在同会话继续 | 是:写入持久化 marker,并最终请求退出 | | dsh_restart_status | 查询阶段、倒计时、阻塞项、bootId 和稳定工具面摘要 | 否 | | dsh_restart_cancel | 取消尚未退出的重启请求并清理状态 | 是:取消 marker | 三个工具始终以相同顺序和 schema 注册;状态变化不会改变模型请求的工具前缀。 状态流程 stateDiagram-v2 [] --> scheduled: 用户授权 scheduled --> draining: 到达计划时间 draining --> countdown: 会话、子代理和 jobs 已排空 draining --> timed_out: 排空超时 scheduled --> cancelled: 取消 draining --> cancelled: 取消 countdown --> draining: 出现新工作 countdown --> exiting: 倒计时结束 exiting --> booted: 新 bootId 被观测 booted --> resuming: 找到原会话 resuming --> resumed: 续接已持久化 resumed --> []: Web 自动刷新 timed_out --> [] cancelled --> [] exiting --> failed: 启动或续接不可验证 failed --> [*] 安全行为 - 默认等待全部活跃会话、已发布子代理和后台 jobs 排空。 - 排空超时只取消重启,不强杀工作;单次工具调用最短等待 5 分钟。 - 最终倒计时默认 10 秒、最短 5 秒。 - 只用退出码 75 请求自动拉起;普通退出和崩溃不能形成重启循环。 - 原子 marker、有效期、频率限制和幂等消息避免重复续接与重启环路。 - resumeMode: "continue" 会继续原始任务中尚未完成的配置、验证和交付;只有独立测试才使用 report-only。 - 续接契约明确规定 Web 自动恢复。只有实际检查证明页面仍旧时,Agent 才应建议手动刷新。 监督器契约 启动器必须在每次拉起进程前设置: DSH_RESTART_SUPERVISOR=1 DSH_BOOT_ID= DSH_RUNTIME_VERSION= 它必须只在退出码 75 时重新拉起,并限制短时间内的重启次数。完整的 PowerShell 示例、退出语义和验收清单位于 docs/SUPERVISOR.md。 配置 | 配置项 | 默认值 | 范围/作用 | | defaultDelaySeconds | 10 | 5–3600,进入排空前的计划延迟 | | drainTimeoutSeconds | 1800 | 300–86400,等待工作排空的上限 | | finalCountdownSeconds | 10 | 5–300,退出前的最终倒计时 | | pollIntervalMs | 250 | 100–2000,状态检查间隔 | | maxRestarts / restartWindowSeconds | 见 patch | 重启频率上限 | | resumeTtlSeconds | 86400 | 待续接 marker 有效期 | | resumePrompt | 内置安全提示 | 追加到原会话的固定续接文本 | 单次 dsh_restart 可设置 delaySeconds、maxWaitSeconds、resumeMode 和 afterRestart,但不能突破安全下限。 上下文与缓存插件不注入 system prompt。动态重启状态只在显式工具结果中出现,Web 状态条完全位于浏览器展示层,不进入模型上下文。升级前后可序列化三项工具的 name、description 和 parameters 并比较 SHA-256;相同版本和配置下应保持一致。 常见问题 | 现象 | 原因与处理 | | restart supervisor is not active | 当前进程不是由合规监督器启动;按监督器文档重新启动 | | DSH_BOOT_ID 无效或没有变化 | 监督器没有为每次进程生成新标识;修复后再测试 | | 取消后状态条仍出现 | 先调用 dsh_restart_status 确认已取消;若终止状态超过短暂确认期仍存在,请提交浏览器日志 | | 状态长期“不可观测” | 后端尚未恢复、状态 API 不可达或 bootId 没变化;检查监督器终端,不要把它当作成功 | | 后端恢复但没有续接 | 检查 marker 是否过期、原会话是否存在以及后端日志;失败不会自动改报成功 | | 页面没有自动刷新 | 先验证已经到达 resumed;只有页面确实仍加载旧状态时才手动刷新并提交复现 | | 反复重启 | 监督器应只处理退出码 75,并同时启用插件与监督器的频率限制 | 与其他生命周期工具的关系 - 用户 cordis.patch.yml:已能从 profile 解析的包可事务化 HMR,写 patch 本身不会安装依赖。 - dsh-super-injector:开发态热注入、重载与卸载。 - 本插件:必须重新加载后端或前端 bundle 时,走受监督的正式进程重启。 三者相互独立、定位互补,本插件不冒充、包含、调用或依赖 super-injector。 开发验证 npm test npm pack --dry-run CI 在 Windows + Node.js 22.19 上执行同样检查。报告问题时请附 DSH/Node 版本、监督器输出、已脱敏的状态结果和最小复现步骤。 反馈与社区 插件问题请提交到本仓库 Issues。确认属于 Harness 上游的问题,再前往 DeepSeek Harness Discussions。贡献前请阅读 贡献指南,安全问题请阅读 安全策略。 致谢与项目状态 本项目是独立维护的 DeepSeek Harness 社区插件,并非 DeepSeek 官方产品,也未获得 DeepSeek 的背书、合作或认证。感谢 DeepSeek Harness 团队提供插件平台、bundle 机制与开发文档。 感谢 dsh-super-injector 项目对 DSH 开发态热注入、重载与卸载流程的探索。dsh-super-injector 面向开发态插件生命周期,本插件面向受监督的后端进程重启和同会话续接;两者相互独立、定位互补。本插件不包含、调用或依赖 dsh-super-injector 的实现。 DeepSeek Harness、DeepSeek 及其他第三方项目的名称与商标归各自权利人所有;本文提及这些名称仅用于说明兼容性和项目关系。 许可证 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Asteroid0449/dsh-restart-resume
排空任务后重启后端,自动恢复原会话与页面
相关插件 · 其他
模型破甲清洗YuJunZhiXue/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,148已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,266已汉化DSH
70.7