前言¶
在 Windows 上把 DeepSeek Harness(DSH)用 Edge 或 Chrome「安裝爲應用」後,桌面或任務欄會多一個看起來像獨立軟件的圖標。雙擊它執行的其實是瀏覽器代理命令,目標只是 http://127.0.0.1:3080/ 這類本地地址;dsh web 沒跑起來時,點圖標只會看到錯誤頁。瀏覽器出於安全設計,不允許 PWA 快捷方式直接拉起本機進程,所以「點圖標就順帶把服務拉起來」不能指望快捷方式本身完成。
社區插件 dsh-pwa-launcher(維護者 liudapeng0311,分類:客戶端)接管的正是這一次雙擊:保留你已有的圖標與外觀,把背後要執行的邏輯換成啓動器;並在 Web 界面會話標題右側增加「重啓 | 版本」膠囊,用於整進程重啓與 dsh 自助升級(含失敗回滾)。僅支持 Windows 10/11,許可證爲 MIT。插件以當前 dsh 進程權限運行,安裝前請自行查看源碼與許可證。
這是什麼¶
dsh-pwa-launcher 是 DSH 的 web profile 插件(包名 dsh-pwa-launcher,當前資料中版本爲 1.11.0)。它做兩件事:
- 桌面側:識別並接管瀏覽器生成的 PWA 快捷方式(可配置爲自行新建),部署
%LOCALAPPDATA%\DeepSeekHarness下的啓動腳本;雙擊時若服務未就緒則靜默拉起dsh web,就緒後再用瀏覽器應用窗口打開界面。 - Web 側:在 dsh 官方擴展槽
conversation.session.header.utilities註冊 UI,提供重啓與版本檢查/升級,不修改 dsh 核心、也不 import dsh 內部包。
DeepSeek Harness 生態強調「一切皆插件」;SkillHub 目錄頁 是社區站點,與 DeepSeek / 幻方無官方從屬關係。
核心功能¶
雙擊圖標:拉起服務再開窗¶
裝插件之前,服務未運行 → 雙擊 → 錯誤頁。裝之後:
| 雙擊桌面圖標 | |
|---|---|
| 裝之前 | 服務沒跑 → 錯誤頁 |
| 裝之後 | 服務沒跑 → 自動拉起 → 界面打開;關掉應用窗口後服務仍在 |
行爲要點(來自 README):
- 服務已在運行 → 直接開窗,延遲在毫秒級。
- 端口被其他程序佔用 → 彈窗說明,不強行佔用。
- 鏈路概覽:快捷方式 →
launcher.vbs(無窗口)→launch.ps1→ 必要時隱藏啓動dsh web→ HTTP 就緒後用帶令牌的 app URL 開窗。
會話頭部「⟳ 重啓 | 版本」膠囊¶
入口在有會話時會話標題右側,與 dsh 自帶的「在文件資源管理器中打開工作目錄」同一行。空白會話時 dsh 會隱藏整個會話頭部,此時看不到該膠囊;發一條消息後即可出現。
重啓:二次確認後整進程重啓(當前任務/會話會停),窗口輪詢新服務並重連;完成判據包含進程指紋變化,避免老進程仍應答 ready 時誤刷新。
版本:啓動後宿主在後臺只讀查詢 npm registry(默認包 @deepseek-ai/dsh 的 dist-tags,當前運行版本默認對照 @deepseek-ai/dsh-base),關注 latest / next / alpha;可多候選時彈出選版卡。一鍵升級流程爲停服務 → 備份 → npm install → 校驗 → 重啓;任一步失敗自動回滾。allowSelfUpdate: false 時僅提醒不安裝。
安裝與啓用¶
該包尚未發佈到 npm,需用 GitHub 源碼 tarball 直鏈安裝(避免 github: 形式觸發 pnpm 的 SSH 解析)。在已安裝 DSH 的環境中執行:
dsh plugin --profile web add https://github.com/liudapeng0311/dsh-pwa-launcher/archive/refs/heads/main.tar.gz
安裝完成後重啓一次 dsh(Ctrl+C 停掉再啓動)。插件會在 dsh 啓動時部署啓動器並接管/創建快捷方式;首次生效後桌面或開始菜單會出現 DeepSeek Harness 圖標(名稱可在配置裏改)。
若你平時是手動跑 Web 服務,可繼續:
dsh web
跟到特定版本時,將 URL 中的 main 換成對應 tag 名即可。
典型用法¶
日常:雙擊桌面圖標¶
與裝 PWA 後習慣一致,無需額外命令;差異在於背後會先保證本地 dsh web 可用。
卸載(順序勿反)¶
先還原快捷方式,再從 profile 移除插件:
powershell -File "$env:LOCALAPPDATA\DeepSeekHarness\scripts\shortcut.ps1" -Action Uninstall
dsh plugin --profile web remove dsh-pwa-launcher
若先 remove 插件,桌面圖標可能仍指向舊啓動器,且不再有組件刷新它。
手動腳本(PowerShell)¶
不經過雙擊、或需要只停服務時使用:
# 只拉服務不開窗
powershell -File "$env:LOCALAPPDATA\DeepSeekHarness\scripts\launch.ps1" -NoOpen -Visible
# 停服務
powershell -File "$env:LOCALAPPDATA\DeepSeekHarness\scripts\stop.ps1"
# 重新接管 / 還原快捷方式
powershell -File "$env:LOCALAPPDATA\DeepSeekHarness\scripts\shortcut.ps1" -Action Install
powershell -File "$env:LOCALAPPDATA\DeepSeekHarness\scripts\shortcut.ps1" -Action Uninstall
配置¶
修改插件包內 cordis.patch.yml 中 pwa-launcher 一行的 config,重啓 dsh 生效;若在設置 GUI 中改過,用戶層配置會覆蓋 patch 文件。
常用項示例:
| 鍵 | 默認 | 說明 |
|---|---|---|
shortcutName |
DeepSeek Harness |
快捷方式名稱,也是優先接管匹配依據 |
adoptBrowserShortcut |
true |
true 接管瀏覽器 PWA 圖標;false 自建 |
desktop / startMenu |
true |
圖標放置位置 |
browser |
auto |
auto / edge / chrome / default |
appMode |
true |
應用窗口或普通標籤頁 |
startTimeoutSec |
120 |
等待服務就緒上限(秒) |
checkForUpdates |
true |
關閉則版本檢查與相關路由不註冊 |
allowSelfUpdate |
true |
是否允許一鍵升級 |
updateChannels |
[latest, next, alpha] |
通道順序即保守 → 激進 |
完整鍵表見 GitHub README 配置一節。
適用場景與注意¶
適合誰:主要在 Windows 上用瀏覽器「安裝爲應用」固定 DSH,又希望雙擊圖標等價於「先起服務、再進界面」,並希望在 Web 裏重啓實例或按通道自助升級 dsh 的用戶。
環境要求:package.json 聲明 os: ["win32"],engines.node >= 22;非 Windows 平臺不在支持範圍內。
權限與安全:插件通過 PowerShell 部署啓動器、可能執行 npm install 升級 dsh,均以當前運行 dsh 的用戶權限執行。安裝前請閱讀倉庫源碼與 MIT 許可證,確認可接受本地腳本與網絡訪問 registry 的行爲。
排錯:日誌與狀態文件位於:
%LOCALAPPDATA%\DeepSeekHarness\logs\desktop.log
%LOCALAPPDATA%\DeepSeekHarness\logs\update.log
%LOCALAPPDATA%\DeepSeekHarness\launcher.json
版本膠囊長期顯示「檢查…」時,優先確認 checkForUpdates 未被關閉,以及 GUI 設置是否覆蓋了 patch。會話頭部完全沒有膠囊時,檢查是否已有會話、頁面是否完整刷新、控制台是否有 client-modules: 開頭報錯。
結尾¶
dsh-pwa-launcher 補上了 PWA 快捷方式無法拉起本機進程這一環:外觀仍是原來的桌面圖標,行爲變成可用的 DSH 啓動器,並在會話頂欄提供重啓與可回滾的自助升級。進一步瞭解與 issue 反饋見 SkillHub 目錄 與 GitHub 倉庫。