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

一键重启 KiiiiiG/dsh-harness-restart

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

从侧边栏一键退出并重新启动桌面应用

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

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

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

状态速览

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

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

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 34 处,展示前 28 条)
  • 读取本地文件
    index.js:30
    return JSON.parse(readFileSync(join(PACKAGE_ROOT, 'package.json'), 'utf8')).version || '0.0.0'
  • 写入本地文件
    index.js:107
    mkdirSync(directory, { recursive: true })
  • 写入本地文件
    index.js:127
    writeFileSync(file, body, 'utf8')
  • 写入本地文件
    index.js:404
    writeFileSync(planPath, `${JSON.stringify(plan, null, 2)}\n`, 'utf8')
  • 执行外部命令来自配置/变量
    index.js:464
    const child = spawn(process.execPath, [HELPER_PATH, planPath], {
  • 读取本地文件
    index.js:494
    helper: { path: HELPER_PATH, exists: existsSync(HELPER_PATH) },
  • 读取本地文件
    index.js:506
    if (info.desktop && existsSync(info.execPath)) {
  • 发起网络请求
    index.js:524
    const response = await fetch(`${origin}${ROUTE_BASE}/status`, {
  • 发起网络请求
    index.js:547
    const response = await fetch(`${origin}${ROUTE_BASE}/restart?${query}`, {
  • 读取本地文件
    index.js:608
    if (info.execPath === undefined || !existsSync(info.execPath)) return
  • 读取本地文件
    index.js:612
    if (existsSync(okMarker)) return
  • 删除本地文件
    index.js:617
    rmSync(marker, { force: true })
  • 写入本地文件
    index.js:618
    writeFileSync(targetScript, 'setTimeout(() => {}, 60000)\n', 'utf8')
  • 写入本地文件
    index.js:619
    writeFileSync(
  • 执行外部命令来自配置/变量
    index.js:632
    target = spawn(process.execPath, [targetScript], {
  • 写入本地文件
    index.js:656
    writeFileSync(built.planPath, `${JSON.stringify(built.plan, null, 2)}\n`, 'utf8')
  • 读取本地文件
    index.js:668
    ok: existsSync(marker) && !targetAlive,
  • 执行外部命令来自配置/变量
    index.js:694
    const result = spawnSync(process.execPath, ['--check', file], {
  • 发起网络请求
    client.js:297
    const response = await fetch(`${BASE}/restart?force=${force ? '1' : '0'}`, {
  • 发起网络请求
    client.js:344
    const response = await fetch(`${BASE}/status`, { cache: 'no-store' })
  • 写入本地文件
    helper.mjs:47
    mkdirSync(dirname(plan.logFile), { recursive: true })
  • 写入本地文件
    helper.mjs:48
    appendFileSync(plan.logFile, `${new Date().toISOString()} [helper:${process.pid}] ${line}\n`)
  • 执行外部命令固定命令
    helper.mjs:59
    const result = spawnSync('taskkill', ['/F', '/PID', String(pid)], {
  • 执行外部命令来自配置/变量
    helper.mjs:99
    const child = spawn(plan.launch.exe, plan.launch.args, {
  • 读取本地文件
    helper.mjs:117
    plan = JSON.parse(readFileSync(planFile, 'utf8'))
  • 写入本地文件
    helper.mjs:146
    writeFileSync(`${planFile}.failed`, `${String(error && error.stack ? error.stack : error)}\n`)
  • 读取本地文件
    helper.mjs:175
    plan = JSON.parse(readFileSync(planFile, 'utf8'))
  • 执行外部命令来自配置/变量
    helper.mjs:179
    const child = spawn(process.execPath, [SELF, '--detached', planFile], {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

一键重启 DeepSeek Harness:侧边栏入口,外加一个进程外辅助程序,退出并重新启动桌面应用。

README

由 DeepSeek 最新模型翻译生成
dsh-harness-restart — 一键重启 DeepSeek Harness 在左侧栏的全局面板列表(Plugins、Market、Schedules 那一列)里加一个「重启」入口:点一下,整个 DeepSeek Harness(桌面端是完整的 Electron 应用,CLI 是当前 dsh 进程)会退出并自动重新启动。 重启这件事不能由被重启的进程自己完成,所以插件只负责准备计划,真正「杀进程 + 重新拉起」的是一个进程外助手 helper.mjs: 1. 插件先启动助手的第一段(stage 1),它立刻再启动一个 detached 的第二段(stage 2)后退出; 2. stage 2 等待约 1.5 秒(让按钮的 HTTP 响应先回到页面),按计划终止应用进程; 3. 等应用进程与 Host 进程都退出后,用原来的可执行文件和参数重新启动; 4. 全过程写入 $DSH_HOME/dsh-harness-restart/logs/,失败时留下证据。
展开完整文档(README 剩余 1 节)
dsh-harness-restart — 一键重启 DeepSeek Harness

在左侧栏的全局面板列表(Plugins、Market、Schedules 那一列)里加一个「重启」入口:点一下,整个 DeepSeek Harness(桌面端是完整的 Electron 应用,CLI 是当前 dsh 进程)会退出并自动重新启动。

重启这件事不能由被重启的进程自己完成,所以插件只负责准备计划,真正「杀进程 + 重新拉起」的是一个进程外助手 helper.mjs:

1. 插件先启动助手的第一段(stage 1),它立刻再启动一个 detached 的第二段(stage 2)后退出;
2. stage 2 等待约 1.5 秒(让按钮的 HTTP 响应先回到页面),按计划终止应用进程;
3. 等应用进程与 Host 进程都退出后,用原来的可执行文件和参数重新启动;
4. 全过程写入 $DSH_HOME/dsh-harness-restart/logs/,失败时留下证据。

安装

这个目录本身就是一个 DSH bundle(dsh.bundle.patch 指向 cordis.patch.yml),没有构建步骤,也不需要 npm install:

- 插件管理器:在 DSH 设置 → 插件里用「安装」选择这个目录,或调用 plugin_manager 的 install_bundle,target 指向目录的绝对路径;
- CLI:dsh plugin --profile <profile> add file:<这个目录的绝对路径>。

装好后需要重启一次 DSH(这次可以手动重启;之后就可以用侧边栏里的「重启」了)。

用法

安装后刷新页面,左侧栏的面板列表里会出现一个圆形箭头 +「重启」的入口:

- 点一下会打开重启面板并立即发起重启,没有任务时不需要第二次确认;
- 有任务或后台作业在运行时:面板会变成确认页,点「停止任务并重启」才执行,可以「返回会话」取消;
- 重启期间面板显示“正在重启 DeepSeek Harness…”,随后窗口自动关闭并重新打开;
- 如果请求失败,面板会显示原因,并提供「重试」与「返回会话」。

如果应用没有自己回来

插件会在 $DSH_HOME/dsh-harness-restart/ 下生成双击即可启动的回退脚本:

- start-deepseek-harness.cmd(Windows)
- start-deepseek-harness.bat(同上)

日志在 $DSH_HOME/dsh-harness-restart/logs/,最近一次重启计划在 plans/。

自检

插件激活后会做一次自检(每个版本一次):

- 检查 index.js、helper.mjs、client.js 的语法;
- 检查控制接口能否返回状态;
- 用一次真实的 终止 → 等待 → 重新启动流程拉起一个无害的 Node 进程(不碰应用本身);
- 用 POST /dsh-harness-restart/restart?dry=1(只生成计划、不执行)验证按钮实际发出的请求:合法桌面请求返回 200 与正确的 exe / killPids;缺 x-dsh-restart 头、跨站请求、异源 Origin 分别返回 403;有任务运行时 force=0 返回 409(确认卡片的数据来源)。

结果写入 dsh-harness-restart/preflight.json 的 selfTest 与 probes 字段,以及 self-test-<版本>.ok。dry=1 永远不会启动助手,可以随时用来做无副作用诊断。

配置

在 profile 的 cordis.patch.yml 里按行 id 覆盖:

- id: dsh-harness-restart
config:
delayMs: 1500 # 响应页面后等多久才终止应用(毫秒) graceMs: 12000 # 等应用与 Host 自行退出的最长时间(毫秒),超时强制终止 selfTest: true # 是否运行一次性的进程外自检 allowRemote: false # 是否允许非回环地址调用控制接口(默认只允许本机)

安全边界

- 控制接口只接受回环 / 桌面壳同源的请求,并要求 x-dsh-restart: 1 请求头;
- 跨站请求(Sec-Fetch-Site: cross-site 或不同源的 Origin)一律拒绝;
- 重启默认会检查正在运行的智能体与后台作业,不会静默打断它们;
- 重启计划($DSH_HOME/dsh-harness-restart/plans/*.json)会记录启动时的完整环境变量(原样重启所需),保存在 $DSH_HOME 下,可能包含令牌等敏感值——不要把这个目录提交到仓库或分享出去。

兼容性

- 桌面端:process.versions.electron 存在时,重启应用主进程(DeepSeek Harness.exe)。
- CLI:普通 Node 宿主下,用相同的 process.execPath 与 process.argv 重新启动当前进程。
预览分享卡片长什么样 ↓KiiiiiG/dsh-harness-restart
分享 · DeepSeek Harness Hub
KiiiiiG/dsh-harness-restart

从侧边栏一键退出并重新启动桌面应用

这是你的仓库?认领条目

回到顶部