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。

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

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

小夜