dsh-sidebar-actions:在侧边栏底部补上刷新、重启与退出

前言

DeepSeek Harness(DSH)桌面端左侧边栏没有浏览器里常见的「重新加载」入口,Ctrl+R 也不在菜单里。改完插件或 profile 之后,往往需要整进程退出再拉起,才能让宿主重新读配置。若只靠关窗口或任务管理器,既慢也容易误杀别的进程。

dsh-sidebar-actions 是社区维护的客户端插件,由 jiboda394-glitch 发布,在侧边栏底部固定三个操作:刷新、重启、退出。本文依据仓库 README 与 package.json(当前版本 1.0.1,MIT 许可证)整理安装方式与行为边界。

这是什么

插件全名对应仓库 jiboda394-glitch/dsh-sidebar-actions,分类属于 DSH 生态里的客户端能力:页面侧挂载 UI,必要时通过本机 API 与 Windows 桌面壳配合完成重启与退出。

  • 刷新:仅 location.reload(),重新加载 Web 界面。
  • 重启 / 退出:依赖桌面 shell;纯 dsh web 环境下这两项会禁用,只保留刷新。

侧边栏展开时显示图标与文字;折叠为 56px 窄栏时收成单按钮,点开为三行菜单。重启与退出需 4 秒内连点两次确认,降低误关应用的概率。非桌面环境或调用失败时,按钮旁会出现小红点,悬停可看原因。

核心功能

刷新

弥补桌面端缺少「重新加载」的问题,装完插件后也可用它完成首次挂载后的页面刷新。

重启

退出桌面端后,用同一条原始命令行再次启动,使插件改动、profile 改动随新进程生效。实现上分两条路径(插件通过 GET /dsh-sidebar-actions/api/state 的 via 字段报告当前模式):

  1. 优雅桥接(graceful):主进程轮询请求文件并调用 app.relaunch() / app.quit(),与托盘菜单同源,运行中任务可走原生确认框。需宿主侧存在桥接标记 %LOCALAPPDATA%\dsh-restart.bridge(README 提供可选 app.asar 补丁片段)。
  2. 独立助手(forced,Windows):无桥接时,用户级计划任务 DSH-SidebarActions 运行 scripts/dsh-stop.ps1,在应用进程树外结束 shell 并拉起可执行文件。适用于未打补丁的原版应用,但是强制结束,不会弹出「当前任务会被中断」的原生提示,故 UI 强制二次确认。

桥接方若在 2.5 秒内未消费请求文件,会自动退回独立助手路径。

退出

关闭桌面端;同样走 graceful 或 forced,且受环境与校验约束(例如 PowerShell 校验 process.ppid 须为桌面 shell,避免杀错渲染进程)。

状态与自检

用途 地址或位置
运行状态 GET /dsh-sidebar-actions/api/state
只读自检 GET /dsh-sidebar-actions/api/diagnose
插件日志 %LOCALAPPDATA%\dsh-sidebar-actions\host.log
助手日志 %LOCALAPPDATA%\dsh-sidebar-actions\helper.log

/diagnose 的 checks 含 desktop、shellReachable、helperReady、routeReady、clientMounted 等项;应用升级后先访问该地址,比反复点按钮排错更快。

安装与启用

插件以当前 dsh 进程权限 运行;安装前建议在 GitHub 查看源码与 MIT 许可证。社区目录页:https://www.skillhub.cn/plugins/jiboda394-glitch/dsh-sidebar-actions,与 DeepSeek / 幻方无官方从属关系。

DSH Desktop

  1. 打开 设置 → 插件(或插件市场)。
  2. 选择「从本地目录安装」并选中本包目录,或将 dist/dsh-sidebar-actions-1.0.0.tgz 路径填入安装框(Releases 中亦有 dsh-sidebar-actions-<版本>.tgz 可离线分发)。
  3. 安装完成后刷新一次页面,底部出现三个按钮。

普通 dsh web

dsh plugin --profile <profile> add ./dsh-sidebar-actions-<版本>.tgz
# 或直接从 GitHub 安装(源码):
dsh plugin --profile <profile> add github:jiboda394-glitch/dsh-sidebar-actions
# 或用 release 里的 tarball 地址(版本号按需替换):
dsh plugin --profile <profile> add https://github.com/jiboda394-glitch/dsh-sidebar-actions/releases/download/v1.0.1/dsh-sidebar-actions-1.0.1.tgz

装完后重启一次 dsh web。此环境下仅刷新可用,重启与退出会被禁用,属设计行为。

典型用法

日常开发插件或改 profile 时:

  1. 小改动:点 刷新 即可重载界面。
  2. 需宿主重读配置:点 重启,4 秒内再次确认;若 /state 中 via 为 graceful,行为接近托盘重启;若为 forced,请接受可能中断当前任务。
  3. 结束会话:点 退出 并二次确认。

升级 DSH 桌面端之后,在浏览器打开同源地址:

GET /dsh-sidebar-actions/api/diagnose

确认各项 checks 为预期;clientMounted 在宿主刚重载时可能为 false,刷新页面后再看。

排查 Windows 助手是否注册:

schtasks /query /tn DSH-SidebarActions /v /fo list

适用场景与注意

适合谁:主要在 DeepSeek Harness Desktop 0.2.x(Windows) 上长期开壳、频繁装插件或改 profile 的开发者;浏览器里跑 dsh web 的用户只需「刷新」价值。

兼容性:README 写明不绑定私有 DSH API;强制重启路径为 Windows 专属,其他平台仅能使用桥接。API 仅接受同源 POST,不联网、不收集数据。

可选优雅路径:若愿意自行修改 resources/app.asar 中 lib/main.js(每次应用升级会覆盖),可按 README「可选:让重启走优雅路径」插入轮询片段;不打补丁也能用 forced 路径。

卸载:在设置中移除,或:

dsh plugin --profile <profile> remove dsh-sidebar-actions

可选清理计划任务与本地目录:

schtasks /delete /tn DSH-SidebarActions /f
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\dsh-sidebar-actions"

结尾

dsh-sidebar-actions 把侧边栏底部变成固定的会话控制条:刷新补菜单空缺,重启与退出在 Windows 桌面端提供 graceful / forced 双路径,并用状态接口与日志支撑排错。需要安装包或实现细节时,见社区目录 skillhub.cn 与仓库 github.com/jiboda394-glitch/dsh-sidebar-actions。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye