在 DeepSeek Harness 的 WebUI 里加一个「重启 DSH」按钮,并配好 macOS 上 把 DSH…
26.8/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/DEVbyQIN/dsh-web-restart.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 72 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 2 处,展示前 2 条)
- 发起网络请求lib/client.js:33
const res = await fetch(ENDPOINT, { method: "POST", headers: { "accept": "application/json" } }); - 发起网络请求lib/client.js:104
const r = await fetch("/", { method: "GET", cache: "no-store" });
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 网页一键重启
- 崩溃自动拉起恢复
README
由 DeepSeek 最新模型翻译生成dsh-web-restart
在 DeepSeek Harness 的 WebUI 里加一个「重启 DSH」按钮,并配好 macOS 上 把 DSH 变成图标启动 + 崩溃/被杀后自动重启 的基础设施。
- WebUI 重启按钮:侧边栏底部的「⇄ 重启 DSH」按钮。点击后全屏遮罩提示 "正在重启 DSH…",进程退出后由外部守护(launchd)自动拉起,页面自动刷新恢复。
- 外部守护:因为 dsh web 是单 Node 进程,进程一退出 UI 就断线。要让 "重启后能回来",必须由 外部守护 在进程退出后把 dsh web 重新拉起。
本仓库提供 macOS launchd LaunchAgent(launcher/macos/),崩溃/退出自动拉起,可设登录自启。
插件本身无法在死后自举 —— 重启按钮与外部守护是配套的两半,缺一不可。
展开完整文档(README 剩余 1 节)
dsh-web-restart
在 DeepSeek Harness 的 WebUI 里加一个「重启 DSH」按钮,并配好 macOS 上 把 DSH 变成图标启动 + 崩溃/被杀后自动重启 的基础设施。
- WebUI 重启按钮:侧边栏底部的「⇄ 重启 DSH」按钮。点击后全屏遮罩提示 "正在重启 DSH…",进程退出后由外部守护(launchd)自动拉起,页面自动刷新恢复。
- 外部守护:因为 dsh web 是单 Node 进程,进程一退出 UI 就断线。要让 "重启后能回来",必须由 外部守护 在进程退出后把 dsh web 重新拉起。
本仓库提供 macOS launchd LaunchAgent(launcher/macos/),崩溃/退出自动拉起,可设登录自启。
插件本身无法在死后自举 —— 重启按钮与外部守护是配套的两半,缺一不可。
功能
| 能力 | 说明 |
| WebUI 重启按钮 | 侧边栏底部,两段式确认(防误触),触发后全屏遮罩 + 轮询自动恢复 |
| 双通道触发 | 首选 DSH 官方 RPC(remote.commands.execute("/restart")),回退同源 fetch |
| launchd 守护 | KeepAlive 自动拉起崩溃/退出的进程,登录自启 |
| 启动台图标 | AppleScript 编译的 .app,点击启动 + 打开浏览器 |
| 可选 token | host 端点支持 Authorization / X-Dsh-Restart-Token 校验 |
安装到你的 DSH profile
方式 A:从 GitHub 安装(推荐)
在你的 profile 目录(~/.dsh/profiles/web/)里:
cd ~/.dsh/profiles/web
pnpm add "dsh-web-restart@github:<你的用户名>/<仓库名>"
然后在 ~/.dsh/profiles/web/package.json 的 dsh.profile.bundles 数组末尾加上:
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-web-restart" // ← 加这一行 ] } }
重启 dsh web 后生效。
方式 B:本地 link(开发用)
cd ~/.dsh/profiles/web
pnpm add "link:/绝对/路径/dsh-web-restart"
同样在 bundles 里加上 "dsh-web-restart",重启生效。
想改插件默认配置(mode / token / flushMs / enableCommand)?
在 profile 的 cordis.patch.yml 里覆盖:
- id: web-restart
name: dsh-web-restart
token: my-secret
macOS:launchd 守护 + 启动台图标
1) 安装 launchd 守护(自动拉起 + 登录自启)
chmod +x launcher/macos/.sh
launcher/macos/dsh-web-control.sh install
常用命令:
| 命令 | 作用 |
| dsh-web-control.sh status | 查看 launchd 状态 |
| dsh-web-control.sh restart | 手动重启 |
| dsh-web-control.sh stop / start | 停 / 启(停止不解除自启) |
| dsh-web-control.sh uninstall | 卸载 |
日志:~/.dsh/dsh-web.launchd.log 与 ~/.dsh/dsh-web.launchd.err.log。
细节:安装脚本会把 dsh-web-start.sh 复制到 ~/Library/Application Support/dsh-web/ 再交给 launchd —— 因为 macOS TCC 隐私保护下 launchd 无法读取 ~/Documents 等目录里的脚本*。脚本会自动探测 node 与 dsh 的路径(nvm / PATH),也可用 NODE_BIN / DSH_ENTRY / DSH_HOME 环境变量覆盖。
2) 启动台 / Dock 图标
用仓库里的 AppleScript 编译一个 App(macOS 自带 osacompile):
mkdir -p build
osacompile -o build/DSH.app launcher/macos/DSH-Web-Launcher.applescript
(可选)替换图标:准备 dsh.icns 后
cp dsh.icns build/DSH.app/Contents/Resources/
/usr/libexec/PlistBuddy -c "Set :CFBundleIconFile dsh" build/DSH.app/Contents/Info.plist
cp -R build/DSH.app /Applications/
也可以手动做一个 Automator 应用:新建「应用程序」→ 运行 shell 脚本:
~/Library/Application Support/dsh-web/dsh-web-start.sh
sleep 3
open http://127.0.0.1:3080
另存为 DSH.app 拖到 Dock / 启动台即可。图标素材可自行从 http://127.0.0.1:3080/favicon.svg(DSH 官方鱼形 logo)制作。
工作原理
host 端(index.mjs)
- 通过 webServer 服务注册同源 HTTP 端点 POST /api/_dsh/restart (浏览器与 server 同源,fetch 直接可用,不依赖活跃会话)。
- 端点命中 → 返回 202 → 稍作延迟让响应落盘 → 执行退出:
- mode: "exit"(默认):调用 process.exit(),交给 launchd 的 KeepAlive 拉起。
- mode: "exec":在同一进程内 spawn 一个新的 dsh web 并 unref,旧进程退出,适合没有外部守护、从终端手动跑的场景。
- 可选 token 校验;同时注册 /restart slash 命令(enableCommand)。
client 端(lib/client.js)
- 注入侧边栏底部槽 sidebar.footer.action,渲染「⇄ 重启 DSH」按钮。
- 两段式确认防误触;触发后全屏遮罩(挂在 documentElement 上,z-index 最大),每 2 秒轮询服务是否恢复,恢复后自动刷新页面。
- 不依赖 window.confirm(在嵌入/沙箱 WebView 里会被静默禁用)。
目录结构
dsh-web-restart/
├── package.json # dsh 插件清单(host bundle + client inject) ├── index.mjs # host 插件:/api/_dsh/restart 端点 + /restart 命令 ├── cordis.patch.yml # 把 host 插件插入 profile 补丁树 ├── lib/client.js # client 插件:侧边栏「重启 DSH」按钮 + 遮罩 ├── launcher/macos/ │ ├── dsh-web-start.sh # 自动探测 node/dsh 路径的启动脚本 │ ├── com.dsh.web.plist # launchd LaunchAgent(占位符,安装时替换) │ ├── dsh-web-control.sh # install/start/stop/restart/status/uninstall │ ├── takeover.sh # 从手动运行平稳迁移到 launchd │ └── DSH-Web-Launcher.applescript # 启动台图标 App 的源码 ├── validate.mjs # host 插件逻辑自测(node validate.mjs) └── README.md
开发 & 自测
node --check index.mjs lib/client.js # 语法检查
node validate.mjs # host 逻辑自测(桩 ctx,不启动服务)
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
DEVbyQIN/dsh-web-restart
在 DeepSeek Harness 的 WebUI 里加一个「重启 DSH」按钮,并配好 macOS 上 把 DSH…
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,025未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,358已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13938 个插件含 PR 收录与…
★ 350已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7