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

一键重启 AllenLogo/dsh-restart-button

DeepSeek Harnessv0.1.2
AllenLogo53 天前有提交已提供中文文档扫描:含敏感能力

在设置页一键重启宿主进程并自动刷新页面

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

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

自动兼容检查有告警:npm 同名包「dsh-restart-button」归属 jiqiu0709/dsh-restart-button,装到的可能不是本插件。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add AllenLogo/dsh-restart-button
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · dev
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/25·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 53 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安装兼容性检查⚠ 装前注意

npm 同名包「dsh-restart-button」归属 jiqiu0709/dsh-restart-button,装到的可能不是本插件

展开查看检查明细 ↓

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

✓npm 包dsh-restart-button @ 0.1.2
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 02:03:42

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

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

可执行外部命令
查看扫描证据(共 2 处,展示前 2 条)
  • 执行外部命令来自配置/变量
    lib/index.js:122
    const helper = spawn(process.execPath, ['-e', helperSource(logOut, logErr, port, delayMs + 800)], {
  • 执行外部命令来自配置/变量
    src/index.ts:220
    const helper = spawn(process.execPath, ['-e', helperSource(logOut, logErr, port, delayMs + 800)], {
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 一键重启宿主进程
  • 自动刷新页面

DSH 设置 → General 里的一键重启按钮:重启宿主进程并自动刷新页面。DeepSeek Harness Web GUI 的一键重启行(DSH 0.1.5+)。

README

由 DeepSeek 最新模型翻译生成
dsh-restart-button 在 DeepSeek Harness Web 界面的设置 → General 里加一行「重启」:点一下就重启正在服务这个页面的宿主进程,新宿主起来后页面自动刷新。不用开终端、不用 systemctl、不用去找当初敲 dsh web 的那个窗口。 会话是按事件持久化在 ~/.dsh/sessions 的,重启不会丢;正在跑的轮次会被中断,挂起的审批问题不会保留(行内提示里已写明)。 功能 - 设置 → General 一行,与官方那几行同款:标题 + 说明 + 右侧 36px 胶囊按钮(立即重启 / 重启中…)。 - 重启语义贴合宿主真实的监管方式: - systemd 监管下(单元里设置了 INVOCATION_ID/JOURNAL_STREAM):响应刷出后干净退出,交给 Restart=always 拉起。此路径绝不自己 spawn 替代进程 —— 那样会和监管者抢端口、并逃出它的 cgroup。 - 无监管(裸终端、pnpm dev):detached node 助手等端口释放后用完全相同的命令行重启,日志写 /tmp/dsh-restart-button-.{out,err}.log。 - 重启后该行轮询 boot id,新宿主就绪即自动刷新页面(60 秒预算)。 - 非环回客户端上该行退化为只读文案,而不是给一个按不动的按钮。
展开完整文档(README 剩余 1 节)
dsh-restart-button

在 DeepSeek Harness Web 界面的设置 → General 里加一行「重启」:点一下就重启正在服务这个页面的宿主进程,新宿主起来后页面自动刷新。不用开终端、不用 systemctl、不用去找当初敲 dsh web 的那个窗口。

会话是按事件持久化在 ~/.dsh/sessions 的,重启不会丢;正在跑的轮次会被中断,挂起的审批问题不会保留(行内提示里已写明)。

功能

- 设置 → General 一行,与官方那几行同款:标题 + 说明 + 右侧 36px 胶囊按钮(立即重启 / 重启中…)。
- 重启语义贴合宿主真实的监管方式:
- systemd 监管下(单元里设置了 INVOCATION_ID/JOURNAL_STREAM):响应刷出后干净退出,交给 Restart=always 拉起。此路径绝不自己 spawn 替代进程 —— 那样会和监管者抢端口、并逃出它的 cgroup。
- 无监管(裸终端、pnpm dev):detached node 助手等端口释放后用完全相同的命令行重启,日志写 /tmp/dsh-restart-button-.{out,err}.log。
- 重启后该行轮询 boot id,新宿主就绪即自动刷新页面(60 秒预算)。
- 非环回客户端上该行退化为只读文案,而不是给一个按不动的按钮。

兼容性

| DSH | 状态 |
| >=0.1.5-rc.1 | ✅ 支持(声明在 engines.dsh) |
| <=0.1.4 | ❌ 不支持 —— 下面的通道挂载依赖 0.1.5 的 Web 路由 / requestRejection 形态 |

浏览器半与宿主半之间只有一条带栅栏的 HTTP 通道 /_dsh-restart-button,载荷就是浏览器半本来就在说的 Connection RPC 信封({type:'client-request',rpcId,method,payload} → {type:'server-response',rpcId,result})。端点:status(boot id)与 restart。

为什么路由由插件自己挂,而不是 ctx.connection.rpc.handle(): 0.1.5 的这个注册表走的是 owner.webServer.register(...),而 owner 是 Connection 服务自身的 context(其 inject 只有 credentials)。cordis 4 对服务属性读取做 inject 门禁,于是调用抛 cannot get property "webServer" without inject;这个异常发生在插件 ctx.inject() 的子纤维里,只会让子纤维失败 —— 插件条目依旧显示 active,通道静默消失。在调用方的 inject 列表里加 webServer 也没用:被门禁的是服务自身的 context,不是调用方的。

所以插件改用官方为这件事准备的两块公开能力:

- webServer.register({ kind: 'prefix', path: '/_dsh-restart-button', handler }) —— 由功能自有的 Web 路由;
- connection.requestRejection(req) —— 官方描述为「把 Connection 的 Host/Origin 检查与浏览器认证施加到另一条 Web 路由」,也就是 /api 用的同一道栅栏(可信 authority + 浏览器会话 cookie),并且先于任何请求字节解析执行(未认证 401、跨站 403)。

两者都以结构化类型消费(运行时不 import 任何 SDK 包),这也是宿主半能跨 DSH 小版本继续工作的原因。

安装

装进 web profile(本地检出方式): "dsh-restart-button": "file:/path/to/dsh-restart-button"
cd ~/.dsh/profiles/web && pnpm install
然后重启一次 dsh,让插件树加载它

插件自己注册通道;它需要 connection 与 webServer 两个服务,即 Web profile。

开发

pnpm install
pnpm typecheck # 宿主半 + 浏览器半
pnpm build # lib/index.js、lib/client.js、lib/types/*

- 宿主半:src/index.ts(TypeScript → lib/index.js,声明文件到 lib/types/)。
- 浏览器半:src/client/*(tsdown → lib/client.js,一个 CJS 包进客户端模块表;只有 react/react-dom 保持 external)。
- cordis.patch.yml 是加载器入口行(dsh.bundle.patch),用来挂载宿主半。

许可

MIT © 2026 allenlogo
预览分享卡片长什么样 ↓AllenLogo/dsh-restart-button
分享 · DeepSeek Harness Hub
AllenLogo/dsh-restart-button

在设置页一键重启宿主进程并自动刷新页面

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部