dsh-weather:DeepSeek Harness 的天气查询插件

前言

在 DSH 这类「一切皆插件」的智能体环境里,很多外部能力都要通过插件接入。天气查询是一个典型需求:如果直接接第三方天气接口,往往还需要注册、申请 API key、处理配额。dsh-weather 的数据源是 Open-Meteo,免费、无需 API key、无需注册,插件只负责把查询参数传给 Open-Meteo,再把结果交给模型使用。

这是什么

dsh-weather 是一个 DeepSeek Harness 插件,由 sunshine-lang 维护,许可证为 MIT。它给 DSH 提供 get_weather 工具,用于查询任意城市或地点的实时天气,以及最多 7 天的多日预报。天气数据来自 Open-Meteo。

核心功能

  • 提供 get_weather 工具,可查询实时温度、体感温度、湿度、风速与天气状况。
  • 支持可选多日预报,最多 7 天,返回每日最高/最低温度与天气状况。
  • 支持摄氏 / 华氏温度单位。
  • 数据来自 Open-Meteo,免费、无需 API key、无需注册。

调用参数如下:

location: 必填
units: 可选,celsius | fahrenheit
days: 可选,1–7

units 用于指定温度单位;days 用于指定预报天数。

安装

已核实资料中给出了如下 GitHub 安装命令:

dsh plugin --profile web add "github:sunshine-lang/dsh-weather"

这条命令把 dsh-weather 安装到 web profile。DSH 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。dsh-weather 的许可证为 MIT,天气数据 © Open-Meteo。

典型用法

启动 Web UI 后,可以直接向模型提问。已核实的示例包括:

上海现在天气怎么样?

如果希望指定单位和预报天数,可以这样问:

查一下东京的天气,用华氏度,并给出 3 天预报。

模型随后会调用 get_weather。参数中 location 必填,units 可传 celsiusfahrenheitdays 范围是 1 到 7。

配置与限制

默认配置如下:

defaultUnits=celsius
timeoutMs=10000
maxForecastDays=7

defaultUnits 表示模型未传 units 时使用的温度单位;timeoutMs 表示每次天气 API 调用的超时时间,单位为毫秒;maxForecastDays 表示 days 参数的上限。

如果配置无效,插件加载会直接失败,并给出可操作的错误信息。

本地源码与运行环境

如果从本地源码安装或开发,资料提示:pnpmlink: 方式的本地依赖不会自动安装其依赖,需要手动添加:

dsh plugin --profile web add @deepseek-ai/dsh-tools @deepseek-ai/cordis @deepseek-ai/schemastery

package.json 要求 Node 版本满足:

>=22.19

结尾

dsh-weather 的作用比较集中:在 DSH 的 Web UI 中提供一个天气查询工具,不需要额外申请 Open-Meteo 账号或 API key,同时保留摄氏 / 华氏单位和最多 7 天预报的控制。

社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。已核实资料未给出目录页 URL,本文不列出具体地址。

项目仓库:

https://github.com/sunshine-lang/dsh-weather
羽毛球分组比赛记分
小程序二维码

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

小夜