dsh-service-status:在 DSH 里看 DeepSeek 服务状态

前言

DeepSeek Harness(DSH)是「一切皆插件」的设计理念,插件社区有独立的目录页与仓库。DSH Desktop 0.12.0(harness 0.2.0-rc.2)是当前适配的版本。插件 chiqianyushao/dsh-service-status 把 status.deepseek.com 的状态搬进 UI:两枚可切换的状态圆点,一个详情面板,一个 model_status 工具,以及一个设置页。

插件简介

插件由 chiqianyushao 维护,分类为联网工具,当前星标数 1。版本 0.3.0,零运行时依赖。它通过配置的 Atom/RSS feeds 读取 DeepSeek 的服务状态,在 DSH 的输入框工具栏左侧和侧边栏底部各显示一枚圆点。两枚圆点可以分别关闭,订阅地址可在设置页修改。详情面板展示整体状态、被点名的服务/模型、最近事件。模型可以通过 model_status 工具主动询问当前状态,用于判断调用失败是自己的问题还是服务问题。

安装

安装命令来自 README:

dsh plugin add chiqianyushao/dsh-service-status

如果环境不想走 git 依赖,可以使用预构建的 tarball:

dsh plugin add https://github.com/chiqianyushao/dsh-service-status/releases/latest/download/dsh-service-status.tgz

DSH Desktop 在侧栏选择「插件」→「添加插件」,粘贴 https://github.com/chiqianyushao/dsh-service-status,安装后重启 DeepSeek Harness。桌面端的 profile 由 Electron 独占,不要用 dsh plugin --profile desktop … 安装。仓库已提交 lib/,因此从 GitHub 安装不需要构建、也不需要授权构建脚本。

显示位置与状态

圆点显示在两处:输入框工具栏左侧(与模型选择器同一行)和侧边栏底部(设置按钮旁)。两处都可以在设置页关闭,关闭后不会留下空白间距。圆点颜色与状态词如下:

圆点 词 什么时候
绿 服务正常 最近窗口里没有未解决事件
黄 服务降级 最新未解决事件处于 monitoring / 计划维护
红 服务异常 最新未解决事件处于 investigating / identified
灰 状态未知 一次都没读到(不是「挂了」)

「降级」和「异常」的圆点会带一圈同色光晕,扫一眼侧边栏就能判断是否不是绿的,而不必读字。

设置页

设置页位于「设置 → 服务状态」。这里做三件事:

  1. 显示位置:两个开关,分别控制输入框工具栏与侧边栏底部。关掉的位置完全不占布局。
  2. 订阅地址:一行一个 URL,可以增删改。每一行带「测试」按钮,使用生产读取代码,当场返回连接状态与事件数或失败原因。
  3. 保存 / 恢复默认:保存后立即生效,圆点出现或消失,面板用新地址重读。

配置文件位置:<harness home>/service-status/config.json($DSH_HOME 为 Desktop 的 harness 目录)。内容为 { version, seats: { composer, footer }, feeds: [...] }。写入是原子的(临时文件 + rename),断电或崩溃不会留下半个配置把插件弄哑。文件损坏或读不出来时,插件会回到默认值并记一条日志。

地址规则:只接受 http/https,最多 8 个,重复地址会被去掉。全部无效时回退到默认的两个地址。

model_status 工具

在模型上下文中,插件提供了一个 model_status 工具。它可以返回当前状态、未解决事件、相关分量和事件链接。模型在判定「这次调用失败到底怪谁」之前,可以先问一句,从而避免把服务端的问题归咎于工具调用。

架构说明

插件分为 host 半和浏览器半。host 半负责读取 feeds,因为 https://status.deepseek.com/feed.atom 与 feed.rss 不带 CORS 头,浏览器直接 fetch 会被拦截。host 半解析、归一后缓存 60 秒,再通过路由返回给浏览器半。浏览器半显示圆点、详情面板和设置页。路由包括 GET /dsh-service-status/status、GET /dsh-service-status/config、POST /dsh-service-status/config、POST /dsh-service-status/check。

面板内容包括标题旁的状态胶囊、更新时间、读取失败时的黄色提示(仍显示上一次结果)、被最近事件点名过的服务/模型、最近 5 条事件(状态词 + 相对时间 + 原文链接),以及通往状态页的入口。

视觉实现

弹层使用 harness 的设计 token,确保在浅色/深色下都像原生卡片。底色不透明,避免文字透上来。面板使用 popover="manual" + showPopover() 提升到 top layer,避免被其他层叠上下文遮挡。定位使用 position: fixed,通过圆点的视口坐标计算位置,避免定位问题。

面板内部为「滚动区 + 钉住的页脚」,事件再多也不会把「打开状态页」挤到视野外。动效只有两处:弹层 140ms 的淡入上浮、刷新时图标旋转,两者在 prefers-reduced-motion 下关闭。

适用场景与注意

适合需要在开发与调试过程中快速判断 DeepSeek 服务状态的 DSH 用户。插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。配置文件可能被意外修改,插件会记录日志并回退到默认值。

小结

dsh-service-status 把 status.deepseek.com 的信息整合到 DSH 界面中,用两枚圆点和详情面板让状态一目了然,同时给模型提供 model_status 工具,帮助它判断调用失败的原因。插件零依赖、可配置、可测试,适合作为调试与运维的辅助工具。

目录页与 GitHub

插件目录页
GitHub 仓库

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

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

小夜