dsh-deepseek-status-pill:在 DSH Desktop 頂欄掛一盞服務狀態指示燈

前言

在 DSH 上開發或運維智能體時,常遇到一種情況:任務跑不動了,纔想起來去看 DeepSeek 服務狀態。瀏覽器打開狀態頁是一步額外操作,而且狀態頁是網頁,不適合常駐。dsh-deepseek-status-pill 把這件事前置到 Desktop 頂欄:菜單右側常駐一個圓角膠囊,長期顯示 DeepSeek 服務是否正常,需要細節時懸停或鍵盤聚焦即可展開。它不抓取狀態頁 HTML,只訂閱官方公開的 Atom 源,零依賴、裝完即用。

本文按「先講是什麼,再講怎麼裝、怎麼用,最後說限制」的順序介紹這個插件。資料來自其 GitHub README 與 package.json,以及社區目錄條目頁;涉及版本、接口、配置的地方均以原文爲準。

這是什麼

dsh-deepseek-status-pill 是一個 DeepSeek Harness Desktop 頂欄的狀態指示插件,由 Vip4pt 維護,分類爲客戶端。它在「應用」「編輯」菜單右側顯示一盞指示燈與當前狀態文字;懸停或鍵盤聚焦時展開詳情面板,展示最新故障、影響組件、數據來源與讀取錯誤。

它解決的是一個「看見」的問題:狀態異常時不需要切窗口查網頁,直接看頂欄即可;狀態讀取失敗時也有明確的降級表現,不會把「沒讀到」誤顯示成「正常」。

社區目錄條目顯示該插件星標爲 0,許可證爲 MIT。

核心能力

  • 狀態指示:正常爲綠色,故障或狀態讀取失敗爲黃色並帶呼吸光暈,首次加載爲灰色。
  • 詳情面板:膠囊與面板之間無空隙,指針移動不會中斷展開;Esc 立即關閉。
  • Atom 訂閱:數據來自 DeepSeek 狀態服務的公開 Atom 源(https://status.deepseek.com/feed.atom),不抓取狀態頁 HTML,不調用私有接口。
  • 失敗降級:上游不可達時仍顯示上一次成功快照,面板同時給出錯誤信息與上次成功時間。
  • 宿主一致:只使用 --dsw-alias-* 主題令牌,明暗主題跟隨宿主;prefers-reduced-motion 下關閉光暈。
  • 零依賴:無第三方運行時依賴,不 import 任何 Harness Client 包,也不依賴 React。
  • 無配置:不用填 API Key、地址或輪詢間隔。

狀態模型

判定依據是 Atom feed 最新一條條目的 Status: 字段,插件只以最新一條判定,resolved 視爲已恢復。

膠囊狀態 指示燈 膠囊文字 判定條件
正常 綠色 服務正常 最新條目 Status: 爲 resolved,或 feed 爲空
故障 黃色(呼吸光暈) 服務異常 最新條目仍爲 investigating / identified / monitoring / scheduled 等未結束狀態
讀取失敗 黃色(呼吸光暈) 狀態獲取失敗 Host 拉取或解析失敗,或頁面無法訪問 Host 路由
首次檢查 灰色 檢查中… 首個快照尚未返回

Status: 字段缺失時,條目更新時間在 12 小時內按「故障」處理,否則按「正常」處理:寧可短暫偏黃,也不把未結束的故障顯示爲綠色。

安裝與啓用

插件市場與 npm 入口依賴社區目錄收錄;目錄尚未檢索到時,README 提供了插件市場、插件發現、命令行和源碼安裝四種方式。下面列出前三種。

插件市場(Desktop),在 Desktop 內操作:

1、打開 插件 頁,進入 插件市場(dshmarket)。
2、搜索 DeepSeek 服務狀態。
3、在卡片上安裝。

插件發現(Discover),當市場沒收錄時使用。先添加索引源,再搜索同一張卡片安裝:

1、進入 插件 → 發現 → 索引源。
2、添加 https://cdn.jsdelivr.net/npm/dsh-plugin-catalog/index.json。
3、再搜索並安裝。

命令行,用於寫進目標 profile(<profile> 按實際替換)。注意 dsh plugin 寫入的是目標 profile,不影響 Desktop 應用自身管理的 profile:

dsh plugin --profile <profile> add dsh-deepseek-status-pill

源碼安裝方式在 README 的「安裝」一節給出,包含克隆地址與 {"action": "install_bundle", "target": "..."} 的 Plugin Manager 操作。環境要求:宿主爲 DeepSeek Harness / DSH dsh >= 0.2.1-rc.5(見 package.json 的 engines.dsh),操作系統爲 Windows Desktop,且網絡可訪問 https://status.deepseek.com/feed.atom。

典型用法

裝完後頂欄立即出現狀態膠囊,無需額外配置。日常操作如下:

操作 結果
懸停膠囊 展開詳情面板
鍵盤 Tab 聚焦膠囊 展開詳情面板
指針移出 / 失焦 收起詳情面板
Esc 立即關閉詳情面板

詳情面板包含:整體狀態、最新事件標題、事件狀態、事件更新時間、影響組件、事件說明、數據來源與更新時間;讀取失敗時額外顯示錯誤信息與上次成功時間。

工作原理與安全

插件分 Host 半與瀏覽器半。Host 半由 index.js 承擔:只讀訂閱 Atom feed,解析 <entry> 的 title / updated / id / link / summary,從 summary 提取 Status: 與 Affected components:;上游請求 10s 超時、響應體上限 512 KiB,45s 快照緩存並通過 single-flight 合併併發請求,失敗時保留上次成功快照,響應攜帶 state: "error"、error.message 與 lastSuccessAt。數據流如下:

GET https://status.deepseek.com/feed.atom   ← Host 半拉取並解析(Atom)
        │
        ▼
GET /deepseek-status/feed                    ← 同源路由,Host 半緩存 45s
        │
        ▼
頂欄膠囊 + 懸停/聚焦詳情面板

瀏覽器半由 client.js 承擔:每 60s 輪詢 Host 路由,失敗後 15s 重試;頁面不可見時暫停,重新可見時立即刷新。膠囊定位到 Desktop preload 的 [data-windows-menu] 宿主右邊緣右側 10px,語言切換、側欄收起與窗口縮放時重新定位,右側空間不足時自動隱藏。膠囊與面板均聲明 -webkit-app-region: no-drag,不阻塞窗口拖動。

安全方面,同源路由由 dsh-host-webserver 承載,該服務器本身不帶來源策略,校驗在插件內完成。請求必須同時滿足:攜帶自定義頭 x-dsh-deepseek-status: 1(非簡單頭,跨站請求會觸發預檢);以及來自本來源,即存在 Origin 時其 host 必須等於 Host,同源 GET 不發送 Origin 時校驗 Sec-Fetch-Site,並由 SameSite=Strict 的 dsh-auth-* 會話 Cookie 兜底。不滿足條件的請求返回 403,非 GET/HEAD 返回 405,響應帶 Cache-Control: no-store;上游請求只訪問固定的 Atom 地址,服務器只綁定 127.0.0.1。

適用場景與注意事項

適合在 Windows Desktop 上常駐運行、希望第一時間感知 DeepSeek 服務異常的用戶。它適合「常駐看狀態」而不是「告警通知」的用法。

需要注意幾點。插件以當前 dsh 進程的權限運行,安裝前應先檢查源碼與 MIT 許可證。狀態膠囊僅適用 Windows Desktop;macOS Desktop 與瀏覽器頁面不存在 Windows 頂欄,插件在這些環境保持靜默,不渲染任何元素,也不報錯。狀態判定完全依據第三方 Atom 源,源本身未簽名,也不提供組件級實時可用性;事件時間按瀏覽器本地時區顯示。插件市場當前不支持原地升級,新版本會顯示可更新,用戶需卸載後重新安裝。修改已安裝插件的 index.js / client.js 後,需要先移除再安裝或重啓應用,僅覆蓋文件不會熱更新。

目錄頁與倉庫

插件目錄頁:https://www.skillhub.cn/plugins/Vip4pt/dsh-deepseek-status-pill

源碼倉庫:https://github.com/Vip4pt/dsh-deepseek-status-pill

社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。

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

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

小夜