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 仓库。

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

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

小夜