前言¶
在 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 路由提供给前端,浏览器不直接跨域请求状态站。
- 仓库:github.com/gmchocolate/dsh-deepseek-status
- 目录页:skillhub.cn/plugins/gmchocolate/dsh-deepseek-status
- 许可证:MIT(package.json)
- 当前版本:0.1.4
- 能力边界:仅 UI / 体验装饰与 ambient 监控,不注册任何 Agent 工具
插件尚未发布到 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 / 幻方无官方从属关系。