- Inicio
- Plugins
- Mejoras de UI
- dsh-deepseek-status
dsh-deepseek-status
mengls1620/dsh-deepseek-status
Shows DeepSeek's official service status in the DSH session header, including overall and per-component status, uptime percentages, and active or recent incidents. A maintained fork of KekuKase/dsh-deepseek-status (published as @mengls1620/dsh-deepseek-status since 0.1.6); do not install it alongside the original dsh-deepseek-status — both register the same /deepseek-status route and plugin row id.
Instalar
dsh plugin --profile web add github:mengls1620/dsh-deepseek-statusREADME
dsh-deepseek-status(@mengls1620 维护版)
A DeepSeek Harness (DSH) plugin that shows the live DeepSeek official service status (status.deepseek.com) in the Web UI session header — overall status, per-component statuses, active/recent incidents, and uptime percentages.
DeepSeek Harness 插件:在 Web UI 会话头部实时显示 DeepSeek 官方服务状态(status.deepseek.com 同源数据)。
维护说明 / Maintenance
- 本仓库是
KekuKase/dsh-deepseek-status的维护 fork。从 0.1.4 起由 MengLs1620 接手代码维护(跟随 DSH 新版本适配、修复问题);从 0.1.6 起以@mengls1620/dsh-deepseek-status独立发布并维护 npm 包。- npm 包名改为
@mengls1620/dsh-deepseek-status(首次发布于 0.1.6)。作者名下的旧包dsh-deepseek-status(最新 0.1.3)已不再维护,在 DSH 0.2.x 上启动会报installSection is not a function。- This is a maintained fork. MengLs1620 has maintained the code since 0.1.4 (DSH compatibility and bug fixes), and since 0.1.6 maintains and publishes it independently on npm as
@mengls1620/dsh-deepseek-status. The originaldsh-deepseek-statuspackage (0.1.3) is unmaintained and fails on DSH 0.2.x.
- 状态点 + 文字:绿=所有系统运行正常 / 蓝=维护中 / 黄=性能下降 / 橙=部分故障 / 红=严重故障 / 灰=状态未知
- 点击展开面板:总体状态、最后更新时间、各组件状态、进行中的事件/维护、最近事件、各组件可用率(uptime%)
- 宿主进程每 60s 轮询官方状态页并解析(Next.js SSR flight 数据),浏览器每 30s 拉取本地同源路由(无 CORS 问题)
- 上游故障时保留最后一次成功快照并显示「更新于 X 分钟前」,绝不显示假"正常"
兼容性
| 插件版本 | DSH | 说明 |
|---|---|---|
| 0.1.7 | 0.2.x | 发布链路验证版:代码 / 行为 / 配置与 0.1.6 完全相同,仅版本号 +1;用于验证 npm trusted publishing(GitHub Release → GitHub Actions 自动发布,无需 token)。 |
| 0.1.6 | 0.2.x | 状态面板改为不透明:DSH 0.2.2 的菜单色 --dsw-specific-menu 只有 64% 不透明,之前会透出页面文字;现在把同一颜色叠在不透明底色上,观感不变、不再透字。无行为/配置变化。 |
| 0.1.5 | 0.2.x | 恢复设置界面(两段式:宿主侧字段声明 .volatile(),浏览器半区注册配置卡片),保存后无需重启即生效。 |
| 0.1.4 | 0.2.x | 移除 DSH 0.2 已删除的设置接缝(installSettingsSection / settings.installSection / settings/updated),配置改由 profile patch 中该行的 config 提供。注意:0.1.4 起设置界面不可见,0.1.5 才把它恢复。 |
| 0.1.2 / 0.1.3 | 0.1.x | 使用旧设置接口(installSettingsSection / settings.installSection),支持在设置里改轮询间隔并热更新。 |
0.1.5 实测环境:Windows + DSH 0.2.0-rc.2(@deepseek-ai/dsh 0.2.0-rc.2、@deepseek-ai/schemastery 3.18.4);npm test 17 项通过。
0.1.6 实测环境:Windows + DSH 0.2.2-rc.1(@deepseek-ai/dsh 0.2.2-rc.1、@deepseek-ai/schemastery 3.19.0);重启后面板不透明、挂件与 120 秒轮询正常;npm test 17 项通过。
0.1.7 与 0.1.6 代码完全相同:仅版本号变化,0.1.6 的实测结论同样适用;本版用于验证 GitHub Actions trusted publishing 发布链路(打 Release 自动发 npm,不再使用 token)。
0.1.6 是维护 fork 的首个独立发布版(以新包名发布到 npm):代码与上游 0.1.5 + 面板不透明修复相同,只改了包名、浏览器模块 id、宿主行 name 和设置卡片 key;npm 包名为 @mengls1620/dsh-deepseek-status。
- 配置变化后始终只保留一个轮询定时器;
- 上游不可用时,面板保留最后一次成功快照并同时提示抓取失败,绝不显示假「正常」。
⚠️ 关于 0.1.x(未核实):0.1.5 的浏览器半区会注入 0.2 的设置服务(configForms)来注册配置卡片。
若 0.1.x 的客户端没有该服务,按 Cordis 的语义整个浏览器半区会保持 pending(即状态挂件也不会出现)。
这一点我没有在 0.1.x 上实测过,所以不确定;如果你在 0.1.x 上使用,请先备份,或先用 0.1.3。
若需要 0.1.5 无条件兼容 0.1.x(最坏情况下只是不显示配置区),把该依赖改成可选注入即可。
此验证针对上述版本与场景,不代表对未来所有 DSH 版本的保证。
安装
# 从 npm(0.1.6 起为 scoped 包名;推荐)
dsh plugin --profile web add @mengls1620/dsh-deepseek-status
# 或从本地 checkout / tarball
dsh plugin --profile web add ./dsh-deepseek-status
dsh plugin --profile web add ./mengls1620-dsh-deepseek-status-0.1.7.tgz
⚠️ 从旧版迁移:如果你之前装过旧的
dsh-deepseek-status(作者 npm 名下的 0.1.3,或直接装的 tarball),先卸载旧包再装新包:dsh plugin --profile web remove dsh-deepseek-status。两个包会注册同一个路由/deepseek-status/current和同一个行 id,不能同时存在,设置项也会按新包名重置一次。旧包
dsh-deepseek-status在 DSH 0.2.x 上启动即报installSection is not a function,不要再使用;它的 npm 页面已不再更新。
安装后重启 dsh web(新客户端插件需要重启进程才会被扫描进浏览器清单),即可在会话头部看到状态点(点击展开详情面板)。
桌面端则是在侧栏「插件」页安装/查看,profile 名为 desktop;升级或替换已安装的插件包后同样需要完全重启客户端(宿主代码不会热加载)。
也可以从本仓库源码构建安装包(npm 还没同步时用):
git clone https://github.com/MengLs1620/dsh-deepseek-status.git
cd dsh-deepseek-status
npm pack
dsh plugin --profile web add ./mengls1620-dsh-deepseek-status-0.1.7.tgz
npm test 运行回归测试;npm pack 会先执行语法检查和测试。
其中一项测试会用真实的 @deepseek-ai/schemastery 校验配置 schema——该 peer 依赖未安装时它会自动跳过(其余测试照常运行)。
配置
默认无需配置。三种覆盖方式(生效优先级从低到高):
- profile patch 覆盖本 bundle 的行:
# $DSH_HOME/profiles/web/cordis.patch.yml - id: deepseek-status config: pollIntervalMs: 120000 $DSH_HOME/settings.yaml(旧版 DSH 的兼容路径;DSH 0.2 起由设置表单写入 profile patch)- 侧栏 插件页(内置插件 / 已装插件)里本插件的配置区,可改上面三项并保存。
表单是两段式实现的,因为 DSH 0.2 不会按 schema 自动建表单(autoGenerate 只是随数据传递、没有任何客户端读它):
- 宿主半区把三个
Config字段声明为.volatile()——Host 设置服务只投影易变字段,这是表单能被describe()出来的前提; - 浏览器半区注册一张配置卡片,key 必须与插件页自己拼的完全一致:
plugins.bundle.config→@mengls1620/dsh-deepseek-status(包名)plugins.row.config→@mengls1620/dsh-deepseek-status#deepseek-status(`${包名}#${行id}`) 注册还包在ctx.configForms.whileServed([...])里,只有宿主真的提供该命名空间时才注册;两处注册都独立 try/catch,失败只记警告,绝不影响状态挂件。
保存后无需重启:易变字段解析成可读引用,Cordis 把「仅易变字段变化」提交进运行中的引用并广播 loader/volatile-update,插件据此重新挂载轮询定时器。实测:把间隔从 60000 改成 120000 并保存后,下一次抓取正好在 120 秒后发生,全程未重启。
| 配置项 | 默认值 | 说明 |
|---|---|---|
statusUrl | https://status.deepseek.com/ | 状态页地址(可换其它 Flashcat 状态页) |
pollIntervalMs | 60000 | 上游轮询间隔(毫秒,15000–3600000) |
timeoutMs | 15000 | 单次抓取超时(毫秒,5000–120000) |
数据源与机制
- 官方页面
https://status.deepseek.com/由 Flashcat(FlashDuty) 托管,是 Next.js SSR 页面;全部状态数据内嵌在首页 HTML 的 flight 负载中,插件在宿主侧抓取并容错解析(按字段名定位 JSON 区域,解析失败回退并保留上次成功快照)。 - 轮询是外部状态数据的固有形态(官方页面自身也是轮询/重试)。
- 非 web profile 下宿主行因缺少
webServer服务保持 pending,无副作用。
卸载
dsh plugin --profile web remove @mengls1620/dsh-deepseek-status
License
MIT
Plugins relacionados
dsh-web (dsh-task-board)
zhu1090093659/dsh-web
dsh-web (dsh-web-all)
zhu1090093659/dsh-web
dsh-TUI
ccch1mneyyy/dsh-tui
dsh-web-ui (dsh-task-board)
zhu1090093659/dsh-web-ui