前言¶
在 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_MSclient.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 仓库。