dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DSH 桌面端(DSH Desktop)左下角的一键重启按钮,位置紧贴账户按钮上边界,外观与账户按钮同一规格。
面向 DSH Desktop,不是
dsh web,也不是社区桌面端 。
DSH 桌面端的宿主进程(Host)由 Electron 壳拉起,壳不会在 Host 死亡后自动重启(它只弹自己的恢复对话框),也没有暴露渲染进程到壳的重启通道。因此:
!app.isPackaged)中出现,打包版没有;dsh-restart、dsh-restart-button)只重启 dsh 宿主进程,在桌面端会留下一个没有宿主的窗口;dshmarket 在桌面端会把重启能力显式标为 managedBy: 'desktop-host',即拒绝代管。本插件补上这一块:由宿主的 HTTP 路由把重启交给一个脱离 Electron 进程树的独立 PowerShell 助手,由它杀掉应用进程树、等端口真正释放、再用同一个可执行文件把应用启动回来。
桌面端 profile 名固定为 desktop(~/.dsh/profiles/desktop)。任选一种:
# 1) release 直链(推荐,无需 git)
dsh plugin --profile desktop add https://github.com/TixAn9/DSHdesktop-restart-bottom/releases/download/v1.0.0/dsh-desktop-restart-1.0.0.tgz
# 2) 从仓库源码安装
dsh plugin --profile desktop add github:TixAn9/DSHdesktop-restart-bottom
# 3) 从本地目录安装
dsh plugin --profile desktop add file:/绝对路径/dsh-desktop-restart
dsh plugin --profile desktop add link:/绝对路径/dsh-desktop-restart # 改动即时生效
也可以粘贴到桌面端自带插件管理器的安装框里。
tarball 直链由 npm pack 产出。可用 spec 形式(插件管理器的 parseInstallSpec 判定):
https://….tgz / https://….tar.gz、github:owner/repo、package@version、绝对路径目录、绝对路径 .tgz。
不支持 .zip 与相对路径。
安装后需要让页面重新加载一次 bundle 才会看到按钮(重开应用,或刷新页面)。
注意:不要用
--profile web。本插件声明dsh.client.platform: web指的是浏览器半的目标平台,桌面端同样加载它;装到 web profile 不会出现在桌面端。
| 部分 | 说明 |
|---|---|
| 位置 | 注册到 sidebar.footer.action 列表槽位。侧边栏脚部 footArea 是纵向容器,依次渲染「动作区」和「账户按钮所在的 settings 区」,因此本槽位最后一行正好紧贴账户按钮上边界 —— 结构性对齐,不用绝对定位或运行时测量。 |
| 外观 | 与账户按钮同规格:height:44px、padding:6px、gap:8px、border-radius:var(--dsw-radius-md)、font-size:14px;前置 24×24 圆形徽标,底色 --dsw-alias-bg-skeleton、图形 --dsw-alias-label-tertiary,全部走主题变量。 |
| 重启 | POST /dsh-desktop-restart,仅接受环回地址 + 同源请求(复用 dshmarket 的判定规则,并把 Origin 按 authority 比较,以兼容桌面端 dsh-app://app 经壳转发、Origin 被改写的情形)。 |
| 助手 | 生成的 PowerShell 脚本写到临时目录,用 -File 以脱离模式启动。不能用分块的 -EncodedCommand:该参数只接受一份载荷,分块会让脚本只执行第一段。 |
| 自检 | 浏览器半没有可达的控制台,因此注册失败会把原因 POST 到 /dsh-desktop-restart/beacon,由宿主写进 %TEMP%\dsh-desktop-restart.log。 |
taskkill /F /T 结束应用进程树(app.quit() 的清理路径在强制结束时不会走完);若端口在等待窗口内始终未释放,助手会放弃启动,避免拉起第二个实例。powershell.exe)。dsh-desktop-restart,与仓库名不同,这不影响使用。仓库根目录带了三个自检脚本,用来在没有页面控制台的情况下验证两半:
node .check-client.mjs # bundle 契约:注册 id、inject、字典、slot 选项
node .check-host.mjs # 宿主路由:方法/环回/同源/转发头等授权判定
node .check-helper.mjs # 生成 PowerShell 助手并做语法解析
MIT