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

重启续跑 NutshellLee/dsh-agent-restart

DeepSeek Harness
NutshellLee14 天前有提交已提供中文文档扫描:含敏感能力

重启后自动开新回合接着完成未做完的任务

29.4/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add NutshellLee/dsh-agent-restart
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · chat
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 14 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件
查看扫描证据(共 10 处,展示前 10 条)
  • 读取本地文件
    lib/index.js:22
    return JSON.parse(readFileSync(file, "utf8"));
  • 读取本地文件
    lib/index.js:30
    return statSync(LOG()).size;
  • 读取本地文件
    lib/index.js:44
    const fresh = existsSync(FLAG()) && Date.now() - statSync(FLAG()).mtimeMs < FRESH_MS;
  • 读取本地文件
    lib/index.js:44
    const fresh = existsSync(FLAG()) && Date.now() - statSync(FLAG()).mtimeMs < FRESH_MS;
  • 写入本地文件
    lib/index.js:57
    mkdirSync(WORK_DIR(), { recursive: true });
  • 写入本地文件
    lib/index.js:58
    writeFileSync(VOICE_RESUME(), JSON.stringify({ sessionId: resume.voiceSessionId, at: new Date().toISOString() }), "utf8");
  • 读取本地文件
    lib/index.js:68
    if (existsSync(FLAG())) rmSync(FLAG(), { force: true });
  • 删除本地文件
    lib/index.js:68
    if (existsSync(FLAG())) rmSync(FLAG(), { force: true });
  • 写入本地文件
    lib/index.js:171
    mkdirSync(dir, { recursive: true });
  • 执行外部命令来自配置/变量
    lib/index.js:232
    const r = spawnSync(psExe, ["-NoProfile", "-ExecutionPolicy", "Bypass", "-WindowStyle", "Minimized", "-File", launcher], {
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

智能体主动重启 DeepSeek Harness:记录日志、通过 WMI 重新拉起、重启后自动续跑。Windows 平台。

README

由 DeepSeek 最新模型翻译生成
dsh-agent-restart(重启插件) 让 DeepSeek Harness(DSH NEXT 桌面版)在 agent 自己重启之后,能自动接着把没做完的事做完。 它解决什么问题 重启会杀掉当前回合,而且新回合只有被触发才会开始。普通做法要么靠人再开口,要么丢上下文重来。这个插件把重启做成流程的一部分: - 重启前记下待办,重启后自动开一个新回合接着做,不需要用户重述。 - 只对 agent 自己触发的重启生效;用户手动关闭再打开应用,什么都不做。 兼容性 - 适配 DSH NEXT 桌面版 2.0.17-next(附带的 @deepseek-ai/* 为 0.2.0-rc.2)。 - 仅 Windows:重启依赖 PowerShell 与 WMI。 - 使用的是宿主上下文里的会话服务(sessionController、sessions)来排续跑消息;DSH 升级后这些内部接口可能变化,升级后需要重新验证。插件不承诺兼容旧版本 DSH,遇到不兼容会如实报错,不会静默失败。 功能 1. 重启工具 restart_harness - 写重启日志(原因、待办、语音状态、会话 id),生成外部助手脚本。
展开完整文档(README 剩余 1 节)
dsh-agent-restart(重启插件)

让 DeepSeek Harness(DSH NEXT 桌面版)在 agent 自己重启之后,能自动接着把没做完的事做完。

它解决什么问题

重启会杀掉当前回合,而且新回合只有被触发才会开始。普通做法要么靠人再开口,要么丢上下文重来。这个插件把重启做成流程的一部分:

- 重启前记下待办,重启后自动开一个新回合接着做,不需要用户重述。
- 只对 agent 自己触发的重启生效;用户手动关闭再打开应用,什么都不做。

兼容性

- 适配 DSH NEXT 桌面版 2.0.17-next(附带的 @deepseek-ai/* 为 0.2.0-rc.2)。
- 仅 Windows:重启依赖 PowerShell 与 WMI。
- 使用的是宿主上下文里的会话服务(sessionController、sessions)来排续跑消息;DSH 升级后这些内部接口可能变化,升级后需要重新验证。插件不承诺兼容旧版本 DSH,遇到不兼容会如实报错,不会静默失败。

功能

1. 重启工具 restart_harness

- 写重启日志(原因、待办、语音状态、会话 id),生成外部助手脚本。
- 同步拉起一个 PowerShell 启动器,由它发一次 WMI 调用创建助手进程(脱离应用进程树):助手等几秒、杀掉应用、等进程退干净、写一次性标记、再拉起应用。工具会检查启动器退出码和助手的第一行日志,再决定报成功还是失败。
- 拉起后检查 restart.log 确认助手进程是否真的启动;没启动就按失败处理,不谎报成功。

2. 重启后自动续跑

- 应用就绪(插件加载)后 5 秒,给会话排一条来源为 restart 的消息,开一个新回合继续做。
- 只排一次,不建目标、不标完成、不注入系统提示;失败每 3 秒重试,最多 6 次。
- 界面上显示为“收到执行请求”的系统提示,不是用户发言。

3. 与语音插件的文件交接

- 重启前记下语音是否开着,启动时写 voice-resume.json。
- 语音插件(dsh-voice-mode-desktop)自己读这个文件决定要不要自动恢复语音;两个插件可以独立安装,互不依赖。

为什么这样设计

- 外部助手进程 + WMI:这是本机验证过唯一可靠的重启方式,不依赖应用内拿不到的 Electron 对象。
- 一次性续跑:续跑只需要接一次,干完自然结束,不需要目标、轮次上限或完成标记这些额外机制。
- 文件交接:两个插件职责分开,重启插件不碰语音逻辑,语音插件不碰重启逻辑。

和语音插件的联动

重启前,插件把语音状态(开没开、当前语音会话 id)写进重启日志;重启后写一份 voice-resume.json 交接文件。语音插件(dsh-voice-mode-desktop)启动时读它,决定要不要自动恢复语音模式,恢复成功后回执并删掉交接文件。

所以重启能保住语音状态:重启前开着,回来还是开着,可以直接按住说话。只有 agent 自己触发的重启才走这条联动;用户手动关闭再打开应用,没有一次性标记,不会自动恢复语音。

两个插件可以各自独立安装:不装语音插件,重启照常工作,只是没有语音恢复;装了语音插件,联动自动生效,不需要额外配置。

为什么不用应用内接口、也不用社区重启插件

应用内直接重启(Electron 的 relaunch)看起来最干净,但在 DSH 桌面版里这条路走不通:插件跑在宿主子进程里,拿不到 Electron 的 app 对象;渲染层倒是有重启命令,但要弹原生确认框,而且必须经由界面层转发。想绕开确认框就得改 DSH 主进程的代码,那是平台核心,升级会覆盖或冲突,不值得。

社区的重启插件也评估过:它们自己带一个看门狗进程和一条带 token 的 HTTP 路由,等于把外部进程再包一层,零件更多,还要跟着 DSH 版本做适配,代价比收益大。

所以这里用外部助手进程 + WMI:助手脱离应用进程树,是这台机器上唯一验证可靠的重启方式;不改 DSH 核心,插件自己可以独立升级。

执行流程

1. agent 调用 restart_harness(reason, pending),插件写 restart-journal.json(原因、待办、语音状态、会话 id)。
2. 插件生成外部助手脚本,用 WMI 创建助手进程(脱离应用进程树,应用被杀时它不会跟着死)。
3. 助手等待几秒 → 强杀 DSH NEXT → 等进程退干净 → 写一次性标记 agent-restart.flag → 拉起应用。
4. 新进程启动:插件看到标记才读 journal(用户手动开应用没有标记,不触发);写 voice-resume.json 交给语音插件,然后删标记。
5. 应用就绪 5 秒后,插件给会话排一条来源为 restart 的续跑消息,开一个新回合。
6. agent 接着把待办做完并汇报;journal 状态变成 continued。

安装

要求:Windows、DSH NEXT 桌面版 2.0.17-next、系统自带 PowerShell 与 WMI。

方式 A(推荐):

1. 安装 npm 包:npm install @nutshelllee/dsh-agent-restart(或装进 DSH profile 的依赖里)。
2. 在 profile 的 cordis.patch.yml 里插入:- id: agent-restart, name: "@nutshelllee/dsh-agent-restart"。
3. 重启 DSH,工具列表里会出现 restart_harness。

方式 B(本地开发):把本仓库目录链接到 profile 的 node_modules/@nutshelllee/dsh-agent-restart,再按上面第 2、3 步操作。

已知限制

- 重启需要一条能脱离应用进程树的外部路径。启动器是同步调用的,退出码会被检查;退出码非 0 或助手没写出第一行日志时,工具如实报出具体失败,不谎报成功。
- 仅 Windows。
- 语音自动恢复只有装了语音插件才生效。

安装(本地开发)

1. 把本目录链接进 profile 的 node_modules/@nutshelllee/dsh-agent-restart。
2. 在 profile 的 cordis.patch.yml 里插入 - id: agent-restart, name: "@nutshelllee/dsh-agent-restart"。
3. 重启 DSH。

许可证

MIT,见 LICENSE。
预览分享卡片长什么样 ↓NutshellLee/dsh-agent-restart
分享 · DeepSeek Harness Hub
NutshellLee/dsh-agent-restart

重启后自动开新回合接着完成未做完的任务

这是你的仓库?认领条目

回到顶部