dsh-status:會話標題欄裏的 AI API 狀態膠囊

前言

在 DeepSeek Harness 裏切模型、走網關時,API 是否正常往往要另開瀏覽器查 status 頁。對話進行中頻繁切換標籤,既打斷節奏,也容易漏看某家供應商的局部故障。下面介紹社區插件 cion771/dsh-status(列表名「AI API Status」):在會話標題欄右上角常駐一顆狀態膠囊,按當前會話所選模型匹配 DeepSeek、OpenAI/GPT 或 Anthropic/Claude 的公開狀態源,並用連續燈色反映受損比例。

這是什麼

dsh-status 由維護者 cion771 發佈,分類爲聯網工具;GitHub 倉庫 cion771/dsh-status,當前 package 版本 3.1.0,許可證 MIT。插件掛載在 Harness 插槽 conversation.session.header.utilities,安裝後行 id 爲 dsh-status。

它解決的是「狀態信息離會話太遠」的問題:膠囊跟隨 ctx.modelDirectories 裏每個會話 store 發佈的 { provider, model },同時看適配器組(如 dsh-opencode-go)和模型名(如 opencode-go/gpt-6-luna),避免網關中間層 id 誤導匹配結果。

跟隨當前模型

匹配規則(README 原文摘要):

選擇裏出現 顯示
deepseek DeepSeek 狀態頁
gpt / openai / chatgpt / codex / o3 等 GPT(status.openai.com)
claude / anthropic Claude(status.anthropic.com)
認不出來 三家聚合視圖(不瞎猜單一廠商)

切到某一家時,懸停卡片只展開該供應商,並多兩行:當前模型 … 與類似 其他 GPT 正常 · Claude 待命 的摘要,避免只看一家時失去全局感。

核心功能

膠囊文案與詳情卡

膠囊品牌爲當前供應商名;認不出模型時品牌爲 AI API,文字取三家最壞 headline。常見映射:

膠囊文字 含義
正常 operational(Statuspage none)
性能下降 degraded(minor)
維護中 進行中的維護窗口
部分中斷 partial outage(major)
中斷 full outage(critical)
未知 狀態源取不到

懸停或 Tab 聚焦膠囊會展開詳情:整體徽標、各供應商名稱與狀態、受影響組件(按嚴重度排序)、其餘組件數量、進行中事件(標題、階段、永久鏈接);頁腳爲刷新時間與三個來源鏈接。卡片由 CSS :hover / :focus-within 控制顯隱,不依賴 React 開關狀態。

連續燈色(非四檔)

顏色由受損比例決定,多供應商時取最壞一家的比例:

  • 0:純綠(--dsw-alias-state-success-primary)
  • 組件逐個出問題:綠向琥珀(--dsw-alias-state-warn-primary)混合
  • 0.5:純琥珀(例如「全部只是性能下降」)
  • 再升高:琥珀向紅(--dsw-alias-state-error-primary)混合
  • 1:純紅

權重:full_outage / partial_outage 爲 1,degraded / maintenance 爲 0.5,operational 爲 0;未知按 1 計。取不到數據時 --dsd-health 爲中性灰,不冒充綠色。

服務端聚合與客戶端輪詢

瀏覽器不直連外網,每 60 s 輪詢本地 GET /api/dsh-status/summary。

供應商 上游 頻率(README)
DeepSeek status.deepseek.com 看板 + feed.atom 120 s / 60 s
GPT status.openai.com/api/v2/summary.json 60 s
Claude status.anthropic.com/api/v2/summary.json 60 s

DeepSeek 與兩家 Statuspage JSON 形狀不同:index.js 分別做 RSC/Atom 解析與 Statuspage 歸一化,並帶看板/訂閱互備降級;各供應商獨立緩存,一家失敗標 stale 且不拖垮其餘;三家都不可讀才 unknown,並保留 10 分鐘內舊數據。

安裝與啓用

官方 README 給出的步驟如下。先把倉庫放到本地,再在 Harness 裏用 bundle 安裝(plugin_manager 的 install_bundle,target 填包目錄的絕對路徑)。

git clone https://github.com/cion771/dsh-status.git

安裝完成後,插件列表顯示爲「AI API Status」。社區目錄頁:https://www.skillhub.cn/plugins/cion771/dsh-status(獨立站點,與 DeepSeek / 幻方無官方從屬關係)。

典型用法

安裝並啓用後無需額外配置即可使用:打開任意會話,在標題欄右上角查看膠囊;切換會話模型或 provider 後,膠囊應切換到對應狀態源或聚合視圖。需要細節時懸停或 Tab 到膠囊閱讀分供應商卡片與事件鏈接。

維護者提供的離線測試(無需網絡):

node test/host.test.mjs
node test/client.test.mjs
npm test

npm test 會跑上述兩者(README 寫明 163 條斷言)。

調整項(可選)

  • index.js:PROVIDERS、PAGE_TTL_MS / FEED_TTL_MS / STATUSPAGE_TTL_MS / SNAPSHOT_TTL_MS / STALE_MS
  • client.js:ORDER(越大越靠右)、POLL_MS、HEALTH_PIVOT / HEALTH_WEIGHT、LABEL_KEY、CSS

適用場景與注意

適合經常在 DSH 裏切換 DeepSeek / OpenAI / Anthropic 模型、又希望故障信息貼在會話旁的開發者。插件以當前 DSH 進程權限拉取狀態並註冊 API 路由,安裝前應閱讀 index.js、client.js 與 LICENSE,確認聯網行爲與數據處理方式可接受。

DeepSeek Harness 生態強調「一切皆插件」;本插件星標在目錄線索中爲 0,不代表功能完整性,以倉庫 README 與測試夾具爲準。

結尾

dsh-status 把三家公開 status 源收斂到標題欄一顆膠囊:跟模型走、燈色按受損比例連續變化、詳情卡分供應商展示組件與事件。進一步瞭解可訪問 SkillHub 目錄頁 與 GitHub 倉庫。

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

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

小夜