guoPhineas/dsh-weather-sky ↗★ 0
@deepseek-ai/dsh-weather-sky
Weather & Sky: IP-based live weather visualization for the DeepSeek Harness browser UI (sun/moon with phases, clouds, rain/snow/fog/thunder) with conversation controls.
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗dsh-weather-sky
一个 DeepSeek Harness(DSH)插件:在浏览器界面叠加一层实时天气与天空动画——白天显示太阳,夜晚显示带真实月相的月亮,并按天气呈现云、雨(随强度自适应)、雪、雾,以及周期性的闪电。它通过 IP 自动定位,从 Open-Meteo 获取实时天气(无需 API key),并注册对话工具,让用户可以直接用自然语言切换地点、强制天气或查看未来预报。
特性
| 能力 | 说明 |
|---|---|
| IP 定位 | 依次使用 ipwho.is → ipapi.co(免费、无需 key) |
| 实时天气 | Open-Meteo current(温度、天气码、昼夜、风速、云量、降水) |
| 未来预报 | weather_set_time 可查看未来某时刻(如「明天 14:00」) |
| 昼夜切换 | 白天太阳,夜晚月亮 + 星星 |
| 月相 | 计算并可视化月相(新月 → 娥眉月 → 上弦月 → 盈凸月 → 满月 → 亏凸月 → 下弦月 → 残月) |
| 日月运动 | 太阳按太阳时东升—中天—西落划弧;月亮按时间 + 月相划弧 |
| 天气可视化 | 云、雨(随强度缩放)、雪、雾、雷暴闪电(约每 6 秒一次) |
| 不遮挡文字 | 整层 pointer-events:none、低透明度、半透明状态胶囊 |
| 对话工具 | weather_set_location、weather_set_condition、weather_set_time、weather_reset |
天气码映射
| WMO 码 | 条件 | 视觉 |
|---|---|---|
| 0 | 晴 clear | 太阳 / 月亮 |
| 1–2 | 局部多云 partly-cloudy | 太阳 + 少量云 |
| 3 | 阴 cloudy | 云,无日月 |
| 45/48 | 雾 fog | 漂移雾层 |
| 51–57 | 毛毛雨 drizzle | 小雨滴 |
| 61/63/65 | 小雨/中雨/大雨 | 雨滴随强度自适应 |
| 71/73/75 | 小雪/中雪/大雪 | 飘雪 |
| 80–82 | 阵雨 → 暴雨 | 雨滴随强度自适应 |
| 85/86 | 阵雪 | 飘雪 |
| 95–99 | 雷暴 thunderstorm | 深云 + 大雨 + 闪电 |
目录结构
src/
├── index.ts # Host 半侧:WeatherSkyService(TypertRemoteService + @Remote)
├── invariant.ts # invariant 伴生插件
├── types.ts # 共享类型(WeatherSnapshot、WeatherCondition 等)
└── client/index.ts # Client 半侧:shell.overlay 动画层
tsdown.config.ts # 构建(tsdown + typert 生成器)
package.json # 清单:dsh.client、exports、peerDeps