dsh-deepseek-status: Real-time DeepSeek service status indicator in the sidebar

前言

在 DeepSeek Harness 里跑 Agent 或调试 Web 客户端时,API 变慢、对话失败并不总是本地配置问题——上游平台可能正处于降级或部分中断。单独打开浏览器标签页盯 status.deepseek.com,会打断你在 Harness 里的工作流。社区插件 dsh-deepseek-status(维护者 gmchocolate)把公开状态页的数据收进 Harness 左侧栏底部:一根可扫视的发光灯管,悬停或键盘聚焦时展开完整状态卡片。它不增加 Agent 工具,属于界面与体验类扩展;SkillHub 目录将其归类为联网工具。

这是什么

dsh-deepseek-status 是一个 DeepSeek Harness 插件 bundle:在左侧栏 footer 注册 sidebar.footer.action 槽位,展示来自 status.deepseek.com 的实时平台状态。数据经宿主侧同源 JSON 路由提供给前端,浏览器不直接跨域请求状态站。

插件尚未发布到 npm,因此不会出现在 Harness 应用内「插件中心」(该列表仅一键 npm 插件);社区市场仍可用下文 GitHub 源安装命令收录。

核心功能

侧栏状态灯

灯管样式:玻璃边框内 10 段发光单元,带柔光与下方 faint spill。宽侧栏约 34px 长,折叠 56px 侧栏轨约 25px,位于 footer 行左缘。

颜色对应整体或推导状态:

状态 颜色
operational 绿
maintenance 蓝
degraded 琥珀,慢速呼吸动画
partial outage 橙红
full outage 红,较快脉冲
status unavailable 灰

在 prefers-reduced-motion 下会关闭 degraded / full outage 的动画。

悬停与聚焦卡片

鼠标悬停或键盘聚焦灯管时,显示固定定位卡片,内容包括:

  • 平台整体状态
  • 按 section 分组的服务组件及各自状态
  • 进行中的 incident / maintenance 窗口、最新更新、受影响组件与时间
  • 上游来源名称

文案通过宿主 locale 服务支持 英文与中文;颜色使用宿主主题 token,随浅色 / 深色主题切换。

数据路径(为何需要 Host 半部)

status.deepseek.com 为 Next.js App Router 页面,实时数据嵌在 HTML 的 React flight payload 中,且源站 不提供 CORS,浏览器无法直接读取。插件因此拆成两半:

status.deepseek.com ──fetch(HTML + flight payload)──▶ Host 半部 (index.js)
                                                       │ 归一化为一份 snapshot
                                                       ▼
                        GET /plugins/deepseek-status.json  (同源)
                                                       │
                                                       ▼
                                                    Client 半部 (client.js)
  • Host 半部:每 90s 拉取状态页,解析 initialData(组件目录与 active changes,affected_components[].status 为各组件当前状态);解析失败时回退 history.rss。结果在同源精确路由上提供 JSON。
  • Client 半部:注册侧栏 footer,每 60s 轮询该路由,并在标签页重新可见时刷新;绘制灯管与卡片。

对外仅每 90 秒一次 HTTPS GET 到公开状态页(失败时用 RSS),不读凭据与本地文件。

安装与启用

将 web 换成你实际使用的 profile(desktop、web 或自定义)。底层等价于 pnpm add,从 GitHub 检出包安装。

dsh plugin --profile web add github:gmchocolate/dsh-deepseek-status

安装后 重新加载 Harness Web 页面 一次;客户端 bundle 按页加载提供。

本地 checkout 也可通过 Harness plugin_manager 的 install_bundle 安装绝对路径目录;README 同时给出了 git clone 步骤,本文不展开 clone 流程。

典型用法

安装并重载页面后无需额外配置即可使用:看侧栏底部灯色判断平台是否正常;需要明细时悬停灯管。

开发与维护者可用仓库内脚本验证解析与渲染(需 Node 18+,与 DSH 自带 Node 一致):

npm test            # 离线:flight 解析、归一化、客户端渲染
npm run test:live   # 可选:对真实状态页做一次 live 解析

README 记录的 live 输出示例(节选):

live: overall=degraded
live: counts={"operational":4,"maintenance":0,"degraded":3,"partial_outage":0,"full_outage":0}

运行时调参写在 无 schema 配置 的源码顶部:index.js 中 REFRESH_MS、ROUTE_PATH、FETCH_TIMEOUT_MS;灯管几何在 client.js(如 LAMP_CELLS、.dss-cell 宽高)。

适用场景与注意

适合:长期在 Harness Web / Desktop 中开发或运维 DeepSeek 相关 Agent,希望在同一界面内感知官方状态页变化,而不额外开标签。

兼容与要求(来自 README):

项 说明
DeepSeek Harness 在 Desktop runtime 0.2.1-rc.5 开发与验证;仅用稳定扩展点
平台 macOS 已验证;Windows / Linux 预期可用(纯 JS),未验证
依赖 无第三方依赖、无构建步骤
权限 无 Agent 工具、无凭据、无文件系统访问

安装前建议:插件以当前 DSH 进程权限运行;安装前阅读仓库源码与 MIT 许可证。JSON 路由对同源 GET/HEAD 无鉴权,仅承载公开状态页数据,且绑定 Harness 监听器。

已知限制:

  • 上游 HTML 结构变化时先 RSS 兜底,再可能显示灰色「状态不可用」。
  • 悬浮卡片使用 position: fixed;若宿主给侧栏祖先加了 transform,卡片位置可能偏移。

结尾

dsh-deepseek-status 把 status.deepseek.com 的公开状态收敛到 Harness 侧栏:一眼看灯色,悬停看组件与事件。属于 DSH「一切皆插件」生态中的社区联网 / 界面类扩展,目录由 SkillHub 等独立站点维护,与 DeepSeek / 幻方无官方从属关系。

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

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

Xiaoye